From 47b0b948f1d2414cbf43c3dbe0f30844e9b6a66e Mon Sep 17 00:00:00 2001
From: Alex Richert <alexander.richert@noaa.gov>
Date: Mon, 22 Jan 2024 17:47:59 -0800
Subject: [PATCH] v5.0.0

---
 annotated.html                                |    2 +-
 bicubic__interp__mod_8F90.html                |    2 +-
 bicubic__interp__mod_8F90_source.html         |    2 +-
 bilinear__interp__mod_8F90.html               |    2 +-
 bilinear__interp__mod_8F90_source.html        |    2 +-
 budget__interp__mod_8F90.html                 |    2 +-
 budget__interp__mod_8F90_source.html          |    2 +-
 classes.html                                  |    2 +-
 dir_49e56c817e5e54854c35e136979f97ca.html     |    2 +-
 dir_68267d1309a1af8e8297ef4c3efbcdba.html     |  167 +-
 earth__radius__mod_8F90.html                  |    2 +-
 earth__radius__mod_8F90_source.html           |    2 +-
 fftpack_8F.html                               | 2006 +++++++++++++++++
 fftpack_8F.js                                 |   25 +
 fftpack_8F_source.html                        | 1458 ++++++++++++
 files.html                                    |  119 +-
 files_dup.js                                  |   57 +-
 functions.html                                |    2 +-
 functions_func.html                           |    2 +-
 functions_vars.html                           |    2 +-
 gdswzd__c_8F90.html                           |    2 +-
 gdswzd__c_8F90_source.html                    |    2 +-
 gdswzd__mod_8F90.html                         |    2 +-
 gdswzd__mod_8F90_source.html                  |    2 +-
 globals.html                                  |  269 ++-
 globals_func.html                             |  269 ++-
 hierarchy.html                                |    2 +-
 index.html                                    | 1273 +++++++----
 ...__interp__mod_1_1interpolate__bicubic.html |    2 +-
 ..._interp__mod_1_1interpolate__bilinear.html |    2 +-
 ...t__interp__mod_1_1interpolate__budget.html |    2 +-
 interfacegdswzd__mod_1_1gdswzd.html           |    2 +-
 ...__descriptor__mod_1_1init__descriptor.html |    2 +-
 ...scriptor__mod_1_1operator_07_0a_0a_08.html |    2 +-
 ...eip__grid__factory__mod_1_1init__grid.html |    2 +-
 ...aceip__grid__mod_1_1gdswzd__interface.html |    2 +-
 ...__grid__mod_1_1init__grib1__interface.html |    2 +-
 ...__grid__mod_1_1init__grib2__interface.html |    2 +-
 ...ip__grid__mod_1_1operator_07_0a_0a_08.html |    2 +-
 interfaceipolates__mod_1_1ipolates.html       |    2 +-
 interfaceipolatev__mod_1_1ipolatev.html       |    2 +-
 ..._mod_1_1interpolate__neighbor__budget.html |    6 +-
 ..._interp__mod_1_1interpolate__neighbor.html |    2 +-
 ..._interp__mod_1_1interpolate__spectral.html |    2 +-
 ...facespectral__interp__mod_1_1polates4.html |   10 +-
 ...facespectral__interp__mod_1_1polatev4.html |   10 +-
 ip__constants__mod_8F90.html                  |    2 +-
 ip__constants__mod_8F90_source.html           |    2 +-
 ip__equid__cylind__grid__mod_8F90.html        |    2 +-
 ip__equid__cylind__grid__mod_8F90_source.html |    2 +-
 ip__gaussian__grid__mod_8F90.html             |    2 +-
 ip__gaussian__grid__mod_8F90_source.html      |    5 +-
 ip__grid__descriptor__mod_8F90.html           |    2 +-
 ip__grid__descriptor__mod_8F90_source.html    |    2 +-
 ip__grid__factory__mod_8F90.html              |    2 +-
 ip__grid__factory__mod_8F90_source.html       |    2 +-
 ip__grid__mod_8F90.html                       |    2 +-
 ip__grid__mod_8F90_source.html                |    2 +-
 ip__grids__mod_8F90.html                      |    2 +-
 ip__grids__mod_8F90_source.html               |    2 +-
 ip__interpolators__mod_8F90.html              |    2 +-
 ip__interpolators__mod_8F90_source.html       |    2 +-
 ip__lambert__conf__grid__mod_8F90.html        |    2 +-
 ip__lambert__conf__grid__mod_8F90_source.html |    2 +-
 ip__mercator__grid__mod_8F90.html             |    2 +-
 ip__mercator__grid__mod_8F90_source.html      |    2 +-
 ip__mod_8F90.html                             |    2 +-
 ip__mod_8F90_source.html                      |    2 +-
 ip__polar__stereo__grid__mod_8F90.html        |    2 +-
 ip__polar__stereo__grid__mod_8F90_source.html |    2 +-
 ip__rot__equid__cylind__egrid__mod_8F90.html  |    2 +-
 ...equid__cylind__egrid__mod_8F90_source.html |    2 +-
 ip__rot__equid__cylind__grid__mod_8F90.html   |    2 +-
 ..._equid__cylind__grid__mod_8F90_source.html |    2 +-
 ip__station__points__grid__mod_8F90.html      |    2 +-
 ...tation__points__grid__mod_8F90_source.html |    2 +-
 iplib__4_8h.html                              |    2 +-
 iplib__4_8h_source.html                       |    2 +-
 iplib__8_8h.html                              |    2 +-
 iplib__8_8h_source.html                       |    2 +-
 iplib__d_8h.html                              |    2 +-
 iplib__d_8h_source.html                       |    2 +-
 ipolates_8F90.html                            |    2 +-
 ipolates_8F90_source.html                     |    2 +-
 ipolatev_8F90.html                            |    2 +-
 ipolatev_8F90_source.html                     |    2 +-
 ipxetas_8F90.html                             |    4 +-
 ipxetas_8F90_source.html                      |    2 +-
 ipxwafs2_8F90.html                            |    4 +-
 ipxwafs2_8F90_source.html                     |    2 +-
 ipxwafs3_8F90.html                            |    4 +-
 ipxwafs3_8F90_source.html                     |    2 +-
 ipxwafs_8F90.html                             |    4 +-
 ipxwafs_8F90_source.html                      |    2 +-
 lapack__gen_8F.html                           |  246 ++
 lapack__gen_8F.js                             |    5 +
 lapack__gen_8F_source.html                    |  217 ++
 menudata.js                                   |   22 +-
 movect_8F90.html                              |    4 +-
 movect_8F90_source.html                       |    2 +-
 namespacebicubic__interp__mod.html            |    2 +-
 namespacebilinear__interp__mod.html           |    2 +-
 namespacebudget__interp__mod.html             |    2 +-
 namespaceearth__radius__mod.html              |    2 +-
 namespacegdswzd__c__mod.html                  |    8 +-
 namespacegdswzd__mod.html                     |    2 +-
 namespaceip__constants__mod.html              |    2 +-
 namespaceip__equid__cylind__grid__mod.html    |    2 +-
 namespaceip__gaussian__grid__mod.html         |    4 +-
 namespaceip__grid__descriptor__mod.html       |    2 +-
 namespaceip__grid__factory__mod.html          |    2 +-
 namespaceip__grid__mod.html                   |    2 +-
 namespaceip__grids__mod.html                  |    2 +-
 namespaceip__interpolators__mod.html          |    2 +-
 namespaceip__lambert__conf__grid__mod.html    |   10 +-
 namespaceip__mercator__grid__mod.html         |   10 +-
 namespaceip__mod.html                         |    2 +-
 namespaceip__polar__stereo__grid__mod.html    |   10 +-
 ...aceip__rot__equid__cylind__egrid__mod.html |    4 +-
 ...paceip__rot__equid__cylind__grid__mod.html |   10 +-
 namespaceip__station__points__grid__mod.html  |    2 +-
 namespaceipolates__mod.html                   |    2 +-
 namespaceipolatev__mod.html                   |    2 +-
 namespacemembers.html                         |    2 +-
 namespacemembers_func.html                    |    2 +-
 namespacemembers_vars.html                    |    2 +-
 namespaceneighbor__budget__interp__mod.html   |    6 +-
 namespaceneighbor__interp__mod.html           |    4 +-
 namespacepolfix__mod.html                     |    2 +-
 namespaces.html                               |    2 +-
 namespacespectral__interp__mod.html           |   10 +-
 navtreedata.js                                |   39 +-
 navtreeindex0.js                              |  498 ++--
 navtreeindex1.js                              |  500 ++--
 navtreeindex2.js                              |  498 ++--
 navtreeindex3.js                              |  205 +-
 ncpus_8F.html                                 |  165 ++
 ncpus_8F.js                                   |    4 +
 ncpus_8F_source.html                          |  140 ++
 neighbor__budget__interp__mod_8F90.html       |    2 +-
 ...hbor__budget__interp__mod_8F90_source.html |    2 +-
 neighbor__interp__mod_8F90.html               |    2 +-
 neighbor__interp__mod_8F90_source.html        |    2 +-
 polfix__mod_8F90.html                         |    2 +-
 polfix__mod_8F90_source.html                  |    2 +-
 search/all_10.js                              |   58 +-
 search/all_11.js                              |  121 +-
 search/all_12.js                              |    2 +-
 search/all_13.js                              |    2 +-
 search/all_2.js                               |    3 +-
 search/all_3.js                               |   22 +-
 search/all_4.js                               |   24 +-
 search/all_5.js                               |    3 +-
 search/all_6.js                               |   68 +-
 search/all_7.js                               |    4 +-
 search/all_8.js                               |  207 +-
 search/all_9.js                               |   14 +-
 search/all_a.js                               |    4 +-
 search/all_b.js                               |   13 +-
 search/all_c.js                               |   14 +-
 search/all_d.js                               |   20 +-
 search/all_e.js                               |    4 +-
 search/all_f.js                               |   36 +-
 search/classes_0.js                           |    8 +-
 search/classes_1.js                           |   44 +-
 search/classes_2.js                           |    2 +-
 search/classes_3.js                           |    4 +-
 search/files_0.js                             |    6 +-
 search/files_1.js                             |    2 +-
 search/files_2.js                             |    3 +-
 search/files_3.js                             |   26 +-
 search/files_4.js                             |   25 +-
 search/files_5.js                             |    3 +-
 search/files_6.js                             |    2 +-
 search/files_7.js                             |    4 +-
 search/files_8.html                           |   37 +
 search/files_8.js                             |    4 +
 search/files_9.html                           |   37 +
 search/files_9.js                             |   56 +
 search/functions_0.js                         |    5 +-
 search/functions_1.js                         |    3 +-
 search/functions_2.js                         |   25 +-
 search/functions_3.js                         |   40 +-
 search/functions_4.js                         |   24 +-
 search/functions_5.js                         |   43 +-
 search/functions_6.js                         |   14 +-
 search/functions_7.js                         |   12 +-
 search/functions_8.html                       |   37 +
 search/functions_8.js                         |    4 +
 search/functions_9.html                       |   37 +
 search/functions_9.js                         |   12 +
 search/functions_a.html                       |   37 +
 search/functions_a.js                         |   27 +
 search/functions_b.html                       |   37 +
 search/functions_b.js                         |   58 +
 search/namespaces_0.js                        |    6 +-
 search/namespaces_1.js                        |    2 +-
 search/namespaces_2.js                        |    4 +-
 search/namespaces_3.js                        |   34 +-
 search/namespaces_4.js                        |    4 +-
 search/namespaces_5.js                        |    2 +-
 search/namespaces_6.js                        |    2 +-
 search/pages_0.html                           |   37 +
 search/pages_0.js                             |    4 +
 search/searchdata.js                          |   13 +-
 search/variables_0.js                         |    2 +-
 search/variables_1.js                         |    8 +-
 search/variables_10.js                        |   10 +-
 search/variables_11.js                        |    2 +-
 search/variables_12.js                        |    2 +-
 search/variables_2.js                         |    8 +-
 search/variables_3.js                         |   20 +-
 search/variables_4.js                         |   12 +-
 search/variables_5.js                         |   14 +-
 search/variables_6.js                         |    4 +-
 search/variables_7.js                         |    6 +-
 search/variables_8.js                         |   14 +-
 search/variables_9.js                         |    4 +-
 search/variables_a.js                         |    4 +-
 search/variables_b.js                         |    4 +-
 search/variables_c.js                         |   10 +-
 search/variables_d.js                         |    2 +-
 search/variables_e.js                         |   10 +-
 search/variables_f.js                         |   26 +-
 spanaly_8f.html                               |  267 +++
 spanaly_8f.js                                 |    4 +
 spanaly_8f_source.html                        |  176 ++
 spdz2uv_8f.html                               |  247 ++
 spdz2uv_8f.js                                 |    4 +
 spdz2uv_8f_source.html                        |  182 ++
 spectral__interp__mod_8F90.html               |    2 +-
 spectral__interp__mod_8F90_source.html        |   50 +-
 speps_8f.html                                 |  211 ++
 speps_8f.js                                   |    4 +
 speps_8f_source.html                          |  153 ++
 spfft1_8f.html                                |  206 ++
 spfft1_8f.js                                  |    4 +
 spfft1_8f_source.html                         |  161 ++
 spfft_8f.html                                 |  207 ++
 spfft_8f.js                                   |    4 +
 spfft_8f_source.html                          |  177 ++
 spffte_8f.html                                |  227 ++
 spffte_8f.js                                  |    4 +
 spffte_8f_source.html                         |  237 ++
 spfftpt_8f.html                               |  206 ++
 spfftpt_8f.js                                 |    4 +
 spfftpt_8f_source.html                        |  148 ++
 spgradq_8f.html                               |  221 ++
 spgradq_8f.js                                 |    4 +
 spgradq_8f_source.html                        |  166 ++
 spgradx_8f.html                               |  202 ++
 spgradx_8f.js                                 |    4 +
 spgradx_8f_source.html                        |  172 ++
 spgrady_8f.html                               |  209 ++
 spgrady_8f.js                                 |    4 +
 spgrady_8f_source.html                        |  159 ++
 splaplac_8f.html                              |  197 ++
 splaplac_8f.js                                |    4 +
 splaplac_8f_source.html                       |  149 ++
 splat_8F.html                                 |  214 ++
 splat_8F.js                                   |    4 +
 splat_8F_source.html                          |  294 +++
 splegend_8f.html                              |  217 ++
 splegend_8f.js                                |    4 +
 splegend_8f_source.html                       |  231 ++
 sppad_8f.html                                 |  189 ++
 sppad_8f.js                                   |    4 +
 sppad_8f_source.html                          |  136 ++
 spsynth_8f.html                               |  258 +++
 spsynth_8f.js                                 |    4 +
 spsynth_8f_source.html                        |  258 +++
 sptez_8f.html                                 |  234 ++
 sptez_8f.js                                   |    4 +
 sptez_8f_source.html                          |  173 ++
 sptezd_8f.html                                |  248 ++
 sptezd_8f.js                                  |    4 +
 sptezd_8f_source.html                         |  162 ++
 sptezm_8f.html                                |  241 ++
 sptezm_8f.js                                  |    4 +
 sptezm_8f_source.html                         |  172 ++
 sptezmd_8f.html                               |  255 +++
 sptezmd_8f.js                                 |    4 +
 sptezmd_8f_source.html                        |  165 ++
 sptezmv_8f.html                               |  255 +++
 sptezmv_8f.js                                 |    4 +
 sptezmv_8f_source.html                        |  180 ++
 sptezv_8f.html                                |  248 ++
 sptezv_8f.js                                  |    4 +
 sptezv_8f_source.html                         |  178 ++
 sptgpm_8f.html                                |  267 +++
 sptgpm_8f.js                                  |    4 +
 sptgpm_8f_source.html                         |  227 ++
 sptgpmd_8f.html                               |  265 +++
 sptgpmd_8f.js                                 |    4 +
 sptgpmd_8f_source.html                        |  184 ++
 sptgpmv_8f.html                               |  285 +++
 sptgpmv_8f.js                                 |    4 +
 sptgpmv_8f_source.html                        |  247 ++
 sptgps_8f.html                                |  281 +++
 sptgps_8f.js                                  |    4 +
 sptgps_8f_source.html                         |  650 ++++++
 sptgpsd_8f.html                               |  282 +++
 sptgpsd_8f.js                                 |    4 +
 sptgpsd_8f_source.html                        |  203 ++
 sptgpsv_8f.html                               |  299 +++
 sptgpsv_8f.js                                 |    4 +
 sptgpsv_8f_source.html                        | 1038 +++++++++
 sptgpt_8f.html                                |  252 +++
 sptgpt_8f.js                                  |    4 +
 sptgpt_8f_source.html                         |  208 ++
 sptgptd_8f.html                               |  255 +++
 sptgptd_8f.js                                 |    4 +
 sptgptd_8f_source.html                        |  180 ++
 sptgptsd_8f.html                              |  266 +++
 sptgptsd_8f.js                                |    4 +
 sptgptsd_8f_source.html                       |  236 ++
 sptgptv_8f.html                               |  268 +++
 sptgptv_8f.js                                 |    4 +
 sptgptv_8f_source.html                        |  227 ++
 sptgptvd_8f.html                              |  313 +++
 sptgptvd_8f.js                                |    4 +
 sptgptvd_8f_source.html                       |  266 +++
 sptran_8f.html                                |  323 +++
 sptran_8f.js                                  |    4 +
 sptran_8f_source.html                         |  224 ++
 sptrand_8f.html                               |  346 +++
 sptrand_8f.js                                 |    4 +
 sptrand_8f_source.html                        |  253 +++
 sptranf0_8f.html                              |  290 +++
 sptranf0_8f.js                                |    4 +
 sptranf0_8f_source.html                       |  168 ++
 sptranf1_8f.html                              |  325 +++
 sptranf1_8f.js                                |    4 +
 sptranf1_8f_source.html                       |  179 ++
 sptranf_8f.html                               |  324 +++
 sptranf_8f.js                                 |    4 +
 sptranf_8f_source.html                        |  263 +++
 sptranfv_8f.html                              |  347 +++
 sptranfv_8f.js                                |    4 +
 sptranfv_8f_source.html                       |  300 +++
 sptranv_8f.html                               |  349 +++
 sptranv_8f.js                                 |    4 +
 sptranv_8f_source.html                        |  228 ++
 sptrun_8f.html                                |  317 +++
 sptrun_8f.js                                  |    4 +
 sptrun_8f_source.html                         |  187 ++
 sptrund_8f.html                               |  318 +++
 sptrund_8f.js                                 |    4 +
 sptrund_8f_source.html                        |  208 ++
 sptrung_8f.html                               |  306 +++
 sptrung_8f.js                                 |    4 +
 sptrung_8f_source.html                        |  193 ++
 sptrungv_8f.html                              |  376 +++
 sptrungv_8f.js                                |    4 +
 sptrungv_8f_source.html                       |  247 ++
 sptrunl_8f.html                               |  316 +++
 sptrunl_8f.js                                 |    4 +
 sptrunl_8f_source.html                        |  219 ++
 sptrunm_8f.html                               |  327 +++
 sptrunm_8f.js                                 |    4 +
 sptrunm_8f_source.html                        |  204 ++
 sptrunmv_8f.html                              |  394 ++++
 sptrunmv_8f.js                                |    4 +
 sptrunmv_8f_source.html                       |  259 +++
 sptruns_8f.html                               |  321 +++
 sptruns_8f.js                                 |    4 +
 sptruns_8f_source.html                        |  199 ++
 sptrunsv_8f.html                              |  426 ++++
 sptrunsv_8f.js                                |    4 +
 sptrunsv_8f_source.html                       |  255 +++
 sptrunv_8f.html                               |  375 +++
 sptrunv_8f.js                                 |    4 +
 sptrunv_8f_source.html                        |  267 +++
 spuv2dz_8f.html                               |  244 ++
 spuv2dz_8f.js                                 |    4 +
 spuv2dz_8f_source.html                        |  191 ++
 spvar_8f.html                                 |  175 ++
 spvar_8f.js                                   |    4 +
 spvar_8f_source.html                          |  135 ++
 spwget_8f.html                                |  208 ++
 spwget_8f.js                                  |    4 +
 spwget_8f_source.html                         |  127 ++
 ..._grid__mod_1_1ip__equid__cylind__grid.html |    2 +-
 ...sian__grid__mod_1_1ip__gaussian__grid.html |    2 +-
 ..._descriptor__mod_1_1grib1__descriptor.html |    2 +-
 ..._descriptor__mod_1_1grib2__descriptor.html |    2 +-
 ...scriptor__mod_1_1ip__grid__descriptor.html |    2 +-
 structip__grid__mod_1_1ip__grid.html          |    2 +-
 ..._grid__mod_1_1ip__lambert__conf__grid.html |    2 +-
 ...ator__grid__mod_1_1ip__mercator__grid.html |    2 +-
 ..._grid__mod_1_1ip__polar__stereo__grid.html |    2 +-
 ..._mod_1_1ip__rot__equid__cylind__egrid.html |    2 +-
 ...__mod_1_1ip__rot__equid__cylind__grid.html |    2 +-
 ...rid__mod_1_1ip__station__points__grid.html |    2 +-
 tabs.css                                      |    2 +-
 ver-4.4.0/annotated.html                      |  152 ++
 ver-4.4.0/annotated_dup.js                    |   73 +
 ver-4.4.0/bc_s.png                            |  Bin 0 -> 676 bytes
 ver-4.4.0/bdwn.png                            |  Bin 0 -> 147 bytes
 ver-4.4.0/bicubic__interp__mod_8F90.html      |  134 ++
 ver-4.4.0/bicubic__interp__mod_8F90.js        |    6 +
 .../bicubic__interp__mod_8F90_source.html     |  565 +++++
 ver-4.4.0/bilinear__interp__mod_8F90.html     |  134 ++
 ver-4.4.0/bilinear__interp__mod_8F90.js       |    6 +
 .../bilinear__interp__mod_8F90_source.html    |  534 +++++
 ver-4.4.0/budget__interp__mod_8F90.html       |  135 ++
 ver-4.4.0/budget__interp__mod_8F90.js         |    6 +
 .../budget__interp__mod_8F90_source.html      |  686 ++++++
 ver-4.4.0/classes.html                        |  113 +
 ver-4.4.0/closed.png                          |  Bin 0 -> 132 bytes
 .../dir_49e56c817e5e54854c35e136979f97ca.html |   99 +
 .../dir_68267d1309a1af8e8297ef4c3efbcdba.html |  208 ++
 ver-4.4.0/doc.png                             |  Bin 0 -> 746 bytes
 ver-4.4.0/doxygen.css                         | 1793 +++++++++++++++
 ver-4.4.0/doxygen.svg                         |   26 +
 ver-4.4.0/dynsections.js                      |  128 ++
 ver-4.4.0/earth__radius__mod_8F90.html        |  126 ++
 ver-4.4.0/earth__radius__mod_8F90.js          |    4 +
 ver-4.4.0/earth__radius__mod_8F90_source.html |  168 ++
 ver-4.4.0/files.html                          |  137 ++
 ver-4.4.0/files_dup.js                        |   38 +
 ver-4.4.0/folderclosed.png                    |  Bin 0 -> 616 bytes
 ver-4.4.0/folderopen.png                      |  Bin 0 -> 597 bytes
 ver-4.4.0/functions.html                      |  476 ++++
 ver-4.4.0/functions_func.html                 |  268 +++
 ver-4.4.0/functions_vars.html                 |  310 +++
 ver-4.4.0/gdswzd__c_8F90.html                 |  129 ++
 ver-4.4.0/gdswzd__c_8F90.js                   |    5 +
 ver-4.4.0/gdswzd__c_8F90_source.html          |  189 ++
 ver-4.4.0/gdswzd__mod_8F90.html               |  147 ++
 ver-4.4.0/gdswzd__mod_8F90.js                 |   10 +
 ver-4.4.0/gdswzd__mod_8F90_source.html        |  450 ++++
 ver-4.4.0/globals.html                        |  121 +
 ver-4.4.0/globals_func.html                   |  121 +
 ver-4.4.0/hierarchy.html                      |  132 ++
 ver-4.4.0/hierarchy.js                        |   35 +
 ver-4.4.0/index.html                          |  680 ++++++
 ...__interp__mod_1_1interpolate__bicubic.html |  473 ++++
 ...ic__interp__mod_1_1interpolate__bicubic.js |    5 +
 ..._interp__mod_1_1interpolate__bilinear.html |  463 ++++
 ...r__interp__mod_1_1interpolate__bilinear.js |    5 +
 ...t__interp__mod_1_1interpolate__budget.html |  473 ++++
 ...get__interp__mod_1_1interpolate__budget.js |    5 +
 ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.html | 1310 +++++++++++
 ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.js   |    9 +
 ...__descriptor__mod_1_1init__descriptor.html |  214 ++
 ...id__descriptor__mod_1_1init__descriptor.js |    5 +
 ...scriptor__mod_1_1operator_07_0a_0a_08.html |  167 ++
 ...descriptor__mod_1_1operator_07_0a_0a_08.js |    4 +
 ...eip__grid__factory__mod_1_1init__grid.html |  166 ++
 ...aceip__grid__factory__mod_1_1init__grid.js |    4 +
 ...aceip__grid__mod_1_1gdswzd__interface.html |  266 +++
 ...rfaceip__grid__mod_1_1gdswzd__interface.js |    4 +
 ...__grid__mod_1_1init__grib1__interface.html |  164 ++
 ...ip__grid__mod_1_1init__grib1__interface.js |    4 +
 ...__grid__mod_1_1init__grib2__interface.html |  164 ++
 ...ip__grid__mod_1_1init__grib2__interface.js |    4 +
 ...ip__grid__mod_1_1operator_07_0a_0a_08.html |  173 ++
 ...ceip__grid__mod_1_1operator_07_0a_0a_08.js |    4 +
 .../interfaceipolates__mod_1_1ipolates.html   | 1221 ++++++++++
 .../interfaceipolates__mod_1_1ipolates.js     |    7 +
 .../interfaceipolatev__mod_1_1ipolatev.html   | 1277 +++++++++++
 .../interfaceipolatev__mod_1_1ipolatev.js     |    7 +
 ..._mod_1_1interpolate__neighbor__budget.html |  529 +++++
 ...p__mod_1_1interpolate__neighbor__budget.js |    5 +
 ..._interp__mod_1_1interpolate__neighbor.html |  486 ++++
 ...r__interp__mod_1_1interpolate__neighbor.js |    5 +
 ..._interp__mod_1_1interpolate__spectral.html |  428 ++++
 ...l__interp__mod_1_1interpolate__spectral.js |    5 +
 ...facespectral__interp__mod_1_1polates4.html |  502 +++++
 ...erfacespectral__interp__mod_1_1polates4.js |    5 +
 ...facespectral__interp__mod_1_1polatev4.html |  560 +++++
 ...erfacespectral__interp__mod_1_1polatev4.js |    5 +
 ver-4.4.0/ip__constants__mod_8F90.html        |  141 ++
 ver-4.4.0/ip__constants__mod_8F90.js          |    9 +
 ver-4.4.0/ip__constants__mod_8F90_source.html |  122 +
 .../ip__equid__cylind__grid__mod_8F90.html    |  160 ++
 .../ip__equid__cylind__grid__mod_8F90.js      |   13 +
 ..._equid__cylind__grid__mod_8F90_source.html |  399 ++++
 ver-4.4.0/ip__gaussian__grid__mod_8F90.html   |  169 ++
 ver-4.4.0/ip__gaussian__grid__mod_8F90.js     |   16 +
 .../ip__gaussian__grid__mod_8F90_source.html  |  454 ++++
 ver-4.4.0/ip__grid__descriptor__mod_8F90.html |  154 ++
 ver-4.4.0/ip__grid__descriptor__mod_8F90.js   |   13 +
 ...ip__grid__descriptor__mod_8F90_source.html |  577 +++++
 ver-4.4.0/ip__grid__factory__mod_8F90.html    |  138 ++
 ver-4.4.0/ip__grid__factory__mod_8F90.js      |    7 +
 .../ip__grid__factory__mod_8F90_source.html   |  218 ++
 ver-4.4.0/ip__grid__mod_8F90.html             |  188 ++
 ver-4.4.0/ip__grid__mod_8F90.js               |   23 +
 ver-4.4.0/ip__grid__mod_8F90_source.html      |  273 +++
 ver-4.4.0/ip__grids__mod_8F90.html            |  119 +
 ver-4.4.0/ip__grids__mod_8F90_source.html     |  126 ++
 ver-4.4.0/ip__interpolators__mod_8F90.html    |  134 ++
 ver-4.4.0/ip__interpolators__mod_8F90.js      |    9 +
 .../ip__interpolators__mod_8F90_source.html   |  135 ++
 .../ip__lambert__conf__grid__mod_8F90.html    |  169 ++
 .../ip__lambert__conf__grid__mod_8F90.js      |   16 +
 ..._lambert__conf__grid__mod_8F90_source.html |  461 ++++
 ver-4.4.0/ip__mercator__grid__mod_8F90.html   |  160 ++
 ver-4.4.0/ip__mercator__grid__mod_8F90.js     |   13 +
 .../ip__mercator__grid__mod_8F90_source.html  |  385 ++++
 ver-4.4.0/ip__mod_8F90.html                   |  118 +
 ver-4.4.0/ip__mod_8F90_source.html            |  127 ++
 .../ip__polar__stereo__grid__mod_8F90.html    |  175 ++
 .../ip__polar__stereo__grid__mod_8F90.js      |   18 +
 ..._polar__stereo__grid__mod_8F90_source.html |  557 +++++
 ...__rot__equid__cylind__egrid__mod_8F90.html |  193 ++
 ...ip__rot__equid__cylind__egrid__mod_8F90.js |   24 +
 ...equid__cylind__egrid__mod_8F90_source.html |  588 +++++
 ...p__rot__equid__cylind__grid__mod_8F90.html |  178 ++
 .../ip__rot__equid__cylind__grid__mod_8F90.js |   19 +
 ..._equid__cylind__grid__mod_8F90_source.html |  561 +++++
 .../ip__station__points__grid__mod_8F90.html  |  138 ++
 .../ip__station__points__grid__mod_8F90.js    |    7 +
 ...tation__points__grid__mod_8F90_source.html |  160 ++
 ver-4.4.0/iplib__4_8h.html                    |  516 +++++
 ver-4.4.0/iplib__4_8h.js                      |    5 +
 ver-4.4.0/iplib__4_8h_source.html             |  117 +
 ver-4.4.0/iplib__8_8h.html                    |  516 +++++
 ver-4.4.0/iplib__8_8h.js                      |    5 +
 ver-4.4.0/iplib__8_8h_source.html             |  116 +
 ver-4.4.0/iplib__d_8h.html                    |  516 +++++
 ver-4.4.0/iplib__d_8h.js                      |    5 +
 ver-4.4.0/iplib__d_8h_source.html             |  116 +
 ver-4.4.0/ipolates_8F90.html                  |  143 ++
 ver-4.4.0/ipolates_8F90.js                    |    9 +
 ver-4.4.0/ipolates_8F90_source.html           |  398 ++++
 ver-4.4.0/ipolatev_8F90.html                  |  144 ++
 ver-4.4.0/ipolatev_8F90.js                    |    9 +
 ver-4.4.0/ipolatev_8F90_source.html           |  451 ++++
 ver-4.4.0/ipxetas_8F90.html                   |  290 +++
 ver-4.4.0/ipxetas_8F90.js                     |    4 +
 ver-4.4.0/ipxetas_8F90_source.html            |  222 ++
 ver-4.4.0/ipxwafs2_8F90.html                  |  308 +++
 ver-4.4.0/ipxwafs2_8F90.js                    |    4 +
 ver-4.4.0/ipxwafs2_8F90_source.html           |  267 +++
 ver-4.4.0/ipxwafs3_8F90.html                  |  306 +++
 ver-4.4.0/ipxwafs3_8F90.js                    |    4 +
 ver-4.4.0/ipxwafs3_8F90_source.html           |  289 +++
 ver-4.4.0/ipxwafs_8F90.html                   |  278 +++
 ver-4.4.0/ipxwafs_8F90.js                     |    4 +
 ver-4.4.0/ipxwafs_8F90_source.html            |  248 ++
 ver-4.4.0/jquery.js                           |   35 +
 ver-4.4.0/menu.js                             |   51 +
 ver-4.4.0/menudata.js                         |  121 +
 ver-4.4.0/movect_8F90.html                    |  202 ++
 ver-4.4.0/movect_8F90.js                      |    4 +
 ver-4.4.0/movect_8F90_source.html             |  146 ++
 ver-4.4.0/namespacebicubic__interp__mod.html  |  475 ++++
 ver-4.4.0/namespacebicubic__interp__mod.js    |    6 +
 ver-4.4.0/namespacebilinear__interp__mod.html |  465 ++++
 ver-4.4.0/namespacebilinear__interp__mod.js   |    6 +
 ver-4.4.0/namespacebudget__interp__mod.html   |  476 ++++
 ver-4.4.0/namespacebudget__interp__mod.js     |    6 +
 ver-4.4.0/namespaceearth__radius__mod.html    |  183 ++
 ver-4.4.0/namespacegdswzd__c__mod.html        |  556 +++++
 ver-4.4.0/namespacegdswzd__mod.html           | 1309 +++++++++++
 ver-4.4.0/namespacegdswzd__mod.js             |   10 +
 ver-4.4.0/namespaceip__constants__mod.html    |  244 ++
 ...namespaceip__equid__cylind__grid__mod.html |  668 ++++++
 .../namespaceip__equid__cylind__grid__mod.js  |   13 +
 .../namespaceip__gaussian__grid__mod.html     |  767 +++++++
 ver-4.4.0/namespaceip__gaussian__grid__mod.js |   16 +
 .../namespaceip__grid__descriptor__mod.html   |  378 ++++
 .../namespaceip__grid__descriptor__mod.js     |   13 +
 .../namespaceip__grid__factory__mod.html      |  285 +++
 ver-4.4.0/namespaceip__grid__factory__mod.js  |    7 +
 ver-4.4.0/namespaceip__grid__mod.html         |  546 +++++
 ver-4.4.0/namespaceip__grid__mod.js           |   23 +
 ver-4.4.0/namespaceip__grids__mod.html        |  106 +
 .../namespaceip__interpolators__mod.html      |  268 +++
 ...namespaceip__lambert__conf__grid__mod.html |  880 ++++++++
 .../namespaceip__lambert__conf__grid__mod.js  |   16 +
 .../namespaceip__mercator__grid__mod.html     |  728 ++++++
 ver-4.4.0/namespaceip__mercator__grid__mod.js |   13 +
 ver-4.4.0/namespaceip__mod.html               |  104 +
 ...namespaceip__polar__stereo__grid__mod.html |  918 ++++++++
 .../namespaceip__polar__stereo__grid__mod.js  |   18 +
 ...aceip__rot__equid__cylind__egrid__mod.html | 1105 +++++++++
 ...spaceip__rot__equid__cylind__egrid__mod.js |   24 +
 ...paceip__rot__equid__cylind__grid__mod.html | 1063 +++++++++
 ...espaceip__rot__equid__cylind__grid__mod.js |   19 +
 ...mespaceip__station__points__grid__mod.html |  375 +++
 ...namespaceip__station__points__grid__mod.js |    7 +
 ver-4.4.0/namespaceipolates__mod.html         | 1358 +++++++++++
 ver-4.4.0/namespaceipolates__mod.js           |    9 +
 ver-4.4.0/namespaceipolatev__mod.html         | 1443 ++++++++++++
 ver-4.4.0/namespaceipolatev__mod.js           |    9 +
 ver-4.4.0/namespacemembers.html               |  598 +++++
 ver-4.4.0/namespacemembers_func.html          |  378 ++++
 ver-4.4.0/namespacemembers_vars.html          |  342 +++
 ...amespaceneighbor__budget__interp__mod.html |  532 +++++
 .../namespaceneighbor__budget__interp__mod.js |    6 +
 ver-4.4.0/namespaceneighbor__interp__mod.html |  511 +++++
 ver-4.4.0/namespaceneighbor__interp__mod.js   |    6 +
 ver-4.4.0/namespacepolfix__mod.html           |  290 +++
 ver-4.4.0/namespaces.html                     |  159 ++
 ver-4.4.0/namespaces_dup.js                   |   52 +
 ver-4.4.0/namespacespectral__interp__mod.html | 1273 +++++++++++
 ver-4.4.0/namespacespectral__interp__mod.js   |   12 +
 ver-4.4.0/nav_f.png                           |  Bin 0 -> 153 bytes
 ver-4.4.0/nav_g.png                           |  Bin 0 -> 95 bytes
 ver-4.4.0/nav_h.png                           |  Bin 0 -> 98 bytes
 ver-4.4.0/navtree.css                         |  146 ++
 ver-4.4.0/navtree.js                          |  546 +++++
 ver-4.4.0/navtreedata.js                      |   78 +
 ver-4.4.0/navtreeindex0.js                    |  253 +++
 ver-4.4.0/navtreeindex1.js                    |  253 +++
 ver-4.4.0/navtreeindex2.js                    |  253 +++
 ver-4.4.0/navtreeindex3.js                    |   10 +
 .../neighbor__budget__interp__mod_8F90.html   |  135 ++
 .../neighbor__budget__interp__mod_8F90.js     |    6 +
 ...hbor__budget__interp__mod_8F90_source.html |  481 ++++
 ver-4.4.0/neighbor__interp__mod_8F90.html     |  135 ++
 ver-4.4.0/neighbor__interp__mod_8F90.js       |    6 +
 .../neighbor__interp__mod_8F90_source.html    |  515 +++++
 ver-4.4.0/open.png                            |  Bin 0 -> 123 bytes
 ver-4.4.0/polfix__mod_8F90.html               |  129 ++
 ver-4.4.0/polfix__mod_8F90.js                 |    5 +
 ver-4.4.0/polfix__mod_8F90_source.html        |  288 +++
 ver-4.4.0/resize.js                           |  140 ++
 ver-4.4.0/search/all_0.html                   |   37 +
 ver-4.4.0/search/all_0.js                     |    4 +
 ver-4.4.0/search/all_1.html                   |   37 +
 ver-4.4.0/search/all_1.js                     |   13 +
 ver-4.4.0/search/all_10.html                  |   37 +
 ver-4.4.0/search/all_10.js                    |   24 +
 ver-4.4.0/search/all_11.html                  |   37 +
 ver-4.4.0/search/all_11.js                    |   10 +
 ver-4.4.0/search/all_12.html                  |   37 +
 ver-4.4.0/search/all_12.js                    |    4 +
 ver-4.4.0/search/all_13.html                  |   37 +
 ver-4.4.0/search/all_13.js                    |    4 +
 ver-4.4.0/search/all_2.html                   |   37 +
 ver-4.4.0/search/all_2.js                     |    7 +
 ver-4.4.0/search/all_3.html                   |   37 +
 ver-4.4.0/search/all_3.js                     |   13 +
 ver-4.4.0/search/all_4.html                   |   37 +
 ver-4.4.0/search/all_4.js                     |   15 +
 ver-4.4.0/search/all_5.html                   |   37 +
 ver-4.4.0/search/all_5.js                     |    4 +
 ver-4.4.0/search/all_6.html                   |   37 +
 ver-4.4.0/search/all_6.js                     |   37 +
 ver-4.4.0/search/all_7.html                   |   37 +
 ver-4.4.0/search/all_7.js                     |    5 +
 ver-4.4.0/search/all_8.html                   |   37 +
 ver-4.4.0/search/all_8.js                     |  106 +
 ver-4.4.0/search/all_9.html                   |   37 +
 ver-4.4.0/search/all_9.js                     |   10 +
 ver-4.4.0/search/all_a.html                   |   37 +
 ver-4.4.0/search/all_a.js                     |    5 +
 ver-4.4.0/search/all_b.html                   |   37 +
 ver-4.4.0/search/all_b.js                     |    8 +
 ver-4.4.0/search/all_c.html                   |   37 +
 ver-4.4.0/search/all_c.js                     |   10 +
 ver-4.4.0/search/all_d.html                   |   37 +
 ver-4.4.0/search/all_d.js                     |   12 +
 ver-4.4.0/search/all_e.html                   |   37 +
 ver-4.4.0/search/all_e.js                     |    5 +
 ver-4.4.0/search/all_f.html                   |   37 +
 ver-4.4.0/search/all_f.js                     |   21 +
 ver-4.4.0/search/classes_0.html               |   37 +
 ver-4.4.0/search/classes_0.js                 |    7 +
 ver-4.4.0/search/classes_1.html               |   37 +
 ver-4.4.0/search/classes_1.js                 |   25 +
 ver-4.4.0/search/classes_2.html               |   37 +
 ver-4.4.0/search/classes_2.js                 |    4 +
 ver-4.4.0/search/classes_3.html               |   37 +
 ver-4.4.0/search/classes_3.js                 |    5 +
 ver-4.4.0/search/close.svg                    |   31 +
 ver-4.4.0/search/files_0.html                 |   37 +
 ver-4.4.0/search/files_0.js                   |    6 +
 ver-4.4.0/search/files_1.html                 |   37 +
 ver-4.4.0/search/files_1.js                   |    4 +
 ver-4.4.0/search/files_2.html                 |   37 +
 ver-4.4.0/search/files_2.js                   |    5 +
 ver-4.4.0/search/files_3.html                 |   37 +
 ver-4.4.0/search/files_3.js                   |   27 +
 ver-4.4.0/search/files_4.html                 |   37 +
 ver-4.4.0/search/files_4.js                   |    4 +
 ver-4.4.0/search/files_5.html                 |   37 +
 ver-4.4.0/search/files_5.js                   |    5 +
 ver-4.4.0/search/files_6.html                 |   37 +
 ver-4.4.0/search/files_6.js                   |    4 +
 ver-4.4.0/search/files_7.html                 |   37 +
 ver-4.4.0/search/files_7.js                   |    4 +
 ver-4.4.0/search/functions_0.html             |   37 +
 ver-4.4.0/search/functions_0.js               |    7 +
 ver-4.4.0/search/functions_1.html             |   37 +
 ver-4.4.0/search/functions_1.js               |    4 +
 ver-4.4.0/search/functions_2.html             |   37 +
 ver-4.4.0/search/functions_2.js               |   24 +
 ver-4.4.0/search/functions_3.html             |   37 +
 ver-4.4.0/search/functions_3.js               |   42 +
 ver-4.4.0/search/functions_4.html             |   37 +
 ver-4.4.0/search/functions_4.js               |    6 +
 ver-4.4.0/search/functions_5.html             |   37 +
 ver-4.4.0/search/functions_5.js               |    7 +
 ver-4.4.0/search/functions_6.html             |   37 +
 ver-4.4.0/search/functions_6.js               |   12 +
 ver-4.4.0/search/functions_7.html             |   37 +
 ver-4.4.0/search/functions_7.js               |   11 +
 ver-4.4.0/search/mag_sel.svg                  |   74 +
 ver-4.4.0/search/namespaces_0.html            |   37 +
 ver-4.4.0/search/namespaces_0.js              |    6 +
 ver-4.4.0/search/namespaces_1.html            |   37 +
 ver-4.4.0/search/namespaces_1.js              |    4 +
 ver-4.4.0/search/namespaces_2.html            |   37 +
 ver-4.4.0/search/namespaces_2.js              |    5 +
 ver-4.4.0/search/namespaces_3.html            |   37 +
 ver-4.4.0/search/namespaces_3.js              |   20 +
 ver-4.4.0/search/namespaces_4.html            |   37 +
 ver-4.4.0/search/namespaces_4.js              |    5 +
 ver-4.4.0/search/namespaces_5.html            |   37 +
 ver-4.4.0/search/namespaces_5.js              |    4 +
 ver-4.4.0/search/namespaces_6.html            |   37 +
 ver-4.4.0/search/namespaces_6.js              |    4 +
 ver-4.4.0/search/nomatches.html               |   13 +
 ver-4.4.0/search/search.css                   |  257 +++
 ver-4.4.0/search/search.js                    |  816 +++++++
 ver-4.4.0/search/search_l.png                 |  Bin 0 -> 567 bytes
 ver-4.4.0/search/search_m.png                 |  Bin 0 -> 158 bytes
 ver-4.4.0/search/search_r.png                 |  Bin 0 -> 553 bytes
 ver-4.4.0/search/searchdata.js                |   30 +
 ver-4.4.0/search/variables_0.html             |   37 +
 ver-4.4.0/search/variables_0.js               |    4 +
 ver-4.4.0/search/variables_1.html             |   37 +
 ver-4.4.0/search/variables_1.js               |    7 +
 ver-4.4.0/search/variables_10.html            |   37 +
 ver-4.4.0/search/variables_10.js              |    8 +
 ver-4.4.0/search/variables_11.html            |   37 +
 ver-4.4.0/search/variables_11.js              |    4 +
 ver-4.4.0/search/variables_12.html            |   37 +
 ver-4.4.0/search/variables_12.js              |    4 +
 ver-4.4.0/search/variables_2.html             |   37 +
 ver-4.4.0/search/variables_2.js               |    7 +
 ver-4.4.0/search/variables_3.html             |   37 +
 ver-4.4.0/search/variables_3.js               |   13 +
 ver-4.4.0/search/variables_4.html             |   37 +
 ver-4.4.0/search/variables_4.js               |    9 +
 ver-4.4.0/search/variables_5.html             |   37 +
 ver-4.4.0/search/variables_5.js               |   10 +
 ver-4.4.0/search/variables_6.html             |   37 +
 ver-4.4.0/search/variables_6.js               |    5 +
 ver-4.4.0/search/variables_7.html             |   37 +
 ver-4.4.0/search/variables_7.js               |    6 +
 ver-4.4.0/search/variables_8.html             |   37 +
 ver-4.4.0/search/variables_8.js               |   10 +
 ver-4.4.0/search/variables_9.html             |   37 +
 ver-4.4.0/search/variables_9.js               |    5 +
 ver-4.4.0/search/variables_a.html             |   37 +
 ver-4.4.0/search/variables_a.js               |    5 +
 ver-4.4.0/search/variables_b.html             |   37 +
 ver-4.4.0/search/variables_b.js               |    5 +
 ver-4.4.0/search/variables_c.html             |   37 +
 ver-4.4.0/search/variables_c.js               |    8 +
 ver-4.4.0/search/variables_d.html             |   37 +
 ver-4.4.0/search/variables_d.js               |    4 +
 ver-4.4.0/search/variables_e.html             |   37 +
 ver-4.4.0/search/variables_e.js               |    8 +
 ver-4.4.0/search/variables_f.html             |   37 +
 ver-4.4.0/search/variables_f.js               |   16 +
 ver-4.4.0/spectral__interp__mod_8F90.html     |  151 ++
 ver-4.4.0/spectral__interp__mod_8F90.js       |   12 +
 .../spectral__interp__mod_8F90_source.html    | 1155 ++++++++++
 ver-4.4.0/splitbar.png                        |  Bin 0 -> 314 bytes
 ..._grid__mod_1_1ip__equid__cylind__grid.html |  843 +++++++
 ...d__grid__mod_1_1ip__equid__cylind__grid.js |   27 +
 ...__grid__mod_1_1ip__equid__cylind__grid.png |  Bin 0 -> 804 bytes
 ...sian__grid__mod_1_1ip__gaussian__grid.html |  873 +++++++
 ...ussian__grid__mod_1_1ip__gaussian__grid.js |   28 +
 ...ssian__grid__mod_1_1ip__gaussian__grid.png |  Bin 0 -> 684 bytes
 ..._descriptor__mod_1_1grib1__descriptor.html |  249 ++
 ...d__descriptor__mod_1_1grib1__descriptor.js |    7 +
 ...__descriptor__mod_1_1grib1__descriptor.png |  Bin 0 -> 774 bytes
 ..._descriptor__mod_1_1grib2__descriptor.html |  307 +++
 ...d__descriptor__mod_1_1grib2__descriptor.js |    9 +
 ...__descriptor__mod_1_1grib2__descriptor.png |  Bin 0 -> 780 bytes
 ...scriptor__mod_1_1ip__grid__descriptor.html |  191 ++
 ...descriptor__mod_1_1ip__grid__descriptor.js |    5 +
 ...escriptor__mod_1_1ip__grid__descriptor.png |  Bin 0 -> 1069 bytes
 .../structip__grid__mod_1_1ip__grid.html      |  655 ++++++
 ver-4.4.0/structip__grid__mod_1_1ip__grid.js  |   20 +
 ver-4.4.0/structip__grid__mod_1_1ip__grid.png |  Bin 0 -> 5524 bytes
 ..._grid__mod_1_1ip__lambert__conf__grid.html |  903 ++++++++
 ...f__grid__mod_1_1ip__lambert__conf__grid.js |   29 +
 ...__grid__mod_1_1ip__lambert__conf__grid.png |  Bin 0 -> 825 bytes
 ...ator__grid__mod_1_1ip__mercator__grid.html |  845 +++++++
 ...rcator__grid__mod_1_1ip__mercator__grid.js |   27 +
 ...cator__grid__mod_1_1ip__mercator__grid.png |  Bin 0 -> 689 bytes
 ..._grid__mod_1_1ip__polar__stereo__grid.html |  896 ++++++++
 ...o__grid__mod_1_1ip__polar__stereo__grid.js |   29 +
 ...__grid__mod_1_1ip__polar__stereo__grid.png |  Bin 0 -> 819 bytes
 ..._mod_1_1ip__rot__equid__cylind__egrid.html |  895 ++++++++
 ...d__mod_1_1ip__rot__equid__cylind__egrid.js |   29 +
 ...__mod_1_1ip__rot__equid__cylind__egrid.png |  Bin 0 -> 863 bytes
 ...__mod_1_1ip__rot__equid__cylind__grid.html |  866 +++++++
 ...id__mod_1_1ip__rot__equid__cylind__grid.js |   28 +
 ...d__mod_1_1ip__rot__equid__cylind__grid.png |  Bin 0 -> 854 bytes
 ...rid__mod_1_1ip__station__points__grid.html |  633 ++++++
 ..._grid__mod_1_1ip__station__points__grid.js |   20 +
 ...grid__mod_1_1ip__station__points__grid.png |  Bin 0 -> 825 bytes
 ver-4.4.0/sync_off.png                        |  Bin 0 -> 853 bytes
 ver-4.4.0/sync_on.png                         |  Bin 0 -> 845 bytes
 ver-4.4.0/tab_a.png                           |  Bin 0 -> 142 bytes
 ver-4.4.0/tab_b.png                           |  Bin 0 -> 169 bytes
 ver-4.4.0/tab_h.png                           |  Bin 0 -> 177 bytes
 ver-4.4.0/tab_s.png                           |  Bin 0 -> 184 bytes
 ver-4.4.0/tabs.css                            |    1 +
 810 files changed, 101962 insertions(+), 1960 deletions(-)
 create mode 100644 fftpack_8F.html
 create mode 100644 fftpack_8F.js
 create mode 100644 fftpack_8F_source.html
 create mode 100644 lapack__gen_8F.html
 create mode 100644 lapack__gen_8F.js
 create mode 100644 lapack__gen_8F_source.html
 create mode 100644 ncpus_8F.html
 create mode 100644 ncpus_8F.js
 create mode 100644 ncpus_8F_source.html
 create mode 100644 search/files_8.html
 create mode 100644 search/files_8.js
 create mode 100644 search/files_9.html
 create mode 100644 search/files_9.js
 create mode 100644 search/functions_8.html
 create mode 100644 search/functions_8.js
 create mode 100644 search/functions_9.html
 create mode 100644 search/functions_9.js
 create mode 100644 search/functions_a.html
 create mode 100644 search/functions_a.js
 create mode 100644 search/functions_b.html
 create mode 100644 search/functions_b.js
 create mode 100644 search/pages_0.html
 create mode 100644 search/pages_0.js
 create mode 100644 spanaly_8f.html
 create mode 100644 spanaly_8f.js
 create mode 100644 spanaly_8f_source.html
 create mode 100644 spdz2uv_8f.html
 create mode 100644 spdz2uv_8f.js
 create mode 100644 spdz2uv_8f_source.html
 create mode 100644 speps_8f.html
 create mode 100644 speps_8f.js
 create mode 100644 speps_8f_source.html
 create mode 100644 spfft1_8f.html
 create mode 100644 spfft1_8f.js
 create mode 100644 spfft1_8f_source.html
 create mode 100644 spfft_8f.html
 create mode 100644 spfft_8f.js
 create mode 100644 spfft_8f_source.html
 create mode 100644 spffte_8f.html
 create mode 100644 spffte_8f.js
 create mode 100644 spffte_8f_source.html
 create mode 100644 spfftpt_8f.html
 create mode 100644 spfftpt_8f.js
 create mode 100644 spfftpt_8f_source.html
 create mode 100644 spgradq_8f.html
 create mode 100644 spgradq_8f.js
 create mode 100644 spgradq_8f_source.html
 create mode 100644 spgradx_8f.html
 create mode 100644 spgradx_8f.js
 create mode 100644 spgradx_8f_source.html
 create mode 100644 spgrady_8f.html
 create mode 100644 spgrady_8f.js
 create mode 100644 spgrady_8f_source.html
 create mode 100644 splaplac_8f.html
 create mode 100644 splaplac_8f.js
 create mode 100644 splaplac_8f_source.html
 create mode 100644 splat_8F.html
 create mode 100644 splat_8F.js
 create mode 100644 splat_8F_source.html
 create mode 100644 splegend_8f.html
 create mode 100644 splegend_8f.js
 create mode 100644 splegend_8f_source.html
 create mode 100644 sppad_8f.html
 create mode 100644 sppad_8f.js
 create mode 100644 sppad_8f_source.html
 create mode 100644 spsynth_8f.html
 create mode 100644 spsynth_8f.js
 create mode 100644 spsynth_8f_source.html
 create mode 100644 sptez_8f.html
 create mode 100644 sptez_8f.js
 create mode 100644 sptez_8f_source.html
 create mode 100644 sptezd_8f.html
 create mode 100644 sptezd_8f.js
 create mode 100644 sptezd_8f_source.html
 create mode 100644 sptezm_8f.html
 create mode 100644 sptezm_8f.js
 create mode 100644 sptezm_8f_source.html
 create mode 100644 sptezmd_8f.html
 create mode 100644 sptezmd_8f.js
 create mode 100644 sptezmd_8f_source.html
 create mode 100644 sptezmv_8f.html
 create mode 100644 sptezmv_8f.js
 create mode 100644 sptezmv_8f_source.html
 create mode 100644 sptezv_8f.html
 create mode 100644 sptezv_8f.js
 create mode 100644 sptezv_8f_source.html
 create mode 100644 sptgpm_8f.html
 create mode 100644 sptgpm_8f.js
 create mode 100644 sptgpm_8f_source.html
 create mode 100644 sptgpmd_8f.html
 create mode 100644 sptgpmd_8f.js
 create mode 100644 sptgpmd_8f_source.html
 create mode 100644 sptgpmv_8f.html
 create mode 100644 sptgpmv_8f.js
 create mode 100644 sptgpmv_8f_source.html
 create mode 100644 sptgps_8f.html
 create mode 100644 sptgps_8f.js
 create mode 100644 sptgps_8f_source.html
 create mode 100644 sptgpsd_8f.html
 create mode 100644 sptgpsd_8f.js
 create mode 100644 sptgpsd_8f_source.html
 create mode 100644 sptgpsv_8f.html
 create mode 100644 sptgpsv_8f.js
 create mode 100644 sptgpsv_8f_source.html
 create mode 100644 sptgpt_8f.html
 create mode 100644 sptgpt_8f.js
 create mode 100644 sptgpt_8f_source.html
 create mode 100644 sptgptd_8f.html
 create mode 100644 sptgptd_8f.js
 create mode 100644 sptgptd_8f_source.html
 create mode 100644 sptgptsd_8f.html
 create mode 100644 sptgptsd_8f.js
 create mode 100644 sptgptsd_8f_source.html
 create mode 100644 sptgptv_8f.html
 create mode 100644 sptgptv_8f.js
 create mode 100644 sptgptv_8f_source.html
 create mode 100644 sptgptvd_8f.html
 create mode 100644 sptgptvd_8f.js
 create mode 100644 sptgptvd_8f_source.html
 create mode 100644 sptran_8f.html
 create mode 100644 sptran_8f.js
 create mode 100644 sptran_8f_source.html
 create mode 100644 sptrand_8f.html
 create mode 100644 sptrand_8f.js
 create mode 100644 sptrand_8f_source.html
 create mode 100644 sptranf0_8f.html
 create mode 100644 sptranf0_8f.js
 create mode 100644 sptranf0_8f_source.html
 create mode 100644 sptranf1_8f.html
 create mode 100644 sptranf1_8f.js
 create mode 100644 sptranf1_8f_source.html
 create mode 100644 sptranf_8f.html
 create mode 100644 sptranf_8f.js
 create mode 100644 sptranf_8f_source.html
 create mode 100644 sptranfv_8f.html
 create mode 100644 sptranfv_8f.js
 create mode 100644 sptranfv_8f_source.html
 create mode 100644 sptranv_8f.html
 create mode 100644 sptranv_8f.js
 create mode 100644 sptranv_8f_source.html
 create mode 100644 sptrun_8f.html
 create mode 100644 sptrun_8f.js
 create mode 100644 sptrun_8f_source.html
 create mode 100644 sptrund_8f.html
 create mode 100644 sptrund_8f.js
 create mode 100644 sptrund_8f_source.html
 create mode 100644 sptrung_8f.html
 create mode 100644 sptrung_8f.js
 create mode 100644 sptrung_8f_source.html
 create mode 100644 sptrungv_8f.html
 create mode 100644 sptrungv_8f.js
 create mode 100644 sptrungv_8f_source.html
 create mode 100644 sptrunl_8f.html
 create mode 100644 sptrunl_8f.js
 create mode 100644 sptrunl_8f_source.html
 create mode 100644 sptrunm_8f.html
 create mode 100644 sptrunm_8f.js
 create mode 100644 sptrunm_8f_source.html
 create mode 100644 sptrunmv_8f.html
 create mode 100644 sptrunmv_8f.js
 create mode 100644 sptrunmv_8f_source.html
 create mode 100644 sptruns_8f.html
 create mode 100644 sptruns_8f.js
 create mode 100644 sptruns_8f_source.html
 create mode 100644 sptrunsv_8f.html
 create mode 100644 sptrunsv_8f.js
 create mode 100644 sptrunsv_8f_source.html
 create mode 100644 sptrunv_8f.html
 create mode 100644 sptrunv_8f.js
 create mode 100644 sptrunv_8f_source.html
 create mode 100644 spuv2dz_8f.html
 create mode 100644 spuv2dz_8f.js
 create mode 100644 spuv2dz_8f_source.html
 create mode 100644 spvar_8f.html
 create mode 100644 spvar_8f.js
 create mode 100644 spvar_8f_source.html
 create mode 100644 spwget_8f.html
 create mode 100644 spwget_8f.js
 create mode 100644 spwget_8f_source.html
 create mode 100644 ver-4.4.0/annotated.html
 create mode 100644 ver-4.4.0/annotated_dup.js
 create mode 100644 ver-4.4.0/bc_s.png
 create mode 100644 ver-4.4.0/bdwn.png
 create mode 100644 ver-4.4.0/bicubic__interp__mod_8F90.html
 create mode 100644 ver-4.4.0/bicubic__interp__mod_8F90.js
 create mode 100644 ver-4.4.0/bicubic__interp__mod_8F90_source.html
 create mode 100644 ver-4.4.0/bilinear__interp__mod_8F90.html
 create mode 100644 ver-4.4.0/bilinear__interp__mod_8F90.js
 create mode 100644 ver-4.4.0/bilinear__interp__mod_8F90_source.html
 create mode 100644 ver-4.4.0/budget__interp__mod_8F90.html
 create mode 100644 ver-4.4.0/budget__interp__mod_8F90.js
 create mode 100644 ver-4.4.0/budget__interp__mod_8F90_source.html
 create mode 100644 ver-4.4.0/classes.html
 create mode 100644 ver-4.4.0/closed.png
 create mode 100644 ver-4.4.0/dir_49e56c817e5e54854c35e136979f97ca.html
 create mode 100644 ver-4.4.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html
 create mode 100644 ver-4.4.0/doc.png
 create mode 100644 ver-4.4.0/doxygen.css
 create mode 100644 ver-4.4.0/doxygen.svg
 create mode 100644 ver-4.4.0/dynsections.js
 create mode 100644 ver-4.4.0/earth__radius__mod_8F90.html
 create mode 100644 ver-4.4.0/earth__radius__mod_8F90.js
 create mode 100644 ver-4.4.0/earth__radius__mod_8F90_source.html
 create mode 100644 ver-4.4.0/files.html
 create mode 100644 ver-4.4.0/files_dup.js
 create mode 100644 ver-4.4.0/folderclosed.png
 create mode 100644 ver-4.4.0/folderopen.png
 create mode 100644 ver-4.4.0/functions.html
 create mode 100644 ver-4.4.0/functions_func.html
 create mode 100644 ver-4.4.0/functions_vars.html
 create mode 100644 ver-4.4.0/gdswzd__c_8F90.html
 create mode 100644 ver-4.4.0/gdswzd__c_8F90.js
 create mode 100644 ver-4.4.0/gdswzd__c_8F90_source.html
 create mode 100644 ver-4.4.0/gdswzd__mod_8F90.html
 create mode 100644 ver-4.4.0/gdswzd__mod_8F90.js
 create mode 100644 ver-4.4.0/gdswzd__mod_8F90_source.html
 create mode 100644 ver-4.4.0/globals.html
 create mode 100644 ver-4.4.0/globals_func.html
 create mode 100644 ver-4.4.0/hierarchy.html
 create mode 100644 ver-4.4.0/hierarchy.js
 create mode 100644 ver-4.4.0/index.html
 create mode 100644 ver-4.4.0/interfacebicubic__interp__mod_1_1interpolate__bicubic.html
 create mode 100644 ver-4.4.0/interfacebicubic__interp__mod_1_1interpolate__bicubic.js
 create mode 100644 ver-4.4.0/interfacebilinear__interp__mod_1_1interpolate__bilinear.html
 create mode 100644 ver-4.4.0/interfacebilinear__interp__mod_1_1interpolate__bilinear.js
 create mode 100644 ver-4.4.0/interfacebudget__interp__mod_1_1interpolate__budget.html
 create mode 100644 ver-4.4.0/interfacebudget__interp__mod_1_1interpolate__budget.js
 create mode 100644 ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.html
 create mode 100644 ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.js
 create mode 100644 ver-4.4.0/interfaceip__grid__descriptor__mod_1_1init__descriptor.html
 create mode 100644 ver-4.4.0/interfaceip__grid__descriptor__mod_1_1init__descriptor.js
 create mode 100644 ver-4.4.0/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html
 create mode 100644 ver-4.4.0/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.js
 create mode 100644 ver-4.4.0/interfaceip__grid__factory__mod_1_1init__grid.html
 create mode 100644 ver-4.4.0/interfaceip__grid__factory__mod_1_1init__grid.js
 create mode 100644 ver-4.4.0/interfaceip__grid__mod_1_1gdswzd__interface.html
 create mode 100644 ver-4.4.0/interfaceip__grid__mod_1_1gdswzd__interface.js
 create mode 100644 ver-4.4.0/interfaceip__grid__mod_1_1init__grib1__interface.html
 create mode 100644 ver-4.4.0/interfaceip__grid__mod_1_1init__grib1__interface.js
 create mode 100644 ver-4.4.0/interfaceip__grid__mod_1_1init__grib2__interface.html
 create mode 100644 ver-4.4.0/interfaceip__grid__mod_1_1init__grib2__interface.js
 create mode 100644 ver-4.4.0/interfaceip__grid__mod_1_1operator_07_0a_0a_08.html
 create mode 100644 ver-4.4.0/interfaceip__grid__mod_1_1operator_07_0a_0a_08.js
 create mode 100644 ver-4.4.0/interfaceipolates__mod_1_1ipolates.html
 create mode 100644 ver-4.4.0/interfaceipolates__mod_1_1ipolates.js
 create mode 100644 ver-4.4.0/interfaceipolatev__mod_1_1ipolatev.html
 create mode 100644 ver-4.4.0/interfaceipolatev__mod_1_1ipolatev.js
 create mode 100644 ver-4.4.0/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html
 create mode 100644 ver-4.4.0/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.js
 create mode 100644 ver-4.4.0/interfaceneighbor__interp__mod_1_1interpolate__neighbor.html
 create mode 100644 ver-4.4.0/interfaceneighbor__interp__mod_1_1interpolate__neighbor.js
 create mode 100644 ver-4.4.0/interfacespectral__interp__mod_1_1interpolate__spectral.html
 create mode 100644 ver-4.4.0/interfacespectral__interp__mod_1_1interpolate__spectral.js
 create mode 100644 ver-4.4.0/interfacespectral__interp__mod_1_1polates4.html
 create mode 100644 ver-4.4.0/interfacespectral__interp__mod_1_1polates4.js
 create mode 100644 ver-4.4.0/interfacespectral__interp__mod_1_1polatev4.html
 create mode 100644 ver-4.4.0/interfacespectral__interp__mod_1_1polatev4.js
 create mode 100644 ver-4.4.0/ip__constants__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__constants__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__constants__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__equid__cylind__grid__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__equid__cylind__grid__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__equid__cylind__grid__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__gaussian__grid__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__gaussian__grid__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__gaussian__grid__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__grid__descriptor__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__grid__descriptor__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__grid__descriptor__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__grid__factory__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__grid__factory__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__grid__factory__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__grid__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__grid__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__grid__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__grids__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__grids__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__interpolators__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__interpolators__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__interpolators__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__lambert__conf__grid__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__lambert__conf__grid__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__lambert__conf__grid__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__mercator__grid__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__mercator__grid__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__mercator__grid__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__polar__stereo__grid__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__polar__stereo__grid__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__polar__stereo__grid__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90_source.html
 create mode 100644 ver-4.4.0/ip__station__points__grid__mod_8F90.html
 create mode 100644 ver-4.4.0/ip__station__points__grid__mod_8F90.js
 create mode 100644 ver-4.4.0/ip__station__points__grid__mod_8F90_source.html
 create mode 100644 ver-4.4.0/iplib__4_8h.html
 create mode 100644 ver-4.4.0/iplib__4_8h.js
 create mode 100644 ver-4.4.0/iplib__4_8h_source.html
 create mode 100644 ver-4.4.0/iplib__8_8h.html
 create mode 100644 ver-4.4.0/iplib__8_8h.js
 create mode 100644 ver-4.4.0/iplib__8_8h_source.html
 create mode 100644 ver-4.4.0/iplib__d_8h.html
 create mode 100644 ver-4.4.0/iplib__d_8h.js
 create mode 100644 ver-4.4.0/iplib__d_8h_source.html
 create mode 100644 ver-4.4.0/ipolates_8F90.html
 create mode 100644 ver-4.4.0/ipolates_8F90.js
 create mode 100644 ver-4.4.0/ipolates_8F90_source.html
 create mode 100644 ver-4.4.0/ipolatev_8F90.html
 create mode 100644 ver-4.4.0/ipolatev_8F90.js
 create mode 100644 ver-4.4.0/ipolatev_8F90_source.html
 create mode 100644 ver-4.4.0/ipxetas_8F90.html
 create mode 100644 ver-4.4.0/ipxetas_8F90.js
 create mode 100644 ver-4.4.0/ipxetas_8F90_source.html
 create mode 100644 ver-4.4.0/ipxwafs2_8F90.html
 create mode 100644 ver-4.4.0/ipxwafs2_8F90.js
 create mode 100644 ver-4.4.0/ipxwafs2_8F90_source.html
 create mode 100644 ver-4.4.0/ipxwafs3_8F90.html
 create mode 100644 ver-4.4.0/ipxwafs3_8F90.js
 create mode 100644 ver-4.4.0/ipxwafs3_8F90_source.html
 create mode 100644 ver-4.4.0/ipxwafs_8F90.html
 create mode 100644 ver-4.4.0/ipxwafs_8F90.js
 create mode 100644 ver-4.4.0/ipxwafs_8F90_source.html
 create mode 100644 ver-4.4.0/jquery.js
 create mode 100644 ver-4.4.0/menu.js
 create mode 100644 ver-4.4.0/menudata.js
 create mode 100644 ver-4.4.0/movect_8F90.html
 create mode 100644 ver-4.4.0/movect_8F90.js
 create mode 100644 ver-4.4.0/movect_8F90_source.html
 create mode 100644 ver-4.4.0/namespacebicubic__interp__mod.html
 create mode 100644 ver-4.4.0/namespacebicubic__interp__mod.js
 create mode 100644 ver-4.4.0/namespacebilinear__interp__mod.html
 create mode 100644 ver-4.4.0/namespacebilinear__interp__mod.js
 create mode 100644 ver-4.4.0/namespacebudget__interp__mod.html
 create mode 100644 ver-4.4.0/namespacebudget__interp__mod.js
 create mode 100644 ver-4.4.0/namespaceearth__radius__mod.html
 create mode 100644 ver-4.4.0/namespacegdswzd__c__mod.html
 create mode 100644 ver-4.4.0/namespacegdswzd__mod.html
 create mode 100644 ver-4.4.0/namespacegdswzd__mod.js
 create mode 100644 ver-4.4.0/namespaceip__constants__mod.html
 create mode 100644 ver-4.4.0/namespaceip__equid__cylind__grid__mod.html
 create mode 100644 ver-4.4.0/namespaceip__equid__cylind__grid__mod.js
 create mode 100644 ver-4.4.0/namespaceip__gaussian__grid__mod.html
 create mode 100644 ver-4.4.0/namespaceip__gaussian__grid__mod.js
 create mode 100644 ver-4.4.0/namespaceip__grid__descriptor__mod.html
 create mode 100644 ver-4.4.0/namespaceip__grid__descriptor__mod.js
 create mode 100644 ver-4.4.0/namespaceip__grid__factory__mod.html
 create mode 100644 ver-4.4.0/namespaceip__grid__factory__mod.js
 create mode 100644 ver-4.4.0/namespaceip__grid__mod.html
 create mode 100644 ver-4.4.0/namespaceip__grid__mod.js
 create mode 100644 ver-4.4.0/namespaceip__grids__mod.html
 create mode 100644 ver-4.4.0/namespaceip__interpolators__mod.html
 create mode 100644 ver-4.4.0/namespaceip__lambert__conf__grid__mod.html
 create mode 100644 ver-4.4.0/namespaceip__lambert__conf__grid__mod.js
 create mode 100644 ver-4.4.0/namespaceip__mercator__grid__mod.html
 create mode 100644 ver-4.4.0/namespaceip__mercator__grid__mod.js
 create mode 100644 ver-4.4.0/namespaceip__mod.html
 create mode 100644 ver-4.4.0/namespaceip__polar__stereo__grid__mod.html
 create mode 100644 ver-4.4.0/namespaceip__polar__stereo__grid__mod.js
 create mode 100644 ver-4.4.0/namespaceip__rot__equid__cylind__egrid__mod.html
 create mode 100644 ver-4.4.0/namespaceip__rot__equid__cylind__egrid__mod.js
 create mode 100644 ver-4.4.0/namespaceip__rot__equid__cylind__grid__mod.html
 create mode 100644 ver-4.4.0/namespaceip__rot__equid__cylind__grid__mod.js
 create mode 100644 ver-4.4.0/namespaceip__station__points__grid__mod.html
 create mode 100644 ver-4.4.0/namespaceip__station__points__grid__mod.js
 create mode 100644 ver-4.4.0/namespaceipolates__mod.html
 create mode 100644 ver-4.4.0/namespaceipolates__mod.js
 create mode 100644 ver-4.4.0/namespaceipolatev__mod.html
 create mode 100644 ver-4.4.0/namespaceipolatev__mod.js
 create mode 100644 ver-4.4.0/namespacemembers.html
 create mode 100644 ver-4.4.0/namespacemembers_func.html
 create mode 100644 ver-4.4.0/namespacemembers_vars.html
 create mode 100644 ver-4.4.0/namespaceneighbor__budget__interp__mod.html
 create mode 100644 ver-4.4.0/namespaceneighbor__budget__interp__mod.js
 create mode 100644 ver-4.4.0/namespaceneighbor__interp__mod.html
 create mode 100644 ver-4.4.0/namespaceneighbor__interp__mod.js
 create mode 100644 ver-4.4.0/namespacepolfix__mod.html
 create mode 100644 ver-4.4.0/namespaces.html
 create mode 100644 ver-4.4.0/namespaces_dup.js
 create mode 100644 ver-4.4.0/namespacespectral__interp__mod.html
 create mode 100644 ver-4.4.0/namespacespectral__interp__mod.js
 create mode 100644 ver-4.4.0/nav_f.png
 create mode 100644 ver-4.4.0/nav_g.png
 create mode 100644 ver-4.4.0/nav_h.png
 create mode 100644 ver-4.4.0/navtree.css
 create mode 100644 ver-4.4.0/navtree.js
 create mode 100644 ver-4.4.0/navtreedata.js
 create mode 100644 ver-4.4.0/navtreeindex0.js
 create mode 100644 ver-4.4.0/navtreeindex1.js
 create mode 100644 ver-4.4.0/navtreeindex2.js
 create mode 100644 ver-4.4.0/navtreeindex3.js
 create mode 100644 ver-4.4.0/neighbor__budget__interp__mod_8F90.html
 create mode 100644 ver-4.4.0/neighbor__budget__interp__mod_8F90.js
 create mode 100644 ver-4.4.0/neighbor__budget__interp__mod_8F90_source.html
 create mode 100644 ver-4.4.0/neighbor__interp__mod_8F90.html
 create mode 100644 ver-4.4.0/neighbor__interp__mod_8F90.js
 create mode 100644 ver-4.4.0/neighbor__interp__mod_8F90_source.html
 create mode 100644 ver-4.4.0/open.png
 create mode 100644 ver-4.4.0/polfix__mod_8F90.html
 create mode 100644 ver-4.4.0/polfix__mod_8F90.js
 create mode 100644 ver-4.4.0/polfix__mod_8F90_source.html
 create mode 100644 ver-4.4.0/resize.js
 create mode 100644 ver-4.4.0/search/all_0.html
 create mode 100644 ver-4.4.0/search/all_0.js
 create mode 100644 ver-4.4.0/search/all_1.html
 create mode 100644 ver-4.4.0/search/all_1.js
 create mode 100644 ver-4.4.0/search/all_10.html
 create mode 100644 ver-4.4.0/search/all_10.js
 create mode 100644 ver-4.4.0/search/all_11.html
 create mode 100644 ver-4.4.0/search/all_11.js
 create mode 100644 ver-4.4.0/search/all_12.html
 create mode 100644 ver-4.4.0/search/all_12.js
 create mode 100644 ver-4.4.0/search/all_13.html
 create mode 100644 ver-4.4.0/search/all_13.js
 create mode 100644 ver-4.4.0/search/all_2.html
 create mode 100644 ver-4.4.0/search/all_2.js
 create mode 100644 ver-4.4.0/search/all_3.html
 create mode 100644 ver-4.4.0/search/all_3.js
 create mode 100644 ver-4.4.0/search/all_4.html
 create mode 100644 ver-4.4.0/search/all_4.js
 create mode 100644 ver-4.4.0/search/all_5.html
 create mode 100644 ver-4.4.0/search/all_5.js
 create mode 100644 ver-4.4.0/search/all_6.html
 create mode 100644 ver-4.4.0/search/all_6.js
 create mode 100644 ver-4.4.0/search/all_7.html
 create mode 100644 ver-4.4.0/search/all_7.js
 create mode 100644 ver-4.4.0/search/all_8.html
 create mode 100644 ver-4.4.0/search/all_8.js
 create mode 100644 ver-4.4.0/search/all_9.html
 create mode 100644 ver-4.4.0/search/all_9.js
 create mode 100644 ver-4.4.0/search/all_a.html
 create mode 100644 ver-4.4.0/search/all_a.js
 create mode 100644 ver-4.4.0/search/all_b.html
 create mode 100644 ver-4.4.0/search/all_b.js
 create mode 100644 ver-4.4.0/search/all_c.html
 create mode 100644 ver-4.4.0/search/all_c.js
 create mode 100644 ver-4.4.0/search/all_d.html
 create mode 100644 ver-4.4.0/search/all_d.js
 create mode 100644 ver-4.4.0/search/all_e.html
 create mode 100644 ver-4.4.0/search/all_e.js
 create mode 100644 ver-4.4.0/search/all_f.html
 create mode 100644 ver-4.4.0/search/all_f.js
 create mode 100644 ver-4.4.0/search/classes_0.html
 create mode 100644 ver-4.4.0/search/classes_0.js
 create mode 100644 ver-4.4.0/search/classes_1.html
 create mode 100644 ver-4.4.0/search/classes_1.js
 create mode 100644 ver-4.4.0/search/classes_2.html
 create mode 100644 ver-4.4.0/search/classes_2.js
 create mode 100644 ver-4.4.0/search/classes_3.html
 create mode 100644 ver-4.4.0/search/classes_3.js
 create mode 100644 ver-4.4.0/search/close.svg
 create mode 100644 ver-4.4.0/search/files_0.html
 create mode 100644 ver-4.4.0/search/files_0.js
 create mode 100644 ver-4.4.0/search/files_1.html
 create mode 100644 ver-4.4.0/search/files_1.js
 create mode 100644 ver-4.4.0/search/files_2.html
 create mode 100644 ver-4.4.0/search/files_2.js
 create mode 100644 ver-4.4.0/search/files_3.html
 create mode 100644 ver-4.4.0/search/files_3.js
 create mode 100644 ver-4.4.0/search/files_4.html
 create mode 100644 ver-4.4.0/search/files_4.js
 create mode 100644 ver-4.4.0/search/files_5.html
 create mode 100644 ver-4.4.0/search/files_5.js
 create mode 100644 ver-4.4.0/search/files_6.html
 create mode 100644 ver-4.4.0/search/files_6.js
 create mode 100644 ver-4.4.0/search/files_7.html
 create mode 100644 ver-4.4.0/search/files_7.js
 create mode 100644 ver-4.4.0/search/functions_0.html
 create mode 100644 ver-4.4.0/search/functions_0.js
 create mode 100644 ver-4.4.0/search/functions_1.html
 create mode 100644 ver-4.4.0/search/functions_1.js
 create mode 100644 ver-4.4.0/search/functions_2.html
 create mode 100644 ver-4.4.0/search/functions_2.js
 create mode 100644 ver-4.4.0/search/functions_3.html
 create mode 100644 ver-4.4.0/search/functions_3.js
 create mode 100644 ver-4.4.0/search/functions_4.html
 create mode 100644 ver-4.4.0/search/functions_4.js
 create mode 100644 ver-4.4.0/search/functions_5.html
 create mode 100644 ver-4.4.0/search/functions_5.js
 create mode 100644 ver-4.4.0/search/functions_6.html
 create mode 100644 ver-4.4.0/search/functions_6.js
 create mode 100644 ver-4.4.0/search/functions_7.html
 create mode 100644 ver-4.4.0/search/functions_7.js
 create mode 100644 ver-4.4.0/search/mag_sel.svg
 create mode 100644 ver-4.4.0/search/namespaces_0.html
 create mode 100644 ver-4.4.0/search/namespaces_0.js
 create mode 100644 ver-4.4.0/search/namespaces_1.html
 create mode 100644 ver-4.4.0/search/namespaces_1.js
 create mode 100644 ver-4.4.0/search/namespaces_2.html
 create mode 100644 ver-4.4.0/search/namespaces_2.js
 create mode 100644 ver-4.4.0/search/namespaces_3.html
 create mode 100644 ver-4.4.0/search/namespaces_3.js
 create mode 100644 ver-4.4.0/search/namespaces_4.html
 create mode 100644 ver-4.4.0/search/namespaces_4.js
 create mode 100644 ver-4.4.0/search/namespaces_5.html
 create mode 100644 ver-4.4.0/search/namespaces_5.js
 create mode 100644 ver-4.4.0/search/namespaces_6.html
 create mode 100644 ver-4.4.0/search/namespaces_6.js
 create mode 100644 ver-4.4.0/search/nomatches.html
 create mode 100644 ver-4.4.0/search/search.css
 create mode 100644 ver-4.4.0/search/search.js
 create mode 100644 ver-4.4.0/search/search_l.png
 create mode 100644 ver-4.4.0/search/search_m.png
 create mode 100644 ver-4.4.0/search/search_r.png
 create mode 100644 ver-4.4.0/search/searchdata.js
 create mode 100644 ver-4.4.0/search/variables_0.html
 create mode 100644 ver-4.4.0/search/variables_0.js
 create mode 100644 ver-4.4.0/search/variables_1.html
 create mode 100644 ver-4.4.0/search/variables_1.js
 create mode 100644 ver-4.4.0/search/variables_10.html
 create mode 100644 ver-4.4.0/search/variables_10.js
 create mode 100644 ver-4.4.0/search/variables_11.html
 create mode 100644 ver-4.4.0/search/variables_11.js
 create mode 100644 ver-4.4.0/search/variables_12.html
 create mode 100644 ver-4.4.0/search/variables_12.js
 create mode 100644 ver-4.4.0/search/variables_2.html
 create mode 100644 ver-4.4.0/search/variables_2.js
 create mode 100644 ver-4.4.0/search/variables_3.html
 create mode 100644 ver-4.4.0/search/variables_3.js
 create mode 100644 ver-4.4.0/search/variables_4.html
 create mode 100644 ver-4.4.0/search/variables_4.js
 create mode 100644 ver-4.4.0/search/variables_5.html
 create mode 100644 ver-4.4.0/search/variables_5.js
 create mode 100644 ver-4.4.0/search/variables_6.html
 create mode 100644 ver-4.4.0/search/variables_6.js
 create mode 100644 ver-4.4.0/search/variables_7.html
 create mode 100644 ver-4.4.0/search/variables_7.js
 create mode 100644 ver-4.4.0/search/variables_8.html
 create mode 100644 ver-4.4.0/search/variables_8.js
 create mode 100644 ver-4.4.0/search/variables_9.html
 create mode 100644 ver-4.4.0/search/variables_9.js
 create mode 100644 ver-4.4.0/search/variables_a.html
 create mode 100644 ver-4.4.0/search/variables_a.js
 create mode 100644 ver-4.4.0/search/variables_b.html
 create mode 100644 ver-4.4.0/search/variables_b.js
 create mode 100644 ver-4.4.0/search/variables_c.html
 create mode 100644 ver-4.4.0/search/variables_c.js
 create mode 100644 ver-4.4.0/search/variables_d.html
 create mode 100644 ver-4.4.0/search/variables_d.js
 create mode 100644 ver-4.4.0/search/variables_e.html
 create mode 100644 ver-4.4.0/search/variables_e.js
 create mode 100644 ver-4.4.0/search/variables_f.html
 create mode 100644 ver-4.4.0/search/variables_f.js
 create mode 100644 ver-4.4.0/spectral__interp__mod_8F90.html
 create mode 100644 ver-4.4.0/spectral__interp__mod_8F90.js
 create mode 100644 ver-4.4.0/spectral__interp__mod_8F90_source.html
 create mode 100644 ver-4.4.0/splitbar.png
 create mode 100644 ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html
 create mode 100644 ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.js
 create mode 100644 ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.png
 create mode 100644 ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.html
 create mode 100644 ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.js
 create mode 100644 ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.png
 create mode 100644 ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.html
 create mode 100644 ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.js
 create mode 100644 ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.png
 create mode 100644 ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.html
 create mode 100644 ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.js
 create mode 100644 ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.png
 create mode 100644 ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.html
 create mode 100644 ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.js
 create mode 100644 ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.png
 create mode 100644 ver-4.4.0/structip__grid__mod_1_1ip__grid.html
 create mode 100644 ver-4.4.0/structip__grid__mod_1_1ip__grid.js
 create mode 100644 ver-4.4.0/structip__grid__mod_1_1ip__grid.png
 create mode 100644 ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html
 create mode 100644 ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.js
 create mode 100644 ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.png
 create mode 100644 ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.html
 create mode 100644 ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.js
 create mode 100644 ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.png
 create mode 100644 ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html
 create mode 100644 ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.js
 create mode 100644 ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.png
 create mode 100644 ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html
 create mode 100644 ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.js
 create mode 100644 ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.png
 create mode 100644 ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html
 create mode 100644 ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.js
 create mode 100644 ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.png
 create mode 100644 ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.html
 create mode 100644 ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.js
 create mode 100644 ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.png
 create mode 100644 ver-4.4.0/sync_off.png
 create mode 100644 ver-4.4.0/sync_on.png
 create mode 100644 ver-4.4.0/tab_a.png
 create mode 100644 ver-4.4.0/tab_b.png
 create mode 100644 ver-4.4.0/tab_h.png
 create mode 100644 ver-4.4.0/tab_s.png
 create mode 100644 ver-4.4.0/tabs.css

diff --git a/annotated.html b/annotated.html
index 4b10de2e..97be86b9 100644
--- a/annotated.html
+++ b/annotated.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/bicubic__interp__mod_8F90.html b/bicubic__interp__mod_8F90.html
index dec5b6da..b524a502 100644
--- a/bicubic__interp__mod_8F90.html
+++ b/bicubic__interp__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/bicubic__interp__mod_8F90_source.html b/bicubic__interp__mod_8F90_source.html
index 564d59b2..32bb7b9f 100644
--- a/bicubic__interp__mod_8F90_source.html
+++ b/bicubic__interp__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/bilinear__interp__mod_8F90.html b/bilinear__interp__mod_8F90.html
index 8f2b1392..23ef2200 100644
--- a/bilinear__interp__mod_8F90.html
+++ b/bilinear__interp__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/bilinear__interp__mod_8F90_source.html b/bilinear__interp__mod_8F90_source.html
index 5ebd1e9d..b02bd4fc 100644
--- a/bilinear__interp__mod_8F90_source.html
+++ b/bilinear__interp__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/budget__interp__mod_8F90.html b/budget__interp__mod_8F90.html
index 79ee8bc1..1649db1a 100644
--- a/budget__interp__mod_8F90.html
+++ b/budget__interp__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/budget__interp__mod_8F90_source.html b/budget__interp__mod_8F90_source.html
index e5e94c6a..e65f6bc7 100644
--- a/budget__interp__mod_8F90_source.html
+++ b/budget__interp__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/classes.html b/classes.html
index 4dbc7390..393d4108 100644
--- a/classes.html
+++ b/classes.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/dir_49e56c817e5e54854c35e136979f97ca.html b/dir_49e56c817e5e54854c35e136979f97ca.html
index 3016927e..e0675537 100644
--- a/dir_49e56c817e5e54854c35e136979f97ca.html
+++ b/dir_49e56c817e5e54854c35e136979f97ca.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html
index d07cd635..9a85d633 100644
--- a/dir_68267d1309a1af8e8297ef4c3efbcdba.html
+++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -101,6 +101,9 @@
 <tr class="memitem:earth__radius__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="earth__radius__mod_8F90.html">earth_radius_mod.F90</a> <a href="earth__radius__mod_8F90_source.html">[code]</a></td></tr>
 <tr class="memdesc:earth__radius__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine earth radius and shape. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:fftpack_8F"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html">fftpack.F</a> <a href="fftpack_8F_source.html">[code]</a></td></tr>
+<tr class="memdesc:fftpack_8F"><td class="mdescLeft">&#160;</td><td class="mdescRight">A concatination of the (FFTPACK)[<a href="https://netlib.org/fftpack/">https://netlib.org/fftpack/</a>] library code. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gdswzd__c_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gdswzd__c_8F90.html">gdswzd_c.F90</a> <a href="gdswzd__c_8F90_source.html">[code]</a></td></tr>
 <tr class="memdesc:gdswzd__c_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -179,9 +182,15 @@
 <tr class="memitem:ipxwafs3_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipxwafs3_8F90.html">ipxwafs3.F90</a> <a href="ipxwafs3_8F90_source.html">[code]</a></td></tr>
 <tr class="memdesc:ipxwafs3_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:lapack__gen_8F"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lapack__gen_8F.html">lapack_gen.F</a> <a href="lapack__gen_8F_source.html">[code]</a></td></tr>
+<tr class="memdesc:lapack__gen_8F"><td class="mdescLeft">&#160;</td><td class="mdescRight">Two Numerical Recipes routines for matrix inversion From Numerical Recipes. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:movect_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="movect_8F90.html">movect.F90</a> <a href="movect_8F90_source.html">[code]</a></td></tr>
 <tr class="memdesc:movect_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move a vector along a great circle. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ncpus_8F"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ncpus_8F.html">ncpus.F</a> <a href="ncpus_8F_source.html">[code]</a></td></tr>
+<tr class="memdesc:ncpus_8F"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set number of cpus. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:neighbor__budget__interp__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="neighbor__budget__interp__mod_8F90.html">neighbor_budget_interp_mod.F90</a> <a href="neighbor__budget__interp__mod_8F90_source.html">[code]</a></td></tr>
 <tr class="memdesc:neighbor__budget__interp__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar and vector fields with neighbor budget interpolation. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -191,9 +200,165 @@
 <tr class="memitem:polfix__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="polfix__mod_8F90.html">polfix_mod.F90</a> <a href="polfix__mod_8F90_source.html">[code]</a></td></tr>
 <tr class="memdesc:polfix__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make multiple pole scalar values consistent. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spanaly_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spanaly_8f.html">spanaly.f</a> <a href="spanaly_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spanaly_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Analyze spectral from Fourier. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spdz2uv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spdz2uv_8f.html">spdz2uv.f</a> <a href="spdz2uv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spdz2uv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute winds from divergence and vorticity. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:spectral__interp__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spectral__interp__mod_8F90.html">spectral_interp_mod.F90</a> <a href="spectral__interp__mod_8F90_source.html">[code]</a></td></tr>
 <tr class="memdesc:spectral__interp__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate spectral. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:speps_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="speps_8f.html">speps.f</a> <a href="speps_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:speps_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute utility spectral fields. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spfft_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spfft_8f.html">spfft.f</a> <a href="spfft_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spfft_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform multiple fast fourier transforms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spfft1_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spfft1_8f.html">spfft1.f</a> <a href="spfft1_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spfft1_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform multiple fast Fourier transforms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spffte_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spffte_8f.html">spffte.f</a> <a href="spffte_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spffte_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform multiple fast Fourier transforms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spfftpt_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spfftpt_8f.html">spfftpt.f</a> <a href="spfftpt_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spfftpt_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute fourier transform to gridpoints. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spgradq_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spgradq_8f.html">spgradq.f</a> <a href="spgradq_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spgradq_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradient in spectral space. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spgradx_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spgradx_8f.html">spgradx.f</a> <a href="spgradx_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spgradx_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute x-gradient in Fourier space. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spgrady_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spgrady_8f.html">spgrady.f</a> <a href="spgrady_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spgrady_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute y-gradient in spectral space. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:splaplac_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="splaplac_8f.html">splaplac.f</a> <a href="splaplac_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:splaplac_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute laplacian in spectral space. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:splat_8F"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="splat_8F.html">splat.F</a> <a href="splat_8F_source.html">[code]</a></td></tr>
+<tr class="memdesc:splat_8F"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes cosines of colatitude and Gaussian weights for sets of latitudes. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:splegend_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="splegend_8f.html">splegend.f</a> <a href="splegend_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:splegend_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute Legendre polynomials. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sppad_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sppad_8f.html">sppad.f</a> <a href="sppad_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sppad_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pad or truncate a spectral field. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spsynth_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spsynth_8f.html">spsynth.f</a> <a href="spsynth_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spsynth_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synthesize Fourier coefficients from spectral coefficients. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptez_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptez_8f.html">sptez.f</a> <a href="sptez_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptez_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a simple scalar spherical transform. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptezd_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezd_8f.html">sptezd.f</a> <a href="sptezd_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptezd_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a simple gradient spherical transform. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptezm_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezm_8f.html">sptezm.f</a> <a href="sptezm_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptezm_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform simple scalar spherical transforms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptezmd_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezmd_8f.html">sptezmd.f</a> <a href="sptezmd_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptezmd_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform simple gradient spherical transforms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptezmv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezmv_8f.html">sptezmv.f</a> <a href="sptezmv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptezmv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform simple vector spherical transforms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptezv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezv_8f.html">sptezv.f</a> <a href="sptezv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptezv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a simple vector spherical transform. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgpm_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpm_8f.html">sptgpm.f</a> <a href="sptgpm_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgpm_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral scalar to Mercator. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgpmd_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpmd_8f.html">sptgpmd.f</a> <a href="sptgpmd_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgpmd_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral to Mercator gradients. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgpmv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpmv_8f.html">sptgpmv.f</a> <a href="sptgpmv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgpmv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral vector to Mercator. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgps_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgps_8f.html">sptgps.f</a> <a href="sptgps_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgps_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral scalar to polar stereo. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgpsd_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpsd_8f.html">sptgpsd.f</a> <a href="sptgpsd_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgpsd_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral to polar stereographic gradients. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgpsv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpsv_8f.html">sptgpsv.f</a> <a href="sptgpsv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgpsv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral vector to polar stereo. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgpt_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpt_8f.html">sptgpt.f</a> <a href="sptgpt_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgpt_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral scalar to station points. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgptd_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgptd_8f.html">sptgptd.f</a> <a href="sptgptd_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgptd_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral to station point gradients. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgptsd_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgptsd_8f.html">sptgptsd.f</a> <a href="sptgptsd_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgptsd_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral scalar to station points. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgptv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgptv_8f.html">sptgptv.f</a> <a href="sptgptv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgptv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral vector to station points. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptgptvd_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgptvd_8f.html">sptgptvd.f</a> <a href="sptgptvd_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptgptvd_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform spectral vector to station points. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptran_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptran_8f.html">sptran.f</a> <a href="sptran_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptran_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a scalar spherical transform. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrand_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrand_8f.html">sptrand.f</a> <a href="sptrand_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrand_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a gradient spherical transform. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptranf_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranf_8f.html">sptranf.f</a> <a href="sptranf_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptranf_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a scalar spherical transform. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptranf0_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranf0_8f.html">sptranf0.f</a> <a href="sptranf0_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptranf0_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sptranf spectral initialization. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptranf1_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranf1_8f.html">sptranf1.f</a> <a href="sptranf1_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptranf1_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sptranf spectral transform. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptranfv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranfv_8f.html">sptranfv.f</a> <a href="sptranfv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptranfv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a vector spherical transform. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptranv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranv_8f.html">sptranv.f</a> <a href="sptranv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptranv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a vector spherical transform. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrun_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrun_8f.html">sptrun.f</a> <a href="sptrun_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrun_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Truncate gridded scalar fields. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrund_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrund_8f.html">sptrund.f</a> <a href="sptrund_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrund_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spectrally truncate to gradients. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrung_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrung_8f.html">sptrung.f</a> <a href="sptrung_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrung_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spectrally interpolate scalars to stations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrungv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrungv_8f.html">sptrungv.f</a> <a href="sptrungv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrungv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spectrally interpolate vectors to stations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrunl_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunl_8f.html">sptrunl.f</a> <a href="sptrunl_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrunl_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spectrally truncate to laplacian. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrunm_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunm_8f.html">sptrunm.f</a> <a href="sptrunm_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrunm_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spectrally interpolate scalars to Mercator. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrunmv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunmv_8f.html">sptrunmv.f</a> <a href="sptrunmv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrunmv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spectrally interpolate vectors to Mercator. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptruns_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptruns_8f.html">sptruns.f</a> <a href="sptruns_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptruns_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spectrally interpolate scalars to polar stereo. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrunsv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunsv_8f.html">sptrunsv.f</a> <a href="sptrunsv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrunsv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spectrally interpolate vectors to polar stereo. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sptrunv_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunv_8f.html">sptrunv.f</a> <a href="sptrunv_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:sptrunv_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spectrally truncate gridded vector fields. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spuv2dz_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spuv2dz_8f.html">spuv2dz.f</a> <a href="spuv2dz_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spuv2dz_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute divergence and vorticity from winds. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spvar_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spvar_8f.html">spvar.f</a> <a href="spvar_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spvar_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute variance by total wavenumber. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spwget_8f"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spwget_8f.html">spwget.f</a> <a href="spwget_8f_source.html">[code]</a></td></tr>
+<tr class="memdesc:spwget_8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get wave-space constants. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 </div><!-- doc-content -->
diff --git a/earth__radius__mod_8F90.html b/earth__radius__mod_8F90.html
index f66914b9..f3c95df8 100644
--- a/earth__radius__mod_8F90.html
+++ b/earth__radius__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/earth__radius__mod_8F90_source.html b/earth__radius__mod_8F90_source.html
index 42b97e3c..a98dfc76 100644
--- a/earth__radius__mod_8F90_source.html
+++ b/earth__radius__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/fftpack_8F.html b/fftpack_8F.html
new file mode 100644
index 00000000..b07498cc
--- /dev/null
+++ b/fftpack_8F.html
@@ -0,0 +1,2006 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: fftpack.F File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('fftpack_8F.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">fftpack.F File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A concatination of the (FFTPACK)[<a href="https://netlib.org/fftpack/">https://netlib.org/fftpack/</a>] library code.  
+<a href="#details">More...</a></p>
+
+<p><a href="fftpack_8F_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ad261879c88a7f040e43f1549e65f36e5"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5">csfft</a> (isign, n, scale, x, y, table, work, isys)</td></tr>
+<tr class="memdesc:ad261879c88a7f040e43f1549e65f36e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">csfft  <a href="fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5">More...</a><br /></td></tr>
+<tr class="separator:ad261879c88a7f040e43f1549e65f36e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a713ef445886ad8dc8b16692c6075d225"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">dcrft</a> (init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</td></tr>
+<tr class="memdesc:a713ef445886ad8dc8b16692c6075d225"><td class="mdescLeft">&#160;</td><td class="mdescRight">dcrft  <a href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">More...</a><br /></td></tr>
+<tr class="separator:a713ef445886ad8dc8b16692c6075d225"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55b05419c0d3bb0595b34c8cacf93be8"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">drcft</a> (init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</td></tr>
+<tr class="memdesc:a55b05419c0d3bb0595b34c8cacf93be8"><td class="mdescLeft">&#160;</td><td class="mdescRight">drcft  <a href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">More...</a><br /></td></tr>
+<tr class="separator:a55b05419c0d3bb0595b34c8cacf93be8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae63abe3a02989ed4fbd60b50bc0c6dda"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda">radb2</a> (IDO, L1, CC, CH, WA1)</td></tr>
+<tr class="memdesc:ae63abe3a02989ed4fbd60b50bc0c6dda"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADB2.  <a href="fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda">More...</a><br /></td></tr>
+<tr class="separator:ae63abe3a02989ed4fbd60b50bc0c6dda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6129001ac4cdf5d5a345edc2822d8014"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014">radb3</a> (IDO, L1, CC, CH, WA1, WA2)</td></tr>
+<tr class="memdesc:a6129001ac4cdf5d5a345edc2822d8014"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADB3 <br  />
+  <a href="fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014">More...</a><br /></td></tr>
+<tr class="separator:a6129001ac4cdf5d5a345edc2822d8014"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b5aab129020968eaf92f2e6ca0785ef"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef">radb4</a> (IDO, L1, CC, CH, WA1, WA2, WA3)</td></tr>
+<tr class="memdesc:a3b5aab129020968eaf92f2e6ca0785ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADB4.  <a href="fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef">More...</a><br /></td></tr>
+<tr class="separator:a3b5aab129020968eaf92f2e6ca0785ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b6492f922cbee03af5b89d52356abf1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1">radb5</a> (IDO, L1, CC, CH, WA1, WA2, WA3, WA4)</td></tr>
+<tr class="memdesc:a2b6492f922cbee03af5b89d52356abf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADB5.  <a href="fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1">More...</a><br /></td></tr>
+<tr class="separator:a2b6492f922cbee03af5b89d52356abf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5a2521b66fece6cc768206c1df0d20b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b">radbg</a> (IDO, IP, L1, IDL1, CC, C1, C2, CH, CH2, WA)</td></tr>
+<tr class="memdesc:af5a2521b66fece6cc768206c1df0d20b"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADBG.  <a href="fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b">More...</a><br /></td></tr>
+<tr class="separator:af5a2521b66fece6cc768206c1df0d20b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70e2420dd5bee9e41eb6c15bbad5eef6"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6">radf2</a> (IDO, L1, CC, CH, WA1)</td></tr>
+<tr class="memdesc:a70e2420dd5bee9e41eb6c15bbad5eef6"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADBG.  <a href="fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6">More...</a><br /></td></tr>
+<tr class="separator:a70e2420dd5bee9e41eb6c15bbad5eef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51374398f8edd5701987ce483c739592"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a51374398f8edd5701987ce483c739592">radf3</a> (IDO, L1, CC, CH, WA1, WA2)</td></tr>
+<tr class="memdesc:a51374398f8edd5701987ce483c739592"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADF3.  <a href="fftpack_8F.html#a51374398f8edd5701987ce483c739592">More...</a><br /></td></tr>
+<tr class="separator:a51374398f8edd5701987ce483c739592"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9910ca606fd0cdb03b5b3b98533f486"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486">radf4</a> (IDO, L1, CC, CH, WA1, WA2, WA3)</td></tr>
+<tr class="memdesc:ae9910ca606fd0cdb03b5b3b98533f486"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADF4.  <a href="fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486">More...</a><br /></td></tr>
+<tr class="separator:ae9910ca606fd0cdb03b5b3b98533f486"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d852c36924b038f77a24b8e22205add"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a6d852c36924b038f77a24b8e22205add">radf5</a> (IDO, L1, CC, CH, WA1, WA2, WA3, WA4)</td></tr>
+<tr class="memdesc:a6d852c36924b038f77a24b8e22205add"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADF5.  <a href="fftpack_8F.html#a6d852c36924b038f77a24b8e22205add">More...</a><br /></td></tr>
+<tr class="separator:a6d852c36924b038f77a24b8e22205add"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5dbca6bb6ee7c0a86a1e140627de1b2"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2">radfg</a> (IDO, IP, L1, IDL1, CC, C1, C2, CH, CH2, WA)</td></tr>
+<tr class="memdesc:ad5dbca6bb6ee7c0a86a1e140627de1b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADFG.  <a href="fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2">More...</a><br /></td></tr>
+<tr class="separator:ad5dbca6bb6ee7c0a86a1e140627de1b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79ba25d1f342858b0faa3c3e3585ec88"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">rfftb</a> (N, R, WSAVE)</td></tr>
+<tr class="memdesc:a79ba25d1f342858b0faa3c3e3585ec88"><td class="mdescLeft">&#160;</td><td class="mdescRight">RFFTB.  <a href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">More...</a><br /></td></tr>
+<tr class="separator:a79ba25d1f342858b0faa3c3e3585ec88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa735c298a72dd1c13ab1c45e737c066"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066">rfftb1</a> (N, C, CH, WA, IFAC)</td></tr>
+<tr class="memdesc:afa735c298a72dd1c13ab1c45e737c066"><td class="mdescLeft">&#160;</td><td class="mdescRight">RFFTB1.  <a href="fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066">More...</a><br /></td></tr>
+<tr class="separator:afa735c298a72dd1c13ab1c45e737c066"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afbb5dc9c70ebe24759d5ffec1d3e42e2"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">rfftf</a> (N, R, WSAVE)</td></tr>
+<tr class="memdesc:afbb5dc9c70ebe24759d5ffec1d3e42e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">RFFTF.  <a href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">More...</a><br /></td></tr>
+<tr class="separator:afbb5dc9c70ebe24759d5ffec1d3e42e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdf9efa42dc73f90af444ee0da649a09"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09">rfftf1</a> (N, C, CH, WA, IFAC)</td></tr>
+<tr class="memdesc:acdf9efa42dc73f90af444ee0da649a09"><td class="mdescLeft">&#160;</td><td class="mdescRight">RFFTF1.  <a href="fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09">More...</a><br /></td></tr>
+<tr class="separator:acdf9efa42dc73f90af444ee0da649a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50f1237ff5990436609962c0eae406db"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">rffti</a> (N, WSAVE)</td></tr>
+<tr class="memdesc:a50f1237ff5990436609962c0eae406db"><td class="mdescLeft">&#160;</td><td class="mdescRight">RFFTI.  <a href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">More...</a><br /></td></tr>
+<tr class="separator:a50f1237ff5990436609962c0eae406db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3569ef7a371390f6bf38417865ef71b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b">rffti1</a> (N, WA, IFAC)</td></tr>
+<tr class="memdesc:ae3569ef7a371390f6bf38417865ef71b"><td class="mdescLeft">&#160;</td><td class="mdescRight">RFFTI1.  <a href="fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b">More...</a><br /></td></tr>
+<tr class="separator:ae3569ef7a371390f6bf38417865ef71b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a369071ea2d380c9d91ba36d1bf375e33"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33">scfft</a> (isign, n, scale, x, y, table, work, isys)</td></tr>
+<tr class="memdesc:a369071ea2d380c9d91ba36d1bf375e33"><td class="mdescLeft">&#160;</td><td class="mdescRight">scfft  <a href="fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33">More...</a><br /></td></tr>
+<tr class="separator:a369071ea2d380c9d91ba36d1bf375e33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac69cbd64be972c20a4424f5327fb4b36"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a> (init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</td></tr>
+<tr class="memdesc:ac69cbd64be972c20a4424f5327fb4b36"><td class="mdescLeft">&#160;</td><td class="mdescRight">scrft  <a href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">More...</a><br /></td></tr>
+<tr class="separator:ac69cbd64be972c20a4424f5327fb4b36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf248c4f27a9fa81cffdfded50eee742"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a> (init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</td></tr>
+<tr class="memdesc:acf248c4f27a9fa81cffdfded50eee742"><td class="mdescLeft">&#160;</td><td class="mdescRight">srcft  <a href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">More...</a><br /></td></tr>
+<tr class="separator:acf248c4f27a9fa81cffdfded50eee742"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A concatination of the (FFTPACK)[<a href="https://netlib.org/fftpack/">https://netlib.org/fftpack/</a>] library code. </p>
+<p>FFTPACK is a package of Fortran subprograms for the fast Fourier transform of periodic and other symmetric sequences. It includes complex, real, sine, cosine, and quarter-wave transforms.</p>
+<p>Reference:</p><ul>
+<li><p class="startli">P.N. Swarztrauber, Vectorizing the FFTs, in Parallel Computations (G. Rodrigue, ed.), Academic Press, 1982, pp. 51&ndash;83.</p>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+</li>
+</ul>
+
+<p class="definition">Definition in file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ad261879c88a7f040e43f1549e65f36e5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad261879c88a7f040e43f1549e65f36e5">&#9670;&nbsp;</a></span>csfft()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine csfft </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>isign</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>scale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>work</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>isys</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>csfft </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">isign</td><td></td></tr>
+    <tr><td class="paramname">n</td><td></td></tr>
+    <tr><td class="paramname">scale</td><td></td></tr>
+    <tr><td class="paramname">x</td><td></td></tr>
+    <tr><td class="paramname">y</td><td></td></tr>
+    <tr><td class="paramname">table</td><td></td></tr>
+    <tr><td class="paramname">work</td><td></td></tr>
+    <tr><td class="paramname">isys</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00116">116</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00297">rfftb()</a>, and <a class="el" href="fftpack_8F_source.html#l00310">rffti()</a>.</p>
+
+</div>
+</div>
+<a id="a713ef445886ad8dc8b16692c6075d225"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a713ef445886ad8dc8b16692c6075d225">&#9670;&nbsp;</a></span>dcrft()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine dcrft </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>init</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*ldx,*)&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ldx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(ldy,*)&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ldy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>isign</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>scale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(44002)&#160;</td>
+          <td class="paramname"><em>table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>wrk</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>z</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>nz</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>dcrft </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">init</td><td></td></tr>
+    <tr><td class="paramname">x</td><td></td></tr>
+    <tr><td class="paramname">ldx</td><td></td></tr>
+    <tr><td class="paramname">y</td><td></td></tr>
+    <tr><td class="paramname">ldy</td><td></td></tr>
+    <tr><td class="paramname">n</td><td></td></tr>
+    <tr><td class="paramname">m</td><td></td></tr>
+    <tr><td class="paramname">isign</td><td></td></tr>
+    <tr><td class="paramname">scale</td><td></td></tr>
+    <tr><td class="paramname">table</td><td></td></tr>
+    <tr><td class="paramname">n1</td><td></td></tr>
+    <tr><td class="paramname">wrk</td><td></td></tr>
+    <tr><td class="paramname">n2</td><td></td></tr>
+    <tr><td class="paramname">z</td><td></td></tr>
+    <tr><td class="paramname">nz</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00032">32</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00297">rfftb()</a>, and <a class="el" href="fftpack_8F_source.html#l00310">rffti()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spffte_8f_source.html#l00049">spffte()</a>.</p>
+
+</div>
+</div>
+<a id="a55b05419c0d3bb0595b34c8cacf93be8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a55b05419c0d3bb0595b34c8cacf93be8">&#9670;&nbsp;</a></span>drcft()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine drcft </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>init</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(ldx,*)&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ldx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*ldy,*)&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ldy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>isign</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>scale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(44002)&#160;</td>
+          <td class="paramname"><em>table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>wrk</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>z</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>nz</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>drcft </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">init</td><td></td></tr>
+    <tr><td class="paramname">x</td><td></td></tr>
+    <tr><td class="paramname">ldx</td><td></td></tr>
+    <tr><td class="paramname">y</td><td></td></tr>
+    <tr><td class="paramname">ldy</td><td></td></tr>
+    <tr><td class="paramname">n</td><td></td></tr>
+    <tr><td class="paramname">m</td><td></td></tr>
+    <tr><td class="paramname">isign</td><td></td></tr>
+    <tr><td class="paramname">scale</td><td></td></tr>
+    <tr><td class="paramname">table</td><td></td></tr>
+    <tr><td class="paramname">n1</td><td></td></tr>
+    <tr><td class="paramname">wrk</td><td></td></tr>
+    <tr><td class="paramname">n2</td><td></td></tr>
+    <tr><td class="paramname">z</td><td></td></tr>
+    <tr><td class="paramname">nz</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00158">158</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00283">rfftf()</a>, and <a class="el" href="fftpack_8F_source.html#l00310">rffti()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spffte_8f_source.html#l00049">spffte()</a>.</p>
+
+</div>
+</div>
+<a id="ae63abe3a02989ed4fbd60b50bc0c6dda"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae63abe3a02989ed4fbd60b50bc0c6dda">&#9670;&nbsp;</a></span>radb2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radb2 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,2,l1)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,2)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA1</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADB2. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA1</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00530">530</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00326">rfftb1()</a>.</p>
+
+</div>
+</div>
+<a id="a6129001ac4cdf5d5a345edc2822d8014"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6129001ac4cdf5d5a345edc2822d8014">&#9670;&nbsp;</a></span>radb3()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radb3 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,3,l1)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,3)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADB3 <br  />
+ </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA1</td><td></td></tr>
+    <tr><td class="paramname">WA2</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00569">569</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00326">rfftb1()</a>.</p>
+
+</div>
+</div>
+<a id="a3b5aab129020968eaf92f2e6ca0785ef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3b5aab129020968eaf92f2e6ca0785ef">&#9670;&nbsp;</a></span>radb4()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radb4 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,4,l1)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,4)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA3</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADB4. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA1</td><td></td></tr>
+    <tr><td class="paramname">WA2</td><td></td></tr>
+    <tr><td class="paramname">WA3</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00619">619</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00326">rfftb1()</a>.</p>
+
+</div>
+</div>
+<a id="a2b6492f922cbee03af5b89d52356abf1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2b6492f922cbee03af5b89d52356abf1">&#9670;&nbsp;</a></span>radb5()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radb5 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,5,l1)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,5)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA3</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA4</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADB5. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA1</td><td></td></tr>
+    <tr><td class="paramname">WA2</td><td></td></tr>
+    <tr><td class="paramname">WA3</td><td></td></tr>
+    <tr><td class="paramname">WA4</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00690">690</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00326">rfftb1()</a>.</p>
+
+</div>
+</div>
+<a id="af5a2521b66fece6cc768206c1df0d20b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5a2521b66fece6cc768206c1df0d20b">&#9670;&nbsp;</a></span>radbg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radbg </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDL1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,ip,l1)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,ip)&#160;</td>
+          <td class="paramname"><em>C1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(idl1,ip)&#160;</td>
+          <td class="paramname"><em>C2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,ip)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(idl1,ip)&#160;</td>
+          <td class="paramname"><em>CH2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADBG. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">IP</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">IDL1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">C1</td><td></td></tr>
+    <tr><td class="paramname">C2</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">CH2</td><td></td></tr>
+    <tr><td class="paramname">WA</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00768">768</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00326">rfftb1()</a>.</p>
+
+</div>
+</div>
+<a id="a70e2420dd5bee9e41eb6c15bbad5eef6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a70e2420dd5bee9e41eb6c15bbad5eef6">&#9670;&nbsp;</a></span>radf2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radf2 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,2)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,2,l1)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA1</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADBG. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA1</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00946">946</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00395">rfftf1()</a>.</p>
+
+</div>
+</div>
+<a id="a51374398f8edd5701987ce483c739592"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a51374398f8edd5701987ce483c739592">&#9670;&nbsp;</a></span>radf3()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radf3 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,3)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,3,l1)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADF3. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA1</td><td></td></tr>
+    <tr><td class="paramname">WA2</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00984">984</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00395">rfftf1()</a>.</p>
+
+</div>
+</div>
+<a id="ae9910ca606fd0cdb03b5b3b98533f486"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae9910ca606fd0cdb03b5b3b98533f486">&#9670;&nbsp;</a></span>radf4()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radf4 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,4)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,4,l1)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA3</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADF4. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA1</td><td></td></tr>
+    <tr><td class="paramname">WA2</td><td></td></tr>
+    <tr><td class="paramname">WA3</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l01031">1031</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00395">rfftf1()</a>.</p>
+
+</div>
+</div>
+<a id="a6d852c36924b038f77a24b8e22205add"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d852c36924b038f77a24b8e22205add">&#9670;&nbsp;</a></span>radf5()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radf5 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,5)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,5,l1)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA3</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA4</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADF5. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA1</td><td></td></tr>
+    <tr><td class="paramname">WA2</td><td></td></tr>
+    <tr><td class="paramname">WA3</td><td></td></tr>
+    <tr><td class="paramname">WA4</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l01098">1098</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00395">rfftf1()</a>.</p>
+
+</div>
+</div>
+<a id="ad5dbca6bb6ee7c0a86a1e140627de1b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5dbca6bb6ee7c0a86a1e140627de1b2">&#9670;&nbsp;</a></span>radfg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine radfg </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>L1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDL1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,ip,l1)&#160;</td>
+          <td class="paramname"><em>CC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,ip)&#160;</td>
+          <td class="paramname"><em>C1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(idl1,ip)&#160;</td>
+          <td class="paramname"><em>C2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(ido,l1,ip)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(idl1,ip)&#160;</td>
+          <td class="paramname"><em>CH2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RADFG. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IDO</td><td></td></tr>
+    <tr><td class="paramname">IP</td><td></td></tr>
+    <tr><td class="paramname">L1</td><td></td></tr>
+    <tr><td class="paramname">IDL1</td><td></td></tr>
+    <tr><td class="paramname">CC</td><td></td></tr>
+    <tr><td class="paramname">C1</td><td></td></tr>
+    <tr><td class="paramname">C2</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">CH2</td><td></td></tr>
+    <tr><td class="paramname">WA</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l01172">1172</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00395">rfftf1()</a>.</p>
+
+</div>
+</div>
+<a id="a79ba25d1f342858b0faa3c3e3585ec88"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a79ba25d1f342858b0faa3c3e3585ec88">&#9670;&nbsp;</a></span>rfftb()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine rfftb </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>R</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WSAVE</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RFFTB. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">N</td><td></td></tr>
+    <tr><td class="paramname">R</td><td></td></tr>
+    <tr><td class="paramname">WSAVE</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00296">296</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00326">rfftb1()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00117">csfft()</a>, <a class="el" href="fftpack_8F_source.html#l00034">dcrft()</a>, and <a class="el" href="fftpack_8F_source.html#l00080">scrft()</a>.</p>
+
+</div>
+</div>
+<a id="afa735c298a72dd1c13ab1c45e737c066"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afa735c298a72dd1c13ab1c45e737c066">&#9670;&nbsp;</a></span>rfftb1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine rfftb1 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(*)&#160;</td>
+          <td class="paramname"><em>IFAC</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RFFTB1. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">N</td><td></td></tr>
+    <tr><td class="paramname">C</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA</td><td></td></tr>
+    <tr><td class="paramname">IFAC</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00325">325</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00531">radb2()</a>, <a class="el" href="fftpack_8F_source.html#l00570">radb3()</a>, <a class="el" href="fftpack_8F_source.html#l00620">radb4()</a>, <a class="el" href="fftpack_8F_source.html#l00691">radb5()</a>, and <a class="el" href="fftpack_8F_source.html#l00769">radbg()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00297">rfftb()</a>.</p>
+
+</div>
+</div>
+<a id="afbb5dc9c70ebe24759d5ffec1d3e42e2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afbb5dc9c70ebe24759d5ffec1d3e42e2">&#9670;&nbsp;</a></span>rfftf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine rfftf </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>R</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WSAVE</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RFFTF. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">N</td><td></td></tr>
+    <tr><td class="paramname">R</td><td></td></tr>
+    <tr><td class="paramname">WSAVE</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00282">282</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00395">rfftf1()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00160">drcft()</a>, <a class="el" href="fftpack_8F_source.html#l00250">scfft()</a>, and <a class="el" href="fftpack_8F_source.html#l00209">srcft()</a>.</p>
+
+</div>
+</div>
+<a id="acdf9efa42dc73f90af444ee0da649a09"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acdf9efa42dc73f90af444ee0da649a09">&#9670;&nbsp;</a></span>rfftf1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine rfftf1 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>CH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(*)&#160;</td>
+          <td class="paramname"><em>IFAC</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RFFTF1. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">N</td><td></td></tr>
+    <tr><td class="paramname">C</td><td></td></tr>
+    <tr><td class="paramname">CH</td><td></td></tr>
+    <tr><td class="paramname">WA</td><td></td></tr>
+    <tr><td class="paramname">IFAC</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00394">394</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00947">radf2()</a>, <a class="el" href="fftpack_8F_source.html#l00985">radf3()</a>, <a class="el" href="fftpack_8F_source.html#l01032">radf4()</a>, <a class="el" href="fftpack_8F_source.html#l01099">radf5()</a>, and <a class="el" href="fftpack_8F_source.html#l01173">radfg()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00283">rfftf()</a>.</p>
+
+</div>
+</div>
+<a id="a50f1237ff5990436609962c0eae406db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50f1237ff5990436609962c0eae406db">&#9670;&nbsp;</a></span>rffti()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine rffti </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WSAVE</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RFFTI. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">N</td><td></td></tr>
+    <tr><td class="paramname">WSAVE</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00309">309</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00462">rffti1()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00117">csfft()</a>, <a class="el" href="fftpack_8F_source.html#l00034">dcrft()</a>, <a class="el" href="fftpack_8F_source.html#l00160">drcft()</a>, <a class="el" href="fftpack_8F_source.html#l00250">scfft()</a>, <a class="el" href="fftpack_8F_source.html#l00080">scrft()</a>, and <a class="el" href="fftpack_8F_source.html#l00209">srcft()</a>.</p>
+
+</div>
+</div>
+<a id="ae3569ef7a371390f6bf38417865ef71b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3569ef7a371390f6bf38417865ef71b">&#9670;&nbsp;</a></span>rffti1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine rffti1 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(1)&#160;</td>
+          <td class="paramname"><em>WA</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">dimension(*)&#160;</td>
+          <td class="paramname"><em>IFAC</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>RFFTI1. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">N</td><td></td></tr>
+    <tr><td class="paramname">WA</td><td></td></tr>
+    <tr><td class="paramname">IFAC</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00461">461</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="fftpack_8F_source.html#l00310">rffti()</a>.</p>
+
+</div>
+</div>
+<a id="a369071ea2d380c9d91ba36d1bf375e33"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a369071ea2d380c9d91ba36d1bf375e33">&#9670;&nbsp;</a></span>scfft()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine scfft </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>isign</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>scale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>work</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>isys</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>scfft </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">isign</td><td></td></tr>
+    <tr><td class="paramname">n</td><td></td></tr>
+    <tr><td class="paramname">scale</td><td></td></tr>
+    <tr><td class="paramname">x</td><td></td></tr>
+    <tr><td class="paramname">y</td><td></td></tr>
+    <tr><td class="paramname">table</td><td></td></tr>
+    <tr><td class="paramname">work</td><td></td></tr>
+    <tr><td class="paramname">isys</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00249">249</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00283">rfftf()</a>, and <a class="el" href="fftpack_8F_source.html#l00310">rffti()</a>.</p>
+
+</div>
+</div>
+<a id="ac69cbd64be972c20a4424f5327fb4b36"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac69cbd64be972c20a4424f5327fb4b36">&#9670;&nbsp;</a></span>scrft()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine scrft </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>init</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*ldx,*)&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ldx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(ldy,*)&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ldy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>isign</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>scale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(44002)&#160;</td>
+          <td class="paramname"><em>table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>wrk</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>z</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>nz</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>scrft </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">init</td><td></td></tr>
+    <tr><td class="paramname">x</td><td></td></tr>
+    <tr><td class="paramname">ldx</td><td></td></tr>
+    <tr><td class="paramname">y</td><td></td></tr>
+    <tr><td class="paramname">ldy</td><td></td></tr>
+    <tr><td class="paramname">n</td><td></td></tr>
+    <tr><td class="paramname">m</td><td></td></tr>
+    <tr><td class="paramname">isign</td><td></td></tr>
+    <tr><td class="paramname">scale</td><td></td></tr>
+    <tr><td class="paramname">table</td><td></td></tr>
+    <tr><td class="paramname">n1</td><td></td></tr>
+    <tr><td class="paramname">wrk</td><td></td></tr>
+    <tr><td class="paramname">n2</td><td></td></tr>
+    <tr><td class="paramname">z</td><td></td></tr>
+    <tr><td class="paramname">nz</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00078">78</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00297">rfftb()</a>, and <a class="el" href="fftpack_8F_source.html#l00310">rffti()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spfft_8f_source.html#l00041">spfft()</a>, <a class="el" href="spfft1_8f_source.html#l00033">spfft1()</a>, and <a class="el" href="spffte_8f_source.html#l00049">spffte()</a>.</p>
+
+</div>
+</div>
+<a id="acf248c4f27a9fa81cffdfded50eee742"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf248c4f27a9fa81cffdfded50eee742">&#9670;&nbsp;</a></span>srcft()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine srcft </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>init</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(ldx,*)&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ldx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*ldy,*)&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ldy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>isign</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>scale</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(44002)&#160;</td>
+          <td class="paramname"><em>table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>wrk</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real&#160;</td>
+          <td class="paramname"><em>z</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>nz</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>srcft </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">init</td><td></td></tr>
+    <tr><td class="paramname">x</td><td></td></tr>
+    <tr><td class="paramname">ldx</td><td></td></tr>
+    <tr><td class="paramname">y</td><td></td></tr>
+    <tr><td class="paramname">ldy</td><td></td></tr>
+    <tr><td class="paramname">n</td><td></td></tr>
+    <tr><td class="paramname">m</td><td></td></tr>
+    <tr><td class="paramname">isign</td><td></td></tr>
+    <tr><td class="paramname">scale</td><td></td></tr>
+    <tr><td class="paramname">table</td><td></td></tr>
+    <tr><td class="paramname">n1</td><td></td></tr>
+    <tr><td class="paramname">wrk</td><td></td></tr>
+    <tr><td class="paramname">n2</td><td></td></tr>
+    <tr><td class="paramname">z</td><td></td></tr>
+    <tr><td class="paramname">nz</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="fftpack_8F_source.html#l00207">207</a> of file <a class="el" href="fftpack_8F_source.html">fftpack.F</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00283">rfftf()</a>, and <a class="el" href="fftpack_8F_source.html#l00310">rffti()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spfft_8f_source.html#l00041">spfft()</a>, <a class="el" href="spfft1_8f_source.html#l00033">spfft1()</a>, and <a class="el" href="spffte_8f_source.html#l00049">spffte()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="fftpack_8F.html">fftpack.F</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/fftpack_8F.js b/fftpack_8F.js
new file mode 100644
index 00000000..98c5a031
--- /dev/null
+++ b/fftpack_8F.js
@@ -0,0 +1,25 @@
+var fftpack_8F =
+[
+    [ "csfft", "fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5", null ],
+    [ "dcrft", "fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225", null ],
+    [ "drcft", "fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8", null ],
+    [ "radb2", "fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda", null ],
+    [ "radb3", "fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014", null ],
+    [ "radb4", "fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef", null ],
+    [ "radb5", "fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1", null ],
+    [ "radbg", "fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b", null ],
+    [ "radf2", "fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6", null ],
+    [ "radf3", "fftpack_8F.html#a51374398f8edd5701987ce483c739592", null ],
+    [ "radf4", "fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486", null ],
+    [ "radf5", "fftpack_8F.html#a6d852c36924b038f77a24b8e22205add", null ],
+    [ "radfg", "fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2", null ],
+    [ "rfftb", "fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88", null ],
+    [ "rfftb1", "fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066", null ],
+    [ "rfftf", "fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2", null ],
+    [ "rfftf1", "fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09", null ],
+    [ "rffti", "fftpack_8F.html#a50f1237ff5990436609962c0eae406db", null ],
+    [ "rffti1", "fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b", null ],
+    [ "scfft", "fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33", null ],
+    [ "scrft", "fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36", null ],
+    [ "srcft", "fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742", null ]
+];
\ No newline at end of file
diff --git a/fftpack_8F_source.html b/fftpack_8F_source.html
new file mode 100644
index 00000000..15984ee2
--- /dev/null
+++ b/fftpack_8F_source.html
@@ -0,0 +1,1458 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: fftpack.F Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('fftpack_8F_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">fftpack.F</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="fftpack_8F.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief A concatination of the (FFTPACK)[https://netlib.org/fftpack/] library code.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; FFTPACK is a package of Fortran subprograms for the fast Fourier</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; transform of periodic and other symmetric sequences. It includes</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; complex, real, sine, cosine, and quarter-wave transforms.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;Reference:</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;- P.N. Swarztrauber, Vectorizing the FFTs, in Parallel Computations</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;(G. Rodrigue, ed.), Academic Press, 1982, pp. 51--83.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; </span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; dcrft</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @param init</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; @param x</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param ldx</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param y</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; @param ldy</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param n</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param m</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param isign</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param scale</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param  table</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param n1</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param wrk</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param n2</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param z</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param nz</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">   32</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">dcrft</a>(init,x,ldx,y,ldy,n,m,isign,scale,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;     &amp;                 table,n1,wrk,n2,z,nz)</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;      <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;      <span class="keywordtype">integer</span> init,ldx,ldy,n,m,isign,n1,n2,nz,i,j</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keywordtype">      real</span> x(2*ldx,*),y(ldy,*),scale,table(44002),wrk,z</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;      <span class="keywordflow">IF</span> (init.ne.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">rffti</a>(n,table)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keywordflow">DO</span> j=1,m</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;          y(1,j)=x(1,j)</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;          <span class="keywordflow">DO</span> i=2,n</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;            y(i,j)=x(i+1,j)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;          <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">rfftb</a>(n,y(1,j),table)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;          <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;            y(i,j)=scale*y(i,j)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; scrft</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; @param init</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param x</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; @param ldx</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param y</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; @param ldy</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param n</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; @param m</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param isign</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; @param scale</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; @param  table</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; @param n1</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; @param wrk</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt; @param n2</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; @param z</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; @param nz</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      </div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">   78</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a>(init,x,ldx,y,ldy,n,m,isign,scale,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;     &amp;                 table,n1,wrk,n2,z,nz)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keywordtype">integer</span> init,ldx,ldy,n,m,isign,n1,n2,nz,i,j</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">      real</span> x(2*ldx,*),y(ldy,*),scale,table(44002),wrk,z</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; </div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keywordflow">IF</span> (init.ne.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">rffti</a>(n,table)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keywordflow">DO</span> j=1,m</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;          y(1,j)=x(1,j)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;          <span class="keywordflow">DO</span> i=2,n</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;            y(i,j)=x(i+1,j)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;          <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">rfftb</a>(n,y(1,j),table)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;          <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;            y(i,j)=scale*y(i,j)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">C&gt; csfft</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">C&gt; @param isign</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">C&gt; @param n</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">C&gt; @param scale</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment">C&gt; @param x</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">C&gt; @param y</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">C&gt; @param table</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">C&gt; @param work</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">C&gt; @param isys</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5">  116</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5">csfft</a>(isign,n,scale,x,y,table,work,isys)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      <span class="keywordtype">integer</span> isign,n,isys,i</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keywordtype">      real</span> scale,x(*),y(*),table(*),work(*)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keywordflow">IF</span> (isign.eq.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">rffti</a>(n,table)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keywordflow">IF</span> (isign.eq.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        y(1)=x(1)</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keywordflow">DO</span> i=2,n</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;          y(i)=x(i+1)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">rfftb</a>(n,y,table)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;          y(i)=scale*y(i)</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment">C&gt; drcft</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">C&gt; @param init</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">C&gt; @param x</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">C&gt; @param ldx</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">C&gt; @param y</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">C&gt; @param ldy</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">C&gt; @param n</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">C&gt; @param m</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment">C&gt; @param isign</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">C&gt; @param scale</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">C&gt; @param table</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">C&gt; @param n1</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">C&gt; @param wrk</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">C&gt; @param n2</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="comment">C&gt; @param z</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment">C&gt; @param nz</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">  158</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">drcft</a>(init,x,ldx,y,ldy,n,m,isign,scale,</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;     &amp;                 table,n1,wrk,n2,z,nz)</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;      <span class="keywordtype">integer</span> init,ldx,ldy,n,m,isign,n1,n2,nz,i,j</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      <span class="keywordtype">real</span> x(ldx,*),y(2*ldy,*),scale,table(44002),wrk,z</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      <span class="keywordflow">IF</span> (init.ne.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">rffti</a>(n,table)</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <span class="keywordflow">DO</span> j=1,m</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;          <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;            y(i,j)=x(i,j)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;          <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">rfftf</a>(n,y(1,j),table)</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;          <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;            y(i,j)=scale*y(i,j)</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;          <span class="keywordflow">DO</span> i=n,2,-1</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;            y(i+1,j)=y(i,j)</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;          y(2,j)=0.</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment">C 01/17/2013 vvvvvvvvvvvvv E.Mirvis added ver 2.0.1 by S.Moorthi request. No +|- demo.</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;          y(n+2,j) = 0.</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">C&gt; srcft</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment">C&gt; @param init</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="comment">C&gt; @param x</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">C&gt; @param ldx</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="comment">C&gt; @param y</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="comment">C&gt; @param ldy</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="comment">C&gt; @param n</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="comment">C&gt; @param m</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment">C&gt; @param isign</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment">C&gt; @param scale</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="comment">C&gt; @param table</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="comment">C&gt; @param n1</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="comment">C&gt; @param wrk</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="comment">C&gt; @param n2</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="comment">C&gt; @param z</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="comment">C&gt; @param nz</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">  207</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a>(init,x,ldx,y,ldy,n,m,isign,scale,</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;     &amp;                 table,n1,wrk,n2,z,nz)</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;      <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      <span class="keywordtype">integer</span> init,ldx,ldy,n,m,isign,n1,n2,nz,i,j</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;      <span class="keywordtype">real</span> x(ldx,*),y(2*ldy,*),scale,table(44002),wrk,z</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;      <span class="keywordflow">IF</span> (init.ne.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">rffti</a>(n,table)</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordflow">DO</span> j=1,m</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;          <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;            y(i,j)=x(i,j)</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;          <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">rfftf</a>(n,y(1,j),table)</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;          <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;            y(i,j)=scale*y(i,j)</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;          <span class="keywordflow">DO</span> i=n,2,-1</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;            y(i+1,j)=y(i,j)</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;          y(2,j)=0.</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;          y(n+2,j) = 0.</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="comment">C 01/17/2013 ^^^^^^^^^^E.Mirvis added ver 2.0.1 by S.Moorthi request. No +|- demo.</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="comment">C&gt; scfft</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="comment">C&gt; @param isign</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="comment">C&gt; @param n</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="comment">C&gt; @param scale</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment">C&gt; @param x</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="comment">C&gt; @param y</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="comment">C&gt; @param table</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="comment">C&gt; @param work</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="comment">C&gt; @param isys</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33">  249</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33">scfft</a>(isign,n,scale,x,y,table,work,isys)</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160; </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;      <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;      <span class="keywordtype">integer</span> isign,n,isys,i</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keywordtype">      real</span> scale,x(*),y(*),table(*),work(*)</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;      <span class="keywordflow">IF</span> (isign.eq.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">rffti</a>(n,table)</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;      <span class="keywordflow">IF</span> (isign.eq.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;          y(i)=x(i)</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">rfftf</a>(n,y,table)</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;          y(i)=scale*y(i)</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        <span class="keywordflow">DO</span> i=n,2,-1</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;          y(i+1)=y(i)</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        y(2)=0.</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160; </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160; </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="comment">C&gt; RFFTF</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="comment">C&gt; @param N</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="comment">C&gt; @param R</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="comment">C&gt; @param WSAVE</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">  282</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">rfftf</a> (N,R,WSAVE)</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;      dimension       r(1)       ,wsave(1)</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;      <span class="keywordflow">IF</span> (n .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;      <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09">rfftf1</a> (n,r,wsave,wsave(n+1),wsave(2*n+1))</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;      </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="comment">C&gt; RFFTB</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="comment">C&gt; @param N</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="comment">C&gt; @param R</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">C&gt; @param WSAVE</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">  296</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">rfftb</a> (N,R,WSAVE)</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;      dimension       r(1)       ,wsave(1)</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;      <span class="keywordflow">IF</span> (n .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;      <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066">rfftb1</a> (n,r,wsave,wsave(n+1),wsave(2*n+1))</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="comment">C&gt; RFFTI</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="comment">C&gt; @param N</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="comment">C&gt; @param WSAVE</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">  309</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">rffti</a> (N,WSAVE)</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;      dimension       wsave(1)</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;      <span class="keywordflow">IF</span> (n .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;      <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b">rffti1</a> (n,wsave(n+1),wsave(2*n+1))</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160; </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="comment">C&gt; RFFTB1</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="comment">C&gt; @param N</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="comment">C&gt; @param C</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="comment">C&gt; @param WA</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="comment">C&gt; @param IFAC</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066">  325</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066">rfftb1</a> (N,C,CH,WA,IFAC)</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;      dimension       ch(1)      ,c(1)       ,wa(1)      ,ifac(*)</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;      nf = ifac(2)</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;      na = 0</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;      l1 = 1</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;      iw = 1</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;      <span class="keywordflow">DO</span> 116 k1=1,nf</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;         ip = ifac(k1+2)</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;         l2 = ip*l1</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;         ido = n/l2</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;         idl1 = ido*l1</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;         <span class="keywordflow">IF</span> (ip .NE. 4) <span class="keywordflow">GO TO</span> 103</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;         ix2 = iw+ido</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;         ix3 = ix2+ido</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;         <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 101</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef">radb4</a> (ido,l1,c,ch,wa(iw),wa(ix2),wa(ix3))</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;         <span class="keywordflow">GO TO</span> 102</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  101    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef">radb4</a> (ido,l1,ch,c,wa(iw),wa(ix2),wa(ix3))</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  102    na = 1-na</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;         <span class="keywordflow">GO TO</span> 115</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  103    <span class="keywordflow">IF</span> (ip .NE. 2) <span class="keywordflow">GO TO</span> 106</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;         <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 104</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda">radb2</a> (ido,l1,c,ch,wa(iw))</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;         <span class="keywordflow">GO TO</span> 105</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  104    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda">radb2</a> (ido,l1,ch,c,wa(iw))</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  105    na = 1-na</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;         <span class="keywordflow">GO TO</span> 115</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  106    <span class="keywordflow">IF</span> (ip .NE. 3) <span class="keywordflow">GO TO</span> 109</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;         ix2 = iw+ido</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;         <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 107</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014">radb3</a> (ido,l1,c,ch,wa(iw),wa(ix2))</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;         <span class="keywordflow">GO TO</span> 108</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;  107    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014">radb3</a> (ido,l1,ch,c,wa(iw),wa(ix2))</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  108    na = 1-na</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;         <span class="keywordflow">GO TO</span> 115</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;  109    <span class="keywordflow">IF</span> (ip .NE. 5) <span class="keywordflow">GO TO</span> 112</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;         ix2 = iw+ido</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;         ix3 = ix2+ido</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;         ix4 = ix3+ido</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;         <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1">radb5</a> (ido,l1,c,ch,wa(iw),wa(ix2),wa(ix3),wa(ix4))</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;         <span class="keywordflow">GO TO</span> 111</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;  110    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1">radb5</a> (ido,l1,ch,c,wa(iw),wa(ix2),wa(ix3),wa(ix4))</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  111    na = 1-na</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;         <span class="keywordflow">GO TO</span> 115</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;  112    <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 113</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b">radbg</a> (ido,ip,l1,idl1,c,c,c,ch,ch,wa(iw))</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;         <span class="keywordflow">GO TO</span> 114</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;  113    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b">radbg</a> (ido,ip,l1,idl1,ch,ch,ch,c,c,wa(iw))</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;  114    <span class="keywordflow">IF</span> (ido .EQ. 1) na = 1-na</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;  115    l1 = l2</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;         iw = iw+(ip-1)*ido</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;  116 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;      <span class="keywordflow">IF</span> (na .EQ. 0) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;      <span class="keywordflow">DO</span> 117 i=1,n</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;         c(i) = ch(i)</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;  117 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160; </div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="comment">C&gt; RFFTF1</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="comment">C&gt; @param N</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="comment">C&gt; @param C</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="comment">C&gt; @param WA</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="comment">C&gt; @param IFAC</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09">  394</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09">rfftf1</a> (N,C,CH,WA,IFAC)</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;      dimension       ch(1)      ,c(1)       ,wa(1)      ,ifac(*)</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;      nf = ifac(2)</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;      na = 1</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;      l2 = n</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;      iw = n</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;      <span class="keywordflow">DO</span> 111 k1=1,nf</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;         kh = nf-k1</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;         ip = ifac(kh+3)</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;         l1 = l2/ip</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;         ido = n/l2</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;         idl1 = ido*l1</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;         iw = iw-(ip-1)*ido</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;         na = 1-na</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;         <span class="keywordflow">IF</span> (ip .NE. 4) <span class="keywordflow">GO TO</span> 102</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;         ix2 = iw+ido</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;         ix3 = ix2+ido</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;         <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 101</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486">radf4</a> (ido,l1,c,ch,wa(iw),wa(ix2),wa(ix3))</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;         <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;  101    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486">radf4</a> (ido,l1,ch,c,wa(iw),wa(ix2),wa(ix3))</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;         <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;  102    <span class="keywordflow">IF</span> (ip .NE. 2) <span class="keywordflow">GO TO</span> 104</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;         <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 103</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6">radf2</a> (ido,l1,c,ch,wa(iw))</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;         <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;  103    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6">radf2</a> (ido,l1,ch,c,wa(iw))</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;         <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;  104    <span class="keywordflow">IF</span> (ip .NE. 3) <span class="keywordflow">GO TO</span> 106</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;         ix2 = iw+ido</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;         <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 105</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a51374398f8edd5701987ce483c739592">radf3</a> (ido,l1,c,ch,wa(iw),wa(ix2))</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;         <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;  105    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a51374398f8edd5701987ce483c739592">radf3</a> (ido,l1,ch,c,wa(iw),wa(ix2))</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;         <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  106    <span class="keywordflow">IF</span> (ip .NE. 5) <span class="keywordflow">GO TO</span> 108</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;         ix2 = iw+ido</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;         ix3 = ix2+ido</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;         ix4 = ix3+ido</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;         <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 107</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a6d852c36924b038f77a24b8e22205add">radf5</a> (ido,l1,c,ch,wa(iw),wa(ix2),wa(ix3),wa(ix4))</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;         <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;  107    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a6d852c36924b038f77a24b8e22205add">radf5</a> (ido,l1,ch,c,wa(iw),wa(ix2),wa(ix3),wa(ix4))</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;         <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;  108    <span class="keywordflow">IF</span> (ido .EQ. 1) na = 1-na</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;         <span class="keywordflow">IF</span> (na .NE. 0) <span class="keywordflow">GO TO</span> 109</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;         <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2">radfg</a> (ido,ip,l1,idl1,c,c,c,ch,ch,wa(iw))</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;         na = 1</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;         <span class="keywordflow">GO TO</span> 110</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;  109    <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2">radfg</a> (ido,ip,l1,idl1,ch,ch,ch,c,c,wa(iw))</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;         na = 0</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  110    l2 = l1</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;  111 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;      <span class="keywordflow">IF</span> (na .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;      <span class="keywordflow">DO</span> 112 i=1,n</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;         c(i) = ch(i)</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;  112 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160; </div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="comment">C&gt; RFFTI1</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="comment">C&gt; @param N</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="comment">C&gt; @param WA</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="comment">C&gt; @param IFAC</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b">  461</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b">rffti1</a> (N,WA,IFAC)</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;      dimension       wa(1)      ,ifac(*)    ,ntryh(4)</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;      <span class="keyword">DATA</span> ntryh(1),ntryh(2),ntryh(3),ntryh(4)/4,2,3,5/</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;      nl = n</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;      nf = 0</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;      j = 0</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;  101 j = j+1</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;      <span class="keywordflow">IF</span> (j-4) 102,102,103</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;  102 ntry = ntryh(j)</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;      <span class="keywordflow">GO TO</span> 104</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;  103 ntry = ntry+2</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  104 nq = nl/ntry</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;      nr = nl-ntry*nq</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;      <span class="keywordflow">IF</span> (nr) 101,105,101</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;  105 nf = nf+1</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;      ifac(nf+2) = ntry</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;      nl = nq</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;      <span class="keywordflow">IF</span> (ntry .NE. 2) <span class="keywordflow">GO TO</span> 107</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;      <span class="keywordflow">IF</span> (nf .EQ. 1) <span class="keywordflow">GO TO</span> 107</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;      <span class="keywordflow">DO</span> 106 i=2,nf</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;         ib = nf-i+2</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;         ifac(ib+2) = ifac(ib+1)</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;  106 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;      ifac(3) = 2</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  107 <span class="keywordflow">IF</span> (nl .NE. 1) <span class="keywordflow">GO TO</span> 104</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;      ifac(1) = n</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;      ifac(2) = nf</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;      tpi = 6.28318530717959</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;      argh = tpi/float(n)</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;      is = 0</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;      nfm1 = nf-1</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;      l1 = 1</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;      <span class="keywordflow">IF</span> (nfm1 .EQ. 0) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;      <span class="keywordflow">DO</span> 110 k1=1,nfm1</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;         ip = ifac(k1+2)</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;         ld = 0</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;         l2 = l1*ip</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;         ido = n/l2</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;         ipm = ip-1</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;         <span class="keywordflow">DO</span> 109 j=1,ipm</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;            ld = ld+l1</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;            i = is</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;            argld = float(ld)*argh</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;            fi = 0</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="comment">!OCL SCALAR</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;            <span class="keywordflow">DO</span> 108 ii=3,ido,2</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;               i = i+2</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;               fi = fi+1</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;               arg = fi*argld</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;               wa(i-1) = cos(arg)</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;               wa(i) = sin(arg)</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;  108       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;            is = is+ido</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;  109    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;         l1 = l2</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;  110 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160; </div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="comment">C&gt; RADB2</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;<span class="comment">C&gt; @param WA1</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda">  530</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda">radb2</a> (IDO,L1,CC,CH,WA1)</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;      dimension       cc(ido,2,l1)           ,ch(ido,l1,2)           ,</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;     1                wa1(1)</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;      <span class="keywordflow">DO</span> 101 k=1,l1</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;         ch(1,k,1) = cc(1,1,k)+cc(ido,2,k)</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;         ch(1,k,2) = cc(1,1,k)-cc(ido,2,k)</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;  101 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;      <span class="keywordflow">IF</span> (ido-2) 107,105,102</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;  102 idp2 = ido+2</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;      <span class="keywordflow">DO</span> 104 k=1,l1</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;         <span class="keywordflow">DO</span> 103 i=3,ido,2</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;            ch(i-1,k,1) = cc(i-1,1,k)+cc(ic-1,2,k)</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;            tr2 = cc(i-1,1,k)-cc(ic-1,2,k)</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;            ch(i,k,1) = cc(i,1,k)-cc(ic,2,k)</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;            ti2 = cc(i,1,k)+cc(ic,2,k)</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;            ch(i-1,k,2) = wa1(i-2)*tr2-wa1(i-1)*ti2</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;            ch(i,k,2) = wa1(i-2)*ti2+wa1(i-1)*tr2</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;  103    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;  104 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;      <span class="keywordflow">IF</span> (mod(ido,2) .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;  105 <span class="keywordflow">DO</span> 106 k=1,l1</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;         ch(ido,k,1) = cc(ido,1,k)+cc(ido,1,k)</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;         ch(ido,k,2) = -(cc(1,2,k)+cc(1,2,k))</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;  106 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;  107 <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160; </div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="comment">C&gt; RADB3      </span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;<span class="comment">C&gt; @param WA1</span></div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="comment">C&gt; @param WA2</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014">  569</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014">radb3</a> (IDO,L1,CC,CH,WA1,WA2)</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;      dimension       cc(ido,3,l1)           ,ch(ido,l1,3)           ,</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;     1                wa1(1)     ,wa2(1)</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;      <span class="keyword">DATA</span> taur,taui /-.5,.866025403784439/</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;      <span class="keywordflow">DO</span> 101 k=1,l1</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;         tr2 = cc(ido,2,k)+cc(ido,2,k)</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;         cr2 = cc(1,1,k)+taur*tr2</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;         ch(1,k,1) = cc(1,1,k)+tr2</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;         ci3 = taui*(cc(1,3,k)+cc(1,3,k))</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;         ch(1,k,2) = cr2-ci3</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;         ch(1,k,3) = cr2+ci3</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;  101 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;      <span class="keywordflow">IF</span> (ido .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;      idp2 = ido+2</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;      <span class="keywordflow">DO</span> 103 k=1,l1</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;         <span class="keywordflow">DO</span> 102 i=3,ido,2</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;            tr2 = cc(i-1,3,k)+cc(ic-1,2,k)</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;            cr2 = cc(i-1,1,k)+taur*tr2</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;            ch(i-1,k,1) = cc(i-1,1,k)+tr2</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;            ti2 = cc(i,3,k)-cc(ic,2,k)</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;            ci2 = cc(i,1,k)+taur*ti2</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;            ch(i,k,1) = cc(i,1,k)+ti2</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;            cr3 = taui*(cc(i-1,3,k)-cc(ic-1,2,k))</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;            ci3 = taui*(cc(i,3,k)+cc(ic,2,k))</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;            dr2 = cr2-ci3</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;            dr3 = cr2+ci3</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;            di2 = ci2+cr3</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;            di3 = ci2-cr3</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;            ch(i-1,k,2) = wa1(i-2)*dr2-wa1(i-1)*di2</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;            ch(i,k,2) = wa1(i-2)*di2+wa1(i-1)*dr2</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;            ch(i-1,k,3) = wa2(i-2)*dr3-wa2(i-1)*di3</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;            ch(i,k,3) = wa2(i-2)*di3+wa2(i-1)*dr3</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;  102    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;  103 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160; </div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="comment">C&gt; RADB4</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="comment">C&gt; @param WA1</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="comment">C&gt; @param WA2</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;<span class="comment">C&gt; @param WA3</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef">  619</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef">radb4</a> (IDO,L1,CC,CH,WA1,WA2,WA3)</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;      dimension       cc(ido,4,l1)           ,ch(ido,l1,4)           ,</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;     1                wa1(1)     ,wa2(1)     ,wa3(1)</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;      <span class="keyword">DATA</span> sqrt2 /1.414213562373095/</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;      <span class="keywordflow">DO</span> 101 k=1,l1</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;         tr1 = cc(1,1,k)-cc(ido,4,k)</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;         tr2 = cc(1,1,k)+cc(ido,4,k)</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;         tr3 = cc(ido,2,k)+cc(ido,2,k)</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;         tr4 = cc(1,3,k)+cc(1,3,k)</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;         ch(1,k,1) = tr2+tr3</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;         ch(1,k,2) = tr1-tr4</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;         ch(1,k,3) = tr2-tr3</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;         ch(1,k,4) = tr1+tr4</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;  101 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;      <span class="keywordflow">IF</span> (ido-2) 107,105,102</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;  102 idp2 = ido+2</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;      <span class="keywordflow">DO</span> 104 k=1,l1</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;         <span class="keywordflow">DO</span> 103 i=3,ido,2</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;            ti1 = cc(i,1,k)+cc(ic,4,k)</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;            ti2 = cc(i,1,k)-cc(ic,4,k)</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;            ti3 = cc(i,3,k)-cc(ic,2,k)</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;            tr4 = cc(i,3,k)+cc(ic,2,k)</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;            tr1 = cc(i-1,1,k)-cc(ic-1,4,k)</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;            tr2 = cc(i-1,1,k)+cc(ic-1,4,k)</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;            ti4 = cc(i-1,3,k)-cc(ic-1,2,k)</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;            tr3 = cc(i-1,3,k)+cc(ic-1,2,k)</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;            ch(i-1,k,1) = tr2+tr3</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;            cr3 = tr2-tr3</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;            ch(i,k,1) = ti2+ti3</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;            ci3 = ti2-ti3</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;            cr2 = tr1-tr4</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;            cr4 = tr1+tr4</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;            ci2 = ti1+ti4</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;            ci4 = ti1-ti4</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;            ch(i-1,k,2) = wa1(i-2)*cr2-wa1(i-1)*ci2</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;            ch(i,k,2) = wa1(i-2)*ci2+wa1(i-1)*cr2</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;            ch(i-1,k,3) = wa2(i-2)*cr3-wa2(i-1)*ci3</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;            ch(i,k,3) = wa2(i-2)*ci3+wa2(i-1)*cr3</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;            ch(i-1,k,4) = wa3(i-2)*cr4-wa3(i-1)*ci4</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;            ch(i,k,4) = wa3(i-2)*ci4+wa3(i-1)*cr4</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;  103    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;  104 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;      <span class="keywordflow">IF</span> (mod(ido,2) .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;  105 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;      <span class="keywordflow">DO</span> 106 k=1,l1</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;         ti1 = cc(1,2,k)+cc(1,4,k)</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;         ti2 = cc(1,4,k)-cc(1,2,k)</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;         tr1 = cc(ido,1,k)-cc(ido,3,k)</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;         tr2 = cc(ido,1,k)+cc(ido,3,k)</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;         ch(ido,k,1) = tr2+tr2</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;         ch(ido,k,2) = sqrt2*(tr1-ti1)</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;         ch(ido,k,3) = ti2+ti2</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;         ch(ido,k,4) = -sqrt2*(tr1+ti1)</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;  106 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;  107 <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160; </div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;<span class="comment">C&gt; RADB5</span></div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;<span class="comment">C&gt; @param WA1</span></div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;<span class="comment">C&gt; @param WA2</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;<span class="comment">C&gt; @param WA3</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;<span class="comment">C&gt; @param WA4</span></div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1">  690</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1">radb5</a> (IDO,L1,CC,CH,WA1,WA2,WA3,WA4)</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;      dimension       cc(ido,5,l1)           ,ch(ido,l1,5)           ,</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;     1                wa1(1)     ,wa2(1)     ,wa3(1)     ,wa4(1)</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;      <span class="keyword">DATA</span> tr11,ti11,tr12,ti12 /.309016994374947,.951056516295154,</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;     1-.809016994374947,.587785252292473/</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;      <span class="keywordflow">DO</span> 101 k=1,l1</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;         ti5 = cc(1,3,k)+cc(1,3,k)</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;         ti4 = cc(1,5,k)+cc(1,5,k)</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;         tr2 = cc(ido,2,k)+cc(ido,2,k)</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;         tr3 = cc(ido,4,k)+cc(ido,4,k)</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;         ch(1,k,1) = cc(1,1,k)+tr2+tr3</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;         cr2 = cc(1,1,k)+tr11*tr2+tr12*tr3</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;         cr3 = cc(1,1,k)+tr12*tr2+tr11*tr3</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;         ci5 = ti11*ti5+ti12*ti4</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;         ci4 = ti12*ti5-ti11*ti4</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;         ch(1,k,2) = cr2-ci5</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;         ch(1,k,3) = cr3-ci4</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;         ch(1,k,4) = cr3+ci4</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;         ch(1,k,5) = cr2+ci5</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;  101 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;      <span class="keywordflow">IF</span> (ido .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;      idp2 = ido+2</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;      <span class="keywordflow">DO</span> 103 k=1,l1</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;         <span class="keywordflow">DO</span> 102 i=3,ido,2</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;            ti5 = cc(i,3,k)+cc(ic,2,k)</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;            ti2 = cc(i,3,k)-cc(ic,2,k)</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;            ti4 = cc(i,5,k)+cc(ic,4,k)</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;            ti3 = cc(i,5,k)-cc(ic,4,k)</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;            tr5 = cc(i-1,3,k)-cc(ic-1,2,k)</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;            tr2 = cc(i-1,3,k)+cc(ic-1,2,k)</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;            tr4 = cc(i-1,5,k)-cc(ic-1,4,k)</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;            tr3 = cc(i-1,5,k)+cc(ic-1,4,k)</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;            ch(i-1,k,1) = cc(i-1,1,k)+tr2+tr3</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;            ch(i,k,1) = cc(i,1,k)+ti2+ti3</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;            cr2 = cc(i-1,1,k)+tr11*tr2+tr12*tr3</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;            ci2 = cc(i,1,k)+tr11*ti2+tr12*ti3</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;            cr3 = cc(i-1,1,k)+tr12*tr2+tr11*tr3</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;            ci3 = cc(i,1,k)+tr12*ti2+tr11*ti3</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;            cr5 = ti11*tr5+ti12*tr4</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;            ci5 = ti11*ti5+ti12*ti4</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;            cr4 = ti12*tr5-ti11*tr4</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;            ci4 = ti12*ti5-ti11*ti4</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;            dr3 = cr3-ci4</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;            dr4 = cr3+ci4</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;            di3 = ci3+cr4</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;            di4 = ci3-cr4</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;            dr5 = cr2+ci5</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;            dr2 = cr2-ci5</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;            di5 = ci2-cr5</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;            di2 = ci2+cr5</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;            ch(i-1,k,2) = wa1(i-2)*dr2-wa1(i-1)*di2</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;            ch(i,k,2) = wa1(i-2)*di2+wa1(i-1)*dr2</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;            ch(i-1,k,3) = wa2(i-2)*dr3-wa2(i-1)*di3</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;            ch(i,k,3) = wa2(i-2)*di3+wa2(i-1)*dr3</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;            ch(i-1,k,4) = wa3(i-2)*dr4-wa3(i-1)*di4</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;            ch(i,k,4) = wa3(i-2)*di4+wa3(i-1)*dr4</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;            ch(i-1,k,5) = wa4(i-2)*dr5-wa4(i-1)*di5</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;            ch(i,k,5) = wa4(i-2)*di5+wa4(i-1)*dr5</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;  102    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;  103 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160; </div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;<span class="comment">C&gt; RADBG</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;<span class="comment">C&gt; @param IP</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;<span class="comment">C&gt; @param IDL1</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;<span class="comment">C&gt; @param C1</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<span class="comment">C&gt; @param C2</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="comment">C&gt; @param CH2</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;<span class="comment">C&gt; @param WA</span></div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b">  768</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b">radbg</a> (IDO,IP,L1,IDL1,CC,C1,C2,CH,CH2,WA)</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;      dimension       ch(ido,l1,ip)          ,cc(ido,ip,l1)          ,</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;     1                c1(ido,l1,ip)          ,c2(idl1,ip),</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;     2                ch2(idl1,ip)           ,wa(1)</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;      <span class="keyword">DATA</span> tpi/6.28318530717959/</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;      arg = tpi/float(ip)</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;      dcp = cos(arg)</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;      dsp = sin(arg)</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;      idp2 = ido+2</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;      nbd = (ido-1)/2</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;      ipp2 = ip+2</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;      ipph = (ip+1)/2</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;      <span class="keywordflow">IF</span> (ido .LT. l1) <span class="keywordflow">GO TO</span> 103</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;      <span class="keywordflow">DO</span> 102 k=1,l1</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;         <span class="keywordflow">DO</span> 101 i=1,ido</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;            ch(i,k,1) = cc(i,1,k)</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;  101    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;  102 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;      <span class="keywordflow">GO TO</span> 106</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;  103 <span class="keywordflow">DO</span> 105 i=1,ido</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;         <span class="keywordflow">DO</span> 104 k=1,l1</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;            ch(i,k,1) = cc(i,1,k)</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;  104    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;  105 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;  106 <span class="keywordflow">DO</span> 108 j=2,ipph</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;         j2 = j+j</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;         <span class="keywordflow">DO</span> 107 k=1,l1</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;            ch(1,k,j) = cc(ido,j2-2,k)+cc(ido,j2-2,k)</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;            ch(1,k,jc) = cc(1,j2-1,k)+cc(1,j2-1,k)</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;  107    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;  108 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;      <span class="keywordflow">IF</span> (ido .EQ. 1) <span class="keywordflow">GO TO</span> 116</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;      <span class="keywordflow">IF</span> (nbd .LT. l1) <span class="keywordflow">GO TO</span> 112</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;      <span class="keywordflow">DO</span> 111 j=2,ipph</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;         <span class="keywordflow">DO</span> 110 k=1,l1</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;            <span class="keywordflow">DO</span> 109 i=3,ido,2</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;               ic = idp2-i</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;               ch(i-1,k,j) = cc(i-1,2*j-1,k)+cc(ic-1,2*j-2,k)</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;               ch(i-1,k,jc) = cc(i-1,2*j-1,k)-cc(ic-1,2*j-2,k)</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;               ch(i,k,j) = cc(i,2*j-1,k)-cc(ic,2*j-2,k)</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;               ch(i,k,jc) = cc(i,2*j-1,k)+cc(ic,2*j-2,k)</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;  109       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;  110    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;  111 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;      <span class="keywordflow">GO TO</span> 116</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;  112 <span class="keywordflow">DO</span> 115 j=2,ipph</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;         <span class="keywordflow">DO</span> 114 i=3,ido,2</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;            <span class="keywordflow">DO</span> 113 k=1,l1</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;               ch(i-1,k,j) = cc(i-1,2*j-1,k)+cc(ic-1,2*j-2,k)</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;               ch(i-1,k,jc) = cc(i-1,2*j-1,k)-cc(ic-1,2*j-2,k)</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;               ch(i,k,j) = cc(i,2*j-1,k)-cc(ic,2*j-2,k)</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;               ch(i,k,jc) = cc(i,2*j-1,k)+cc(ic,2*j-2,k)</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;  113       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;  114    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;  115 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;  116 ar1 = 1.</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;      ai1 = 0.</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;      <span class="keywordflow">DO</span> 120 l=2,ipph</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;         lc = ipp2-l</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;         ar1h = dcp*ar1-dsp*ai1</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;         ai1 = dcp*ai1+dsp*ar1</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;         ar1 = ar1h</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;         <span class="keywordflow">DO</span> 117 ik=1,idl1</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;            c2(ik,l) = ch2(ik,1)+ar1*ch2(ik,2)</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;            c2(ik,lc) = ai1*ch2(ik,ip)</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;  117    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;         dc2 = ar1</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;         ds2 = ai1</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;         ar2 = ar1</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;         ai2 = ai1</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;         <span class="keywordflow">DO</span> 119 j=3,ipph</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;            jc = ipp2-j</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;            ar2h = dc2*ar2-ds2*ai2</div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;            ai2 = dc2*ai2+ds2*ar2</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;            ar2 = ar2h</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;            <span class="keywordflow">DO</span> 118 ik=1,idl1</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;               c2(ik,l) = c2(ik,l)+ar2*ch2(ik,j)</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;               c2(ik,lc) = c2(ik,lc)+ai2*ch2(ik,jc)</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;  118       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;  119    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;  120 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;      <span class="keywordflow">DO</span> 122 j=2,ipph</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;         <span class="keywordflow">DO</span> 121 ik=1,idl1</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;            ch2(ik,1) = ch2(ik,1)+ch2(ik,j)</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;  121    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;  122 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;      <span class="keywordflow">DO</span> 124 j=2,ipph</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;         <span class="keywordflow">DO</span> 123 k=1,l1</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;            ch(1,k,j) = c1(1,k,j)-c1(1,k,jc)</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;            ch(1,k,jc) = c1(1,k,j)+c1(1,k,jc)</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;  123    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;  124 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;      <span class="keywordflow">IF</span> (ido .EQ. 1) <span class="keywordflow">GO TO</span> 132</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;      <span class="keywordflow">IF</span> (nbd .LT. l1) <span class="keywordflow">GO TO</span> 128</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;      <span class="keywordflow">DO</span> 127 j=2,ipph</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;         <span class="keywordflow">DO</span> 126 k=1,l1</div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;            <span class="keywordflow">DO</span> 125 i=3,ido,2</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;               ch(i-1,k,j) = c1(i-1,k,j)-c1(i,k,jc)</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;               ch(i-1,k,jc) = c1(i-1,k,j)+c1(i,k,jc)</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;               ch(i,k,j) = c1(i,k,j)+c1(i-1,k,jc)</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;               ch(i,k,jc) = c1(i,k,j)-c1(i-1,k,jc)</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;  125       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;  126    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;  127 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;      <span class="keywordflow">GO TO</span> 132</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;  128 <span class="keywordflow">DO</span> 131 j=2,ipph</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;         <span class="keywordflow">DO</span> 130 i=3,ido,2</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;            <span class="keywordflow">DO</span> 129 k=1,l1</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;               ch(i-1,k,j) = c1(i-1,k,j)-c1(i,k,jc)</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;               ch(i-1,k,jc) = c1(i-1,k,j)+c1(i,k,jc)</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;               ch(i,k,j) = c1(i,k,j)+c1(i-1,k,jc)</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;               ch(i,k,jc) = c1(i,k,j)-c1(i-1,k,jc)</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;  129       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;  130    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;  131 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;  132 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;      <span class="keywordflow">IF</span> (ido .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;      <span class="keywordflow">DO</span> 133 ik=1,idl1</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;         c2(ik,1) = ch2(ik,1)</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;  133 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;      <span class="keywordflow">DO</span> 135 j=2,ip</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;         <span class="keywordflow">DO</span> 134 k=1,l1</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;            c1(1,k,j) = ch(1,k,j)</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;  134    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;  135 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;      <span class="keywordflow">IF</span> (nbd .GT. l1) <span class="keywordflow">GO TO</span> 139</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;      is = -ido</div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;      <span class="keywordflow">DO</span> 138 j=2,ip</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;         is = is+ido</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;         idij = is</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;         <span class="keywordflow">DO</span> 137 i=3,ido,2</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;            idij = idij+2</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;            <span class="keywordflow">DO</span> 136 k=1,l1</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;               c1(i-1,k,j) = wa(idij-1)*ch(i-1,k,j)-wa(idij)*ch(i,k,j)</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;               c1(i,k,j) = wa(idij-1)*ch(i,k,j)+wa(idij)*ch(i-1,k,j)</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;  136       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;  137    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;  138 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;      <span class="keywordflow">GO TO</span> 143</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;  139 is = -ido</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;      <span class="keywordflow">DO</span> 142 j=2,ip</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;         is = is+ido</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;         <span class="keywordflow">DO</span> 141 k=1,l1</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;            idij = is</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;            <span class="keywordflow">DO</span> 140 i=3,ido,2</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;               idij = idij+2</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;               c1(i-1,k,j) = wa(idij-1)*ch(i-1,k,j)-wa(idij)*ch(i,k,j)</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;               c1(i,k,j) = wa(idij-1)*ch(i,k,j)+wa(idij)*ch(i-1,k,j)</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;  140       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;  141    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;  142 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;  143 <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160; </div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;<span class="comment">C&gt; RADBG</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;<span class="comment">C&gt; @param WA1</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6">  946</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6">radf2</a> (IDO,L1,CC,CH,WA1)</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;      dimension       ch(ido,2,l1)           ,cc(ido,l1,2)           ,</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;     1                wa1(1)</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;      <span class="keywordflow">DO</span> 101 k=1,l1</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;         ch(1,1,k) = cc(1,k,1)+cc(1,k,2)</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;         ch(ido,2,k) = cc(1,k,1)-cc(1,k,2)</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;  101 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;      <span class="keywordflow">IF</span> (ido-2) 107,105,102</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;  102 idp2 = ido+2</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;      <span class="keywordflow">DO</span> 104 k=1,l1</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;         <span class="keywordflow">DO</span> 103 i=3,ido,2</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;            tr2 = wa1(i-2)*cc(i-1,k,2)+wa1(i-1)*cc(i,k,2)</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;            ti2 = wa1(i-2)*cc(i,k,2)-wa1(i-1)*cc(i-1,k,2)</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;            ch(i,1,k) = cc(i,k,1)+ti2</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;            ch(ic,2,k) = ti2-cc(i,k,1)</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;            ch(i-1,1,k) = cc(i-1,k,1)+tr2</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;            ch(ic-1,2,k) = cc(i-1,k,1)-tr2</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;  103    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;  104 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;      <span class="keywordflow">IF</span> (mod(ido,2) .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;  105 <span class="keywordflow">DO</span> 106 k=1,l1</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;         ch(1,2,k) = -cc(ido,k,2)</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;         ch(ido,1,k) = cc(ido,k,1)</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;  106 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;  107 <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160; </div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;<span class="comment">C&gt; RADF3</span></div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;<span class="comment">C&gt; @param WA1</span></div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;<span class="comment">C&gt; @param WA2</span></div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l00984"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a51374398f8edd5701987ce483c739592">  984</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a51374398f8edd5701987ce483c739592">radf3</a> (IDO,L1,CC,CH,WA1,WA2)</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;      dimension       ch(ido,3,l1)           ,cc(ido,l1,3)           ,</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;     1                wa1(1)     ,wa2(1)</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;      <span class="keyword">DATA</span> taur,taui /-.5,.866025403784439/</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;      <span class="keywordflow">DO</span> 101 k=1,l1</div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;         cr2 = cc(1,k,2)+cc(1,k,3)</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;         ch(1,1,k) = cc(1,k,1)+cr2</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;         ch(1,3,k) = taui*(cc(1,k,3)-cc(1,k,2))</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;         ch(ido,2,k) = cc(1,k,1)+taur*cr2</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;  101 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;      <span class="keywordflow">IF</span> (ido .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;      idp2 = ido+2</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;      <span class="keywordflow">DO</span> 103 k=1,l1</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;         <span class="keywordflow">DO</span> 102 i=3,ido,2</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;            dr2 = wa1(i-2)*cc(i-1,k,2)+wa1(i-1)*cc(i,k,2)</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;            di2 = wa1(i-2)*cc(i,k,2)-wa1(i-1)*cc(i-1,k,2)</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;            dr3 = wa2(i-2)*cc(i-1,k,3)+wa2(i-1)*cc(i,k,3)</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;            di3 = wa2(i-2)*cc(i,k,3)-wa2(i-1)*cc(i-1,k,3)</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;            cr2 = dr2+dr3</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;            ci2 = di2+di3</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;            ch(i-1,1,k) = cc(i-1,k,1)+cr2</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;            ch(i,1,k) = cc(i,k,1)+ci2</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;            tr2 = cc(i-1,k,1)+taur*cr2</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;            ti2 = cc(i,k,1)+taur*ci2</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;            tr3 = taui*(di2-di3)</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;            ti3 = taui*(dr3-dr2)</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;            ch(i-1,3,k) = tr2+tr3</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;            ch(ic-1,2,k) = tr2-tr3</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;            ch(i,3,k) = ti2+ti3</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;            ch(ic,2,k) = ti3-ti2</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;  102    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;  103 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; </div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;<span class="comment">C&gt; RADF4</span></div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;<span class="comment">C&gt; @param WA1</span></div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;<span class="comment">C&gt; @param WA2</span></div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;<span class="comment">C&gt; @param WA3</span></div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l01031"></a><span class="lineno"><a class="line" href="fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486"> 1031</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486">radf4</a> (IDO,L1,CC,CH,WA1,WA2,WA3)</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;      dimension       cc(ido,l1,4)           ,ch(ido,4,l1)           ,</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;     1                wa1(1)     ,wa2(1)     ,wa3(1)</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;      <span class="keyword">DATA</span> hsqt2 /.7071067811865475/</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;      <span class="keywordflow">DO</span> 101 k=1,l1</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;         tr1 = cc(1,k,2)+cc(1,k,4)</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;         tr2 = cc(1,k,1)+cc(1,k,3)</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;         ch(1,1,k) = tr1+tr2</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;         ch(ido,4,k) = tr2-tr1</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;         ch(ido,2,k) = cc(1,k,1)-cc(1,k,3)</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;         ch(1,3,k) = cc(1,k,4)-cc(1,k,2)</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;  101 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;      <span class="keywordflow">IF</span> (ido-2) 107,105,102</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;  102 idp2 = ido+2</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;<span class="comment">!OCL NOVREC</span></div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;      <span class="keywordflow">DO</span> 104 k=1,l1</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;         <span class="keywordflow">DO</span> 103 i=3,ido,2</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;            cr2 = wa1(i-2)*cc(i-1,k,2)+wa1(i-1)*cc(i,k,2)</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;            ci2 = wa1(i-2)*cc(i,k,2)-wa1(i-1)*cc(i-1,k,2)</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;            cr3 = wa2(i-2)*cc(i-1,k,3)+wa2(i-1)*cc(i,k,3)</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;            ci3 = wa2(i-2)*cc(i,k,3)-wa2(i-1)*cc(i-1,k,3)</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;            cr4 = wa3(i-2)*cc(i-1,k,4)+wa3(i-1)*cc(i,k,4)</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;            ci4 = wa3(i-2)*cc(i,k,4)-wa3(i-1)*cc(i-1,k,4)</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;            tr1 = cr2+cr4</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;            tr4 = cr4-cr2</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;            ti1 = ci2+ci4</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;            ti4 = ci2-ci4</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;            ti2 = cc(i,k,1)+ci3</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;            ti3 = cc(i,k,1)-ci3</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;            tr2 = cc(i-1,k,1)+cr3</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;            tr3 = cc(i-1,k,1)-cr3</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;            ch(i-1,1,k) = tr1+tr2</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;            ch(ic-1,4,k) = tr2-tr1</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;            ch(i,1,k) = ti1+ti2</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;            ch(ic,4,k) = ti1-ti2</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;            ch(i-1,3,k) = ti4+tr3</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;            ch(ic-1,2,k) = tr3-ti4</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;            ch(i,3,k) = tr4+ti3</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;            ch(ic,2,k) = tr4-ti3</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;  103    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;  104 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;      <span class="keywordflow">IF</span> (mod(ido,2) .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;  105 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;      <span class="keywordflow">DO</span> 106 k=1,l1</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;         ti1 = -hsqt2*(cc(ido,k,2)+cc(ido,k,4))</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;         tr1 = hsqt2*(cc(ido,k,2)-cc(ido,k,4))</div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;         ch(ido,1,k) = tr1+cc(ido,k,1)</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;         ch(ido,3,k) = cc(ido,k,1)-tr1</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;         ch(1,2,k) = ti1-cc(ido,k,3)</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;         ch(1,4,k) = ti1+cc(ido,k,3)</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;  106 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;  107 <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; </div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;<span class="comment">C&gt; RADF5</span></div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;<span class="comment">C&gt; @param WA1</span></div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;<span class="comment">C&gt; @param WA2</span></div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;<span class="comment">C&gt; @param WA3</span></div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;<span class="comment">C&gt; @param WA4</span></div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l01098"></a><span class="lineno"><a class="line" href="fftpack_8F.html#a6d852c36924b038f77a24b8e22205add"> 1098</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#a6d852c36924b038f77a24b8e22205add">radf5</a> (IDO,L1,CC,CH,WA1,WA2,WA3,WA4)</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;      dimension       cc(ido,l1,5)           ,ch(ido,5,l1)           ,</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;     1                wa1(1)     ,wa2(1)     ,wa3(1)     ,wa4(1)</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;      <span class="keyword">DATA</span> tr11,ti11,tr12,ti12 /.309016994374947,.951056516295154,</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;     1-.809016994374947,.587785252292473/</div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;      <span class="keywordflow">DO</span> 101 k=1,l1</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;         cr2 = cc(1,k,5)+cc(1,k,2)</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;         ci5 = cc(1,k,5)-cc(1,k,2)</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;         cr3 = cc(1,k,4)+cc(1,k,3)</div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;         ci4 = cc(1,k,4)-cc(1,k,3)</div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;         ch(1,1,k) = cc(1,k,1)+cr2+cr3</div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;         ch(ido,2,k) = cc(1,k,1)+tr11*cr2+tr12*cr3</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;         ch(1,3,k) = ti11*ci5+ti12*ci4</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;         ch(ido,4,k) = cc(1,k,1)+tr12*cr2+tr11*cr3</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;         ch(1,5,k) = ti12*ci5-ti11*ci4</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;  101 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;      <span class="keywordflow">IF</span> (ido .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;      idp2 = ido+2</div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;      <span class="keywordflow">DO</span> 103 k=1,l1</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;         <span class="keywordflow">DO</span> 102 i=3,ido,2</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;            dr2 = wa1(i-2)*cc(i-1,k,2)+wa1(i-1)*cc(i,k,2)</div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;            di2 = wa1(i-2)*cc(i,k,2)-wa1(i-1)*cc(i-1,k,2)</div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;            dr3 = wa2(i-2)*cc(i-1,k,3)+wa2(i-1)*cc(i,k,3)</div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;            di3 = wa2(i-2)*cc(i,k,3)-wa2(i-1)*cc(i-1,k,3)</div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;            dr4 = wa3(i-2)*cc(i-1,k,4)+wa3(i-1)*cc(i,k,4)</div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;            di4 = wa3(i-2)*cc(i,k,4)-wa3(i-1)*cc(i-1,k,4)</div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;            dr5 = wa4(i-2)*cc(i-1,k,5)+wa4(i-1)*cc(i,k,5)</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;            di5 = wa4(i-2)*cc(i,k,5)-wa4(i-1)*cc(i-1,k,5)</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;            cr2 = dr2+dr5</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;            ci5 = dr5-dr2</div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;            cr5 = di2-di5</div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;            ci2 = di2+di5</div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;            cr3 = dr3+dr4</div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;            ci4 = dr4-dr3</div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;            cr4 = di3-di4</div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;            ci3 = di3+di4</div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;            ch(i-1,1,k) = cc(i-1,k,1)+cr2+cr3</div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;            ch(i,1,k) = cc(i,k,1)+ci2+ci3</div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;            tr2 = cc(i-1,k,1)+tr11*cr2+tr12*cr3</div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;            ti2 = cc(i,k,1)+tr11*ci2+tr12*ci3</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;            tr3 = cc(i-1,k,1)+tr12*cr2+tr11*cr3</div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;            ti3 = cc(i,k,1)+tr12*ci2+tr11*ci3</div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;            tr5 = ti11*cr5+ti12*cr4</div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;            ti5 = ti11*ci5+ti12*ci4</div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;            tr4 = ti12*cr5-ti11*cr4</div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;            ti4 = ti12*ci5-ti11*ci4</div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;            ch(i-1,3,k) = tr2+tr5</div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;            ch(ic-1,2,k) = tr2-tr5</div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;            ch(i,3,k) = ti2+ti5</div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;            ch(ic,2,k) = ti5-ti2</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;            ch(i-1,5,k) = tr3+tr4</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;            ch(ic-1,4,k) = tr3-tr4</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;            ch(i,5,k) = ti3+ti4</div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;            ch(ic,4,k) = ti4-ti3</div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;  102    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;  103 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; </div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;<span class="comment">C&gt; RADFG</span></div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;<span class="comment">C&gt; @param IDO</span></div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;<span class="comment">C&gt; @param IP</span></div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;<span class="comment">C&gt; @param L1</span></div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;<span class="comment">C&gt; @param IDL1</span></div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;<span class="comment">C&gt; @param CC</span></div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;<span class="comment">C&gt; @param C1</span></div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;<span class="comment">C&gt; @param C2</span></div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;<span class="comment">C&gt; @param CH</span></div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;<span class="comment">C&gt; @param CH2</span></div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;<span class="comment">C&gt; @param WA</span></div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;<span class="comment">C&gt; @author Paul N. Swarztrauber, National Center for Atmospheric Research, Boulder, CO</span></div>
+<div class="line"><a name="l01172"></a><span class="lineno"><a class="line" href="fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2"> 1172</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2">radfg</a> (IDO,IP,L1,IDL1,CC,C1,C2,CH,CH2,WA)</div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;      dimension       ch(ido,l1,ip)          ,cc(ido,ip,l1)          ,</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;     1                c1(ido,l1,ip)          ,c2(idl1,ip),</div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;     2                ch2(idl1,ip)           ,wa(1)</div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;      <span class="keyword">DATA</span> tpi/6.28318530717959/</div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;      arg = tpi/float(ip)</div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;      dcp = cos(arg)</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;      dsp = sin(arg)</div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;      ipph = (ip+1)/2</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;      ipp2 = ip+2</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;      idp2 = ido+2</div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;      nbd = (ido-1)/2</div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;      <span class="keywordflow">IF</span> (ido .EQ. 1) <span class="keywordflow">GO TO</span> 119</div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;      <span class="keywordflow">DO</span> 101 ik=1,idl1</div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;         ch2(ik,1) = c2(ik,1)</div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;  101 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;      <span class="keywordflow">DO</span> 103 j=2,ip</div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;         <span class="keywordflow">DO</span> 102 k=1,l1</div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;            ch(1,k,j) = c1(1,k,j)</div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;  102    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;  103 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;      <span class="keywordflow">IF</span> (nbd .GT. l1) <span class="keywordflow">GO TO</span> 107</div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;      is = -ido</div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;      <span class="keywordflow">DO</span> 106 j=2,ip</div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;         is = is+ido</div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;         idij = is</div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;         <span class="keywordflow">DO</span> 105 i=3,ido,2</div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;            idij = idij+2</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;            <span class="keywordflow">DO</span> 104 k=1,l1</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;               ch(i-1,k,j) = wa(idij-1)*c1(i-1,k,j)+wa(idij)*c1(i,k,j)</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;               ch(i,k,j) = wa(idij-1)*c1(i,k,j)-wa(idij)*c1(i-1,k,j)</div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;  104       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;  105    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;  106 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;      <span class="keywordflow">GO TO</span> 111</div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;  107 is = -ido</div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;      <span class="keywordflow">DO</span> 110 j=2,ip</div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;         is = is+ido</div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;         <span class="keywordflow">DO</span> 109 k=1,l1</div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;            idij = is</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;            <span class="keywordflow">DO</span> 108 i=3,ido,2</div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;               idij = idij+2</div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;               ch(i-1,k,j) = wa(idij-1)*c1(i-1,k,j)+wa(idij)*c1(i,k,j)</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;               ch(i,k,j) = wa(idij-1)*c1(i,k,j)-wa(idij)*c1(i-1,k,j)</div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;  108       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;  109    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;  110 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;  111 <span class="keywordflow">IF</span> (nbd .LT. l1) <span class="keywordflow">GO TO</span> 115</div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;      <span class="keywordflow">DO</span> 114 j=2,ipph</div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;         <span class="keywordflow">DO</span> 113 k=1,l1</div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;            <span class="keywordflow">DO</span> 112 i=3,ido,2</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;               c1(i-1,k,j) = ch(i-1,k,j)+ch(i-1,k,jc)</div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;               c1(i-1,k,jc) = ch(i,k,j)-ch(i,k,jc)</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;               c1(i,k,j) = ch(i,k,j)+ch(i,k,jc)</div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;               c1(i,k,jc) = ch(i-1,k,jc)-ch(i-1,k,j)</div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;  112       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;  113    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;  114 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;      <span class="keywordflow">GO TO</span> 121</div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;  115 <span class="keywordflow">DO</span> 118 j=2,ipph</div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;         <span class="keywordflow">DO</span> 117 i=3,ido,2</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;            <span class="keywordflow">DO</span> 116 k=1,l1</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;               c1(i-1,k,j) = ch(i-1,k,j)+ch(i-1,k,jc)</div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;               c1(i-1,k,jc) = ch(i,k,j)-ch(i,k,jc)</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;               c1(i,k,j) = ch(i,k,j)+ch(i,k,jc)</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;               c1(i,k,jc) = ch(i-1,k,jc)-ch(i-1,k,j)</div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;  116       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;  117    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;  118 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;      <span class="keywordflow">GO TO</span> 121</div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;  119 <span class="keywordflow">DO</span> 120 ik=1,idl1</div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;         c2(ik,1) = ch2(ik,1)</div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;  120 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;  121 <span class="keywordflow">DO</span> 123 j=2,ipph</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;         <span class="keywordflow">DO</span> 122 k=1,l1</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;            c1(1,k,j) = ch(1,k,j)+ch(1,k,jc)</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;            c1(1,k,jc) = ch(1,k,jc)-ch(1,k,j)</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;  122    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;  123 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;<span class="comment">C</span></div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;      ar1 = 1.</div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;      ai1 = 0.</div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;      <span class="keywordflow">DO</span> 127 l=2,ipph</div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;         lc = ipp2-l</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;         ar1h = dcp*ar1-dsp*ai1</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;         ai1 = dcp*ai1+dsp*ar1</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;         ar1 = ar1h</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;         <span class="keywordflow">DO</span> 124 ik=1,idl1</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;            ch2(ik,l) = c2(ik,1)+ar1*c2(ik,2)</div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;            ch2(ik,lc) = ai1*c2(ik,ip)</div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;  124    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;         dc2 = ar1</div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;         ds2 = ai1</div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;         ar2 = ar1</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;         ai2 = ai1</div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;         <span class="keywordflow">DO</span> 126 j=3,ipph</div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;            jc = ipp2-j</div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;            ar2h = dc2*ar2-ds2*ai2</div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;            ai2 = dc2*ai2+ds2*ar2</div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;            ar2 = ar2h</div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;            <span class="keywordflow">DO</span> 125 ik=1,idl1</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;               ch2(ik,l) = ch2(ik,l)+ar2*c2(ik,j)</div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;               ch2(ik,lc) = ch2(ik,lc)+ai2*c2(ik,jc)</div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;  125       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;  126    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;  127 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;      <span class="keywordflow">DO</span> 129 j=2,ipph</div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;         <span class="keywordflow">DO</span> 128 ik=1,idl1</div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;            ch2(ik,1) = ch2(ik,1)+c2(ik,j)</div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;  128    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;  129 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;<span class="comment">C</span></div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;      <span class="keywordflow">IF</span> (ido .LT. l1) <span class="keywordflow">GO TO</span> 132</div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;      <span class="keywordflow">DO</span> 131 k=1,l1</div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;         <span class="keywordflow">DO</span> 130 i=1,ido</div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;            cc(i,1,k) = ch(i,k,1)</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;  130    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;  131 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;      <span class="keywordflow">GO TO</span> 135</div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;  132 <span class="keywordflow">DO</span> 134 i=1,ido</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;         <span class="keywordflow">DO</span> 133 k=1,l1</div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;            cc(i,1,k) = ch(i,k,1)</div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;  133    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;  134 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;  135 <span class="keywordflow">DO</span> 137 j=2,ipph</div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;         j2 = j+j</div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;         <span class="keywordflow">DO</span> 136 k=1,l1</div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;            cc(ido,j2-2,k) = ch(1,k,j)</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;            cc(1,j2-1,k) = ch(1,k,jc)</div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;  136    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;  137 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;      <span class="keywordflow">IF</span> (ido .EQ. 1) <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;      <span class="keywordflow">IF</span> (nbd .LT. l1) <span class="keywordflow">GO TO</span> 141</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;      <span class="keywordflow">DO</span> 140 j=2,ipph</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;         j2 = j+j</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;         <span class="keywordflow">DO</span> 139 k=1,l1</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;            <span class="keywordflow">DO</span> 138 i=3,ido,2</div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;               ic = idp2-i</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;               cc(i-1,j2-1,k) = ch(i-1,k,j)+ch(i-1,k,jc)</div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;               cc(ic-1,j2-2,k) = ch(i-1,k,j)-ch(i-1,k,jc)</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;               cc(i,j2-1,k) = ch(i,k,j)+ch(i,k,jc)</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;               cc(ic,j2-2,k) = ch(i,k,jc)-ch(i,k,j)</div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;  138       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;  139    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;  140 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;  141 <span class="keywordflow">DO</span> 144 j=2,ipph</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;         jc = ipp2-j</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;         j2 = j+j</div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;         <span class="keywordflow">DO</span> 143 i=3,ido,2</div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;            ic = idp2-i</div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;            <span class="keywordflow">DO</span> 142 k=1,l1</div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;               cc(i-1,j2-1,k) = ch(i-1,k,j)+ch(i-1,k,jc)</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;               cc(ic-1,j2-2,k) = ch(i-1,k,j)-ch(i-1,k,jc)</div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;               cc(i,j2-1,k) = ch(i,k,j)+ch(i,k,jc)</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;               cc(ic,j2-2,k) = ch(i,k,jc)-ch(i,k,j)</div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;  142       <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;  143    <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;  144 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="afftpack_8F_html_a2b6492f922cbee03af5b89d52356abf1"><div class="ttname"><a href="fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1">radb5</a></div><div class="ttdeci">subroutine radb5(IDO, L1, CC, CH, WA1, WA2, WA3, WA4)</div><div class="ttdoc">RADB5.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00690">fftpack.F:691</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a369071ea2d380c9d91ba36d1bf375e33"><div class="ttname"><a href="fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33">scfft</a></div><div class="ttdeci">subroutine scfft(isign, n, scale, x, y, table, work, isys)</div><div class="ttdoc">scfft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00249">fftpack.F:250</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a3b5aab129020968eaf92f2e6ca0785ef"><div class="ttname"><a href="fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef">radb4</a></div><div class="ttdeci">subroutine radb4(IDO, L1, CC, CH, WA1, WA2, WA3)</div><div class="ttdoc">RADB4.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00619">fftpack.F:620</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a50f1237ff5990436609962c0eae406db"><div class="ttname"><a href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">rffti</a></div><div class="ttdeci">subroutine rffti(N, WSAVE)</div><div class="ttdoc">RFFTI.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00309">fftpack.F:310</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a51374398f8edd5701987ce483c739592"><div class="ttname"><a href="fftpack_8F.html#a51374398f8edd5701987ce483c739592">radf3</a></div><div class="ttdeci">subroutine radf3(IDO, L1, CC, CH, WA1, WA2)</div><div class="ttdoc">RADF3.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00984">fftpack.F:985</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a55b05419c0d3bb0595b34c8cacf93be8"><div class="ttname"><a href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">drcft</a></div><div class="ttdeci">subroutine drcft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">drcft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00158">fftpack.F:160</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a6129001ac4cdf5d5a345edc2822d8014"><div class="ttname"><a href="fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014">radb3</a></div><div class="ttdeci">subroutine radb3(IDO, L1, CC, CH, WA1, WA2)</div><div class="ttdoc">RADB3</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00569">fftpack.F:570</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a6d852c36924b038f77a24b8e22205add"><div class="ttname"><a href="fftpack_8F.html#a6d852c36924b038f77a24b8e22205add">radf5</a></div><div class="ttdeci">subroutine radf5(IDO, L1, CC, CH, WA1, WA2, WA3, WA4)</div><div class="ttdoc">RADF5.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l01098">fftpack.F:1099</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a70e2420dd5bee9e41eb6c15bbad5eef6"><div class="ttname"><a href="fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6">radf2</a></div><div class="ttdeci">subroutine radf2(IDO, L1, CC, CH, WA1)</div><div class="ttdoc">RADBG.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00946">fftpack.F:947</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a713ef445886ad8dc8b16692c6075d225"><div class="ttname"><a href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">dcrft</a></div><div class="ttdeci">subroutine dcrft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">dcrft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00032">fftpack.F:34</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a79ba25d1f342858b0faa3c3e3585ec88"><div class="ttname"><a href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">rfftb</a></div><div class="ttdeci">subroutine rfftb(N, R, WSAVE)</div><div class="ttdoc">RFFTB.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00296">fftpack.F:297</a></div></div>
+<div class="ttc" id="afftpack_8F_html_ac69cbd64be972c20a4424f5327fb4b36"><div class="ttname"><a href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a></div><div class="ttdeci">subroutine scrft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">scrft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00078">fftpack.F:80</a></div></div>
+<div class="ttc" id="afftpack_8F_html_acdf9efa42dc73f90af444ee0da649a09"><div class="ttname"><a href="fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09">rfftf1</a></div><div class="ttdeci">subroutine rfftf1(N, C, CH, WA, IFAC)</div><div class="ttdoc">RFFTF1.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00394">fftpack.F:395</a></div></div>
+<div class="ttc" id="afftpack_8F_html_acf248c4f27a9fa81cffdfded50eee742"><div class="ttname"><a href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a></div><div class="ttdeci">subroutine srcft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">srcft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00207">fftpack.F:209</a></div></div>
+<div class="ttc" id="afftpack_8F_html_ad261879c88a7f040e43f1549e65f36e5"><div class="ttname"><a href="fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5">csfft</a></div><div class="ttdeci">subroutine csfft(isign, n, scale, x, y, table, work, isys)</div><div class="ttdoc">csfft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00116">fftpack.F:117</a></div></div>
+<div class="ttc" id="afftpack_8F_html_ad5dbca6bb6ee7c0a86a1e140627de1b2"><div class="ttname"><a href="fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2">radfg</a></div><div class="ttdeci">subroutine radfg(IDO, IP, L1, IDL1, CC, C1, C2, CH, CH2, WA)</div><div class="ttdoc">RADFG.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l01172">fftpack.F:1173</a></div></div>
+<div class="ttc" id="afftpack_8F_html_ae3569ef7a371390f6bf38417865ef71b"><div class="ttname"><a href="fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b">rffti1</a></div><div class="ttdeci">subroutine rffti1(N, WA, IFAC)</div><div class="ttdoc">RFFTI1.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00461">fftpack.F:462</a></div></div>
+<div class="ttc" id="afftpack_8F_html_ae63abe3a02989ed4fbd60b50bc0c6dda"><div class="ttname"><a href="fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda">radb2</a></div><div class="ttdeci">subroutine radb2(IDO, L1, CC, CH, WA1)</div><div class="ttdoc">RADB2.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00530">fftpack.F:531</a></div></div>
+<div class="ttc" id="afftpack_8F_html_ae9910ca606fd0cdb03b5b3b98533f486"><div class="ttname"><a href="fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486">radf4</a></div><div class="ttdeci">subroutine radf4(IDO, L1, CC, CH, WA1, WA2, WA3)</div><div class="ttdoc">RADF4.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l01031">fftpack.F:1032</a></div></div>
+<div class="ttc" id="afftpack_8F_html_af5a2521b66fece6cc768206c1df0d20b"><div class="ttname"><a href="fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b">radbg</a></div><div class="ttdeci">subroutine radbg(IDO, IP, L1, IDL1, CC, C1, C2, CH, CH2, WA)</div><div class="ttdoc">RADBG.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00768">fftpack.F:769</a></div></div>
+<div class="ttc" id="afftpack_8F_html_afa735c298a72dd1c13ab1c45e737c066"><div class="ttname"><a href="fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066">rfftb1</a></div><div class="ttdeci">subroutine rfftb1(N, C, CH, WA, IFAC)</div><div class="ttdoc">RFFTB1.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00325">fftpack.F:326</a></div></div>
+<div class="ttc" id="afftpack_8F_html_afbb5dc9c70ebe24759d5ffec1d3e42e2"><div class="ttname"><a href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">rfftf</a></div><div class="ttdeci">subroutine rfftf(N, R, WSAVE)</div><div class="ttdoc">RFFTF.</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00282">fftpack.F:283</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="fftpack_8F.html">fftpack.F</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/files.html b/files.html
index 59555004..c93829c9 100644
--- a/files.html
+++ b/files.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -92,37 +92,92 @@
 <tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bilinear__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="bilinear__interp__mod_8F90.html" target="_self">bilinear_interp_mod.F90</a></td><td class="desc">Bilinear interpolation routines for scalars and vectors </td></tr>
 <tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="budget__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="budget__interp__mod_8F90.html" target="_self">budget_interp_mod.F90</a></td><td class="desc">Budget interpolation routines for scalars and vectors </td></tr>
 <tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="earth__radius__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="earth__radius__mod_8F90.html" target="_self">earth_radius_mod.F90</a></td><td class="desc">Determine earth radius and shape </td></tr>
-<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="gdswzd__c_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="gdswzd__c_8F90.html" target="_self">gdswzd_c.F90</a></td><td class="desc">C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> </td></tr>
-<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="gdswzd__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="gdswzd__mod_8F90.html" target="_self">gdswzd_mod.F90</a></td><td class="desc">Driver module for gdswzd routines </td></tr>
-<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__constants__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__constants__mod_8F90.html" target="_self">ip_constants_mod.F90</a></td><td class="desc">Constants for use in NCEPLIBS-ip </td></tr>
-<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__equid__cylind__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__equid__cylind__grid__mod_8F90.html" target="_self">ip_equid_cylind_grid_mod.F90</a></td><td class="desc">Equidistant cylindrical grib decoder and grid coordinate transformations </td></tr>
-<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__gaussian__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__gaussian__grid__mod_8F90.html" target="_self">ip_gaussian_grid_mod.F90</a></td><td class="desc">Gaussian grid coordinate transformations </td></tr>
-<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grid__descriptor__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grid__descriptor__mod_8F90.html" target="_self">ip_grid_descriptor_mod.F90</a></td><td class="desc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions </td></tr>
-<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grid__factory__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grid__factory__mod_8F90.html" target="_self">ip_grid_factory_mod.F90</a></td><td class="desc">Routines for creating an ip_grid given a Grib descriptor </td></tr>
-<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grid__mod_8F90.html" target="_self">ip_grid_mod.F90</a></td><td class="desc">Abstract ip_grid type </td></tr>
-<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grids__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grids__mod_8F90.html" target="_self">ip_grids_mod.F90</a></td><td class="desc">Re-export the individual grids </td></tr>
-<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__interpolators__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__interpolators__mod_8F90.html" target="_self">ip_interpolators_mod.F90</a></td><td class="desc">Top-level module to export interpolation routines and constants </td></tr>
-<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__lambert__conf__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__lambert__conf__grid__mod_8F90.html" target="_self">ip_lambert_conf_grid_mod.F90</a></td><td class="desc">GDS wizard for lambert conformal conical </td></tr>
-<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__mercator__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__mercator__grid__mod_8F90.html" target="_self">ip_mercator_grid_mod.F90</a></td><td class="desc">GDS wizard for mercator cylindrical </td></tr>
-<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__mod_8F90.html" target="_self">ip_mod.F90</a></td><td class="desc">Top-level module for the ip library </td></tr>
-<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__polar__stereo__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__polar__stereo__grid__mod_8F90.html" target="_self">ip_polar_stereo_grid_mod.F90</a></td><td class="desc">GDS wizard for polar stereographic azimuthal </td></tr>
-<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90.html" target="_self">ip_rot_equid_cylind_egrid_mod.F90</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E </td></tr>
-<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__rot__equid__cylind__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__rot__equid__cylind__grid__mod_8F90.html" target="_self">ip_rot_equid_cylind_grid_mod.F90</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D </td></tr>
-<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__station__points__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__station__points__grid__mod_8F90.html" target="_self">ip_station_points_grid_mod.F90</a></td><td class="desc">Interpolate gridded data to a series of station points </td></tr>
-<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="iplib__4_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iplib__4_8h.html" target="_self">iplib_4.h</a></td><td class="desc">C interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> and <a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1" title="gdswzd_grib1() interface for C for the _4 build of the library.">gdswzd_grib1()</a> functions for '4' library build </td></tr>
-<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="iplib__8_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iplib__8_8h.html" target="_self">iplib_8.h</a></td><td class="desc">C interface to <a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4" title="gdswzd() interface for C for _8 build of library.">gdswzd()</a> and <a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93" title="gdswzd_grib1() interface for C for _8 build of the library.">gdswzd_grib1()</a> functions for '8' library build </td></tr>
-<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="iplib__d_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iplib__d_8h.html" target="_self">iplib_d.h</a></td><td class="desc">C interface to <a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e" title="gdswzd() interface for C for _d build of library.">gdswzd()</a> and <a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691" title="gdswzd_grib1() interface for C for _d build of the library.">gdswzd_grib1()</a> functions for 'd' library build </td></tr>
-<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipolates_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipolates_8F90.html" target="_self">ipolates.F90</a></td><td class="desc">Top-level driver for scalar interpolation routine ipolates() </td></tr>
-<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipolatev_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipolatev_8F90.html" target="_self">ipolatev.F90</a></td><td class="desc">Top-level driver for vector interpolation routine ipolates </td></tr>
-<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxetas_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxetas_8F90.html" target="_self">ipxetas.F90</a></td><td class="desc">Expand or contract eta grids using linear interpolation </td></tr>
-<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxwafs_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxwafs_8F90.html" target="_self">ipxwafs.F90</a></td><td class="desc">Expand or contract wafs grids </td></tr>
-<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxwafs2_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxwafs2_8F90.html" target="_self">ipxwafs2.F90</a></td><td class="desc">Expand or contract wafs grids using linear interpolation and account for bitmapped data </td></tr>
-<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxwafs3_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxwafs3_8F90.html" target="_self">ipxwafs3.F90</a></td><td class="desc">Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data </td></tr>
-<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="movect_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="movect_8F90.html" target="_self">movect.F90</a></td><td class="desc">Move a vector along a great circle </td></tr>
-<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="neighbor__budget__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="neighbor__budget__interp__mod_8F90.html" target="_self">neighbor_budget_interp_mod.F90</a></td><td class="desc">Interpolate scalar and vector fields with neighbor budget interpolation </td></tr>
-<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="neighbor__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="neighbor__interp__mod_8F90.html" target="_self">neighbor_interp_mod.F90</a></td><td class="desc">Interpolate scalar and vector fields with neighbor interpolation </td></tr>
-<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="polfix__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="polfix__mod_8F90.html" target="_self">polfix_mod.F90</a></td><td class="desc">Make multiple pole scalar values consistent </td></tr>
-<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spectral__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="spectral__interp__mod_8F90.html" target="_self">spectral_interp_mod.F90</a></td><td class="desc">Interpolate spectral </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fftpack_8F_source.html"><span class="icondoc"></span></a><a class="el" href="fftpack_8F.html" target="_self">fftpack.F</a></td><td class="desc">A concatination of the (FFTPACK)[<a href="https://netlib.org/fftpack/">https://netlib.org/fftpack/</a>] library code </td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="gdswzd__c_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="gdswzd__c_8F90.html" target="_self">gdswzd_c.F90</a></td><td class="desc">C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> </td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="gdswzd__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="gdswzd__mod_8F90.html" target="_self">gdswzd_mod.F90</a></td><td class="desc">Driver module for gdswzd routines </td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__constants__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__constants__mod_8F90.html" target="_self">ip_constants_mod.F90</a></td><td class="desc">Constants for use in NCEPLIBS-ip </td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__equid__cylind__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__equid__cylind__grid__mod_8F90.html" target="_self">ip_equid_cylind_grid_mod.F90</a></td><td class="desc">Equidistant cylindrical grib decoder and grid coordinate transformations </td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__gaussian__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__gaussian__grid__mod_8F90.html" target="_self">ip_gaussian_grid_mod.F90</a></td><td class="desc">Gaussian grid coordinate transformations </td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grid__descriptor__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grid__descriptor__mod_8F90.html" target="_self">ip_grid_descriptor_mod.F90</a></td><td class="desc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions </td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grid__factory__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grid__factory__mod_8F90.html" target="_self">ip_grid_factory_mod.F90</a></td><td class="desc">Routines for creating an ip_grid given a Grib descriptor </td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grid__mod_8F90.html" target="_self">ip_grid_mod.F90</a></td><td class="desc">Abstract ip_grid type </td></tr>
+<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grids__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grids__mod_8F90.html" target="_self">ip_grids_mod.F90</a></td><td class="desc">Re-export the individual grids </td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__interpolators__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__interpolators__mod_8F90.html" target="_self">ip_interpolators_mod.F90</a></td><td class="desc">Top-level module to export interpolation routines and constants </td></tr>
+<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__lambert__conf__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__lambert__conf__grid__mod_8F90.html" target="_self">ip_lambert_conf_grid_mod.F90</a></td><td class="desc">GDS wizard for lambert conformal conical </td></tr>
+<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__mercator__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__mercator__grid__mod_8F90.html" target="_self">ip_mercator_grid_mod.F90</a></td><td class="desc">GDS wizard for mercator cylindrical </td></tr>
+<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__mod_8F90.html" target="_self">ip_mod.F90</a></td><td class="desc">Top-level module for the ip library </td></tr>
+<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__polar__stereo__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__polar__stereo__grid__mod_8F90.html" target="_self">ip_polar_stereo_grid_mod.F90</a></td><td class="desc">GDS wizard for polar stereographic azimuthal </td></tr>
+<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90.html" target="_self">ip_rot_equid_cylind_egrid_mod.F90</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E </td></tr>
+<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__rot__equid__cylind__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__rot__equid__cylind__grid__mod_8F90.html" target="_self">ip_rot_equid_cylind_grid_mod.F90</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D </td></tr>
+<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__station__points__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__station__points__grid__mod_8F90.html" target="_self">ip_station_points_grid_mod.F90</a></td><td class="desc">Interpolate gridded data to a series of station points </td></tr>
+<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="iplib__4_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iplib__4_8h.html" target="_self">iplib_4.h</a></td><td class="desc">C interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> and <a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1" title="gdswzd_grib1() interface for C for the _4 build of the library.">gdswzd_grib1()</a> functions for '4' library build </td></tr>
+<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="iplib__8_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iplib__8_8h.html" target="_self">iplib_8.h</a></td><td class="desc">C interface to <a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4" title="gdswzd() interface for C for _8 build of library.">gdswzd()</a> and <a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93" title="gdswzd_grib1() interface for C for _8 build of the library.">gdswzd_grib1()</a> functions for '8' library build </td></tr>
+<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="iplib__d_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iplib__d_8h.html" target="_self">iplib_d.h</a></td><td class="desc">C interface to <a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e" title="gdswzd() interface for C for _d build of library.">gdswzd()</a> and <a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691" title="gdswzd_grib1() interface for C for _d build of the library.">gdswzd_grib1()</a> functions for 'd' library build </td></tr>
+<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipolates_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipolates_8F90.html" target="_self">ipolates.F90</a></td><td class="desc">Top-level driver for scalar interpolation routine ipolates() </td></tr>
+<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipolatev_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipolatev_8F90.html" target="_self">ipolatev.F90</a></td><td class="desc">Top-level driver for vector interpolation routine ipolates </td></tr>
+<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxetas_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxetas_8F90.html" target="_self">ipxetas.F90</a></td><td class="desc">Expand or contract eta grids using linear interpolation </td></tr>
+<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxwafs_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxwafs_8F90.html" target="_self">ipxwafs.F90</a></td><td class="desc">Expand or contract wafs grids </td></tr>
+<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxwafs2_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxwafs2_8F90.html" target="_self">ipxwafs2.F90</a></td><td class="desc">Expand or contract wafs grids using linear interpolation and account for bitmapped data </td></tr>
+<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxwafs3_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxwafs3_8F90.html" target="_self">ipxwafs3.F90</a></td><td class="desc">Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data </td></tr>
+<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="lapack__gen_8F_source.html"><span class="icondoc"></span></a><a class="el" href="lapack__gen_8F.html" target="_self">lapack_gen.F</a></td><td class="desc">Two Numerical Recipes routines for matrix inversion From Numerical Recipes </td></tr>
+<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="movect_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="movect_8F90.html" target="_self">movect.F90</a></td><td class="desc">Move a vector along a great circle </td></tr>
+<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ncpus_8F_source.html"><span class="icondoc"></span></a><a class="el" href="ncpus_8F.html" target="_self">ncpus.F</a></td><td class="desc">Set number of cpus </td></tr>
+<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="neighbor__budget__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="neighbor__budget__interp__mod_8F90.html" target="_self">neighbor_budget_interp_mod.F90</a></td><td class="desc">Interpolate scalar and vector fields with neighbor budget interpolation </td></tr>
+<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="neighbor__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="neighbor__interp__mod_8F90.html" target="_self">neighbor_interp_mod.F90</a></td><td class="desc">Interpolate scalar and vector fields with neighbor interpolation </td></tr>
+<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="polfix__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="polfix__mod_8F90.html" target="_self">polfix_mod.F90</a></td><td class="desc">Make multiple pole scalar values consistent </td></tr>
+<tr id="row_37_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spanaly_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spanaly_8f.html" target="_self">spanaly.f</a></td><td class="desc">Analyze spectral from Fourier </td></tr>
+<tr id="row_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spdz2uv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spdz2uv_8f.html" target="_self">spdz2uv.f</a></td><td class="desc">Compute winds from divergence and vorticity </td></tr>
+<tr id="row_39_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spectral__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="spectral__interp__mod_8F90.html" target="_self">spectral_interp_mod.F90</a></td><td class="desc">Interpolate spectral </td></tr>
+<tr id="row_40_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="speps_8f_source.html"><span class="icondoc"></span></a><a class="el" href="speps_8f.html" target="_self">speps.f</a></td><td class="desc">Compute utility spectral fields </td></tr>
+<tr id="row_41_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spfft_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spfft_8f.html" target="_self">spfft.f</a></td><td class="desc">Perform multiple fast fourier transforms </td></tr>
+<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spfft1_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spfft1_8f.html" target="_self">spfft1.f</a></td><td class="desc">Perform multiple fast Fourier transforms </td></tr>
+<tr id="row_43_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spffte_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spffte_8f.html" target="_self">spffte.f</a></td><td class="desc">Perform multiple fast Fourier transforms </td></tr>
+<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spfftpt_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spfftpt_8f.html" target="_self">spfftpt.f</a></td><td class="desc">Compute fourier transform to gridpoints </td></tr>
+<tr id="row_45_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spgradq_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spgradq_8f.html" target="_self">spgradq.f</a></td><td class="desc">Compute gradient in spectral space </td></tr>
+<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spgradx_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spgradx_8f.html" target="_self">spgradx.f</a></td><td class="desc">Compute x-gradient in Fourier space </td></tr>
+<tr id="row_47_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spgrady_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spgrady_8f.html" target="_self">spgrady.f</a></td><td class="desc">Compute y-gradient in spectral space </td></tr>
+<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="splaplac_8f_source.html"><span class="icondoc"></span></a><a class="el" href="splaplac_8f.html" target="_self">splaplac.f</a></td><td class="desc">Compute laplacian in spectral space </td></tr>
+<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="splat_8F_source.html"><span class="icondoc"></span></a><a class="el" href="splat_8F.html" target="_self">splat.F</a></td><td class="desc">Computes cosines of colatitude and Gaussian weights for sets of latitudes </td></tr>
+<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="splegend_8f_source.html"><span class="icondoc"></span></a><a class="el" href="splegend_8f.html" target="_self">splegend.f</a></td><td class="desc">Compute Legendre polynomials </td></tr>
+<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sppad_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sppad_8f.html" target="_self">sppad.f</a></td><td class="desc">Pad or truncate a spectral field </td></tr>
+<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spsynth_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spsynth_8f.html" target="_self">spsynth.f</a></td><td class="desc">Synthesize Fourier coefficients from spectral coefficients </td></tr>
+<tr id="row_53_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptez_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptez_8f.html" target="_self">sptez.f</a></td><td class="desc">Perform a simple scalar spherical transform </td></tr>
+<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptezd_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptezd_8f.html" target="_self">sptezd.f</a></td><td class="desc">Perform a simple gradient spherical transform </td></tr>
+<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptezm_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptezm_8f.html" target="_self">sptezm.f</a></td><td class="desc">Perform simple scalar spherical transforms </td></tr>
+<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptezmd_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptezmd_8f.html" target="_self">sptezmd.f</a></td><td class="desc">Perform simple gradient spherical transforms </td></tr>
+<tr id="row_57_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptezmv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptezmv_8f.html" target="_self">sptezmv.f</a></td><td class="desc">Perform simple vector spherical transforms </td></tr>
+<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptezv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptezv_8f.html" target="_self">sptezv.f</a></td><td class="desc">Perform a simple vector spherical transform </td></tr>
+<tr id="row_59_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgpm_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgpm_8f.html" target="_self">sptgpm.f</a></td><td class="desc">Transform spectral scalar to Mercator </td></tr>
+<tr id="row_60_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgpmd_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgpmd_8f.html" target="_self">sptgpmd.f</a></td><td class="desc">Transform spectral to Mercator gradients </td></tr>
+<tr id="row_61_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgpmv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgpmv_8f.html" target="_self">sptgpmv.f</a></td><td class="desc">Transform spectral vector to Mercator </td></tr>
+<tr id="row_62_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgps_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgps_8f.html" target="_self">sptgps.f</a></td><td class="desc">Transform spectral scalar to polar stereo </td></tr>
+<tr id="row_63_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgpsd_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgpsd_8f.html" target="_self">sptgpsd.f</a></td><td class="desc">Transform spectral to polar stereographic gradients </td></tr>
+<tr id="row_64_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgpsv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgpsv_8f.html" target="_self">sptgpsv.f</a></td><td class="desc">Transform spectral vector to polar stereo </td></tr>
+<tr id="row_65_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgpt_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgpt_8f.html" target="_self">sptgpt.f</a></td><td class="desc">Transform spectral scalar to station points </td></tr>
+<tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgptd_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgptd_8f.html" target="_self">sptgptd.f</a></td><td class="desc">Transform spectral to station point gradients </td></tr>
+<tr id="row_67_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgptsd_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgptsd_8f.html" target="_self">sptgptsd.f</a></td><td class="desc">Transform spectral scalar to station points </td></tr>
+<tr id="row_68_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgptv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgptv_8f.html" target="_self">sptgptv.f</a></td><td class="desc">Transform spectral vector to station points </td></tr>
+<tr id="row_69_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptgptvd_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptgptvd_8f.html" target="_self">sptgptvd.f</a></td><td class="desc">Transform spectral vector to station points </td></tr>
+<tr id="row_70_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptran_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptran_8f.html" target="_self">sptran.f</a></td><td class="desc">Perform a scalar spherical transform </td></tr>
+<tr id="row_71_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrand_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrand_8f.html" target="_self">sptrand.f</a></td><td class="desc">Perform a gradient spherical transform </td></tr>
+<tr id="row_72_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptranf_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptranf_8f.html" target="_self">sptranf.f</a></td><td class="desc">Perform a scalar spherical transform </td></tr>
+<tr id="row_73_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptranf0_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptranf0_8f.html" target="_self">sptranf0.f</a></td><td class="desc">Sptranf spectral initialization </td></tr>
+<tr id="row_74_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptranf1_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptranf1_8f.html" target="_self">sptranf1.f</a></td><td class="desc">Sptranf spectral transform </td></tr>
+<tr id="row_75_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptranfv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptranfv_8f.html" target="_self">sptranfv.f</a></td><td class="desc">Perform a vector spherical transform </td></tr>
+<tr id="row_76_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptranv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptranv_8f.html" target="_self">sptranv.f</a></td><td class="desc">Perform a vector spherical transform </td></tr>
+<tr id="row_77_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrun_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrun_8f.html" target="_self">sptrun.f</a></td><td class="desc">Truncate gridded scalar fields </td></tr>
+<tr id="row_78_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrund_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrund_8f.html" target="_self">sptrund.f</a></td><td class="desc">Spectrally truncate to gradients </td></tr>
+<tr id="row_79_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrung_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrung_8f.html" target="_self">sptrung.f</a></td><td class="desc">Spectrally interpolate scalars to stations </td></tr>
+<tr id="row_80_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrungv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrungv_8f.html" target="_self">sptrungv.f</a></td><td class="desc">Spectrally interpolate vectors to stations </td></tr>
+<tr id="row_81_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrunl_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrunl_8f.html" target="_self">sptrunl.f</a></td><td class="desc">Spectrally truncate to laplacian </td></tr>
+<tr id="row_82_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrunm_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrunm_8f.html" target="_self">sptrunm.f</a></td><td class="desc">Spectrally interpolate scalars to Mercator </td></tr>
+<tr id="row_83_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrunmv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrunmv_8f.html" target="_self">sptrunmv.f</a></td><td class="desc">Spectrally interpolate vectors to Mercator </td></tr>
+<tr id="row_84_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptruns_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptruns_8f.html" target="_self">sptruns.f</a></td><td class="desc">Spectrally interpolate scalars to polar stereo </td></tr>
+<tr id="row_85_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrunsv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrunsv_8f.html" target="_self">sptrunsv.f</a></td><td class="desc">Spectrally interpolate vectors to polar stereo </td></tr>
+<tr id="row_86_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="sptrunv_8f_source.html"><span class="icondoc"></span></a><a class="el" href="sptrunv_8f.html" target="_self">sptrunv.f</a></td><td class="desc">Spectrally truncate gridded vector fields </td></tr>
+<tr id="row_87_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spuv2dz_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spuv2dz_8f.html" target="_self">spuv2dz.f</a></td><td class="desc">Compute divergence and vorticity from winds </td></tr>
+<tr id="row_88_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spvar_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spvar_8f.html" target="_self">spvar.f</a></td><td class="desc">Compute variance by total wavenumber </td></tr>
+<tr id="row_89_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spwget_8f_source.html"><span class="icondoc"></span></a><a class="el" href="spwget_8f.html" target="_self">spwget.f</a></td><td class="desc">Get wave-space constants </td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
diff --git a/files_dup.js b/files_dup.js
index fffd5794..3ecf3254 100644
--- a/files_dup.js
+++ b/files_dup.js
@@ -4,6 +4,7 @@ var files_dup =
     [ "bilinear_interp_mod.F90", "bilinear__interp__mod_8F90.html", "bilinear__interp__mod_8F90" ],
     [ "budget_interp_mod.F90", "budget__interp__mod_8F90.html", "budget__interp__mod_8F90" ],
     [ "earth_radius_mod.F90", "earth__radius__mod_8F90.html", "earth__radius__mod_8F90" ],
+    [ "fftpack.F", "fftpack_8F.html", "fftpack_8F" ],
     [ "gdswzd_c.F90", "gdswzd__c_8F90.html", "gdswzd__c_8F90" ],
     [ "gdswzd_mod.F90", "gdswzd__mod_8F90.html", "gdswzd__mod_8F90" ],
     [ "ip_constants_mod.F90", "ip__constants__mod_8F90.html", "ip__constants__mod_8F90" ],
@@ -30,9 +31,63 @@ var files_dup =
     [ "ipxwafs.F90", "ipxwafs_8F90.html", "ipxwafs_8F90" ],
     [ "ipxwafs2.F90", "ipxwafs2_8F90.html", "ipxwafs2_8F90" ],
     [ "ipxwafs3.F90", "ipxwafs3_8F90.html", "ipxwafs3_8F90" ],
+    [ "lapack_gen.F", "lapack__gen_8F.html", "lapack__gen_8F" ],
     [ "movect.F90", "movect_8F90.html", "movect_8F90" ],
+    [ "ncpus.F", "ncpus_8F.html", "ncpus_8F" ],
     [ "neighbor_budget_interp_mod.F90", "neighbor__budget__interp__mod_8F90.html", "neighbor__budget__interp__mod_8F90" ],
     [ "neighbor_interp_mod.F90", "neighbor__interp__mod_8F90.html", "neighbor__interp__mod_8F90" ],
     [ "polfix_mod.F90", "polfix__mod_8F90.html", "polfix__mod_8F90" ],
-    [ "spectral_interp_mod.F90", "spectral__interp__mod_8F90.html", "spectral__interp__mod_8F90" ]
+    [ "spanaly.f", "spanaly_8f.html", "spanaly_8f" ],
+    [ "spdz2uv.f", "spdz2uv_8f.html", "spdz2uv_8f" ],
+    [ "spectral_interp_mod.F90", "spectral__interp__mod_8F90.html", "spectral__interp__mod_8F90" ],
+    [ "speps.f", "speps_8f.html", "speps_8f" ],
+    [ "spfft.f", "spfft_8f.html", "spfft_8f" ],
+    [ "spfft1.f", "spfft1_8f.html", "spfft1_8f" ],
+    [ "spffte.f", "spffte_8f.html", "spffte_8f" ],
+    [ "spfftpt.f", "spfftpt_8f.html", "spfftpt_8f" ],
+    [ "spgradq.f", "spgradq_8f.html", "spgradq_8f" ],
+    [ "spgradx.f", "spgradx_8f.html", "spgradx_8f" ],
+    [ "spgrady.f", "spgrady_8f.html", "spgrady_8f" ],
+    [ "splaplac.f", "splaplac_8f.html", "splaplac_8f" ],
+    [ "splat.F", "splat_8F.html", "splat_8F" ],
+    [ "splegend.f", "splegend_8f.html", "splegend_8f" ],
+    [ "sppad.f", "sppad_8f.html", "sppad_8f" ],
+    [ "spsynth.f", "spsynth_8f.html", "spsynth_8f" ],
+    [ "sptez.f", "sptez_8f.html", "sptez_8f" ],
+    [ "sptezd.f", "sptezd_8f.html", "sptezd_8f" ],
+    [ "sptezm.f", "sptezm_8f.html", "sptezm_8f" ],
+    [ "sptezmd.f", "sptezmd_8f.html", "sptezmd_8f" ],
+    [ "sptezmv.f", "sptezmv_8f.html", "sptezmv_8f" ],
+    [ "sptezv.f", "sptezv_8f.html", "sptezv_8f" ],
+    [ "sptgpm.f", "sptgpm_8f.html", "sptgpm_8f" ],
+    [ "sptgpmd.f", "sptgpmd_8f.html", "sptgpmd_8f" ],
+    [ "sptgpmv.f", "sptgpmv_8f.html", "sptgpmv_8f" ],
+    [ "sptgps.f", "sptgps_8f.html", "sptgps_8f" ],
+    [ "sptgpsd.f", "sptgpsd_8f.html", "sptgpsd_8f" ],
+    [ "sptgpsv.f", "sptgpsv_8f.html", "sptgpsv_8f" ],
+    [ "sptgpt.f", "sptgpt_8f.html", "sptgpt_8f" ],
+    [ "sptgptd.f", "sptgptd_8f.html", "sptgptd_8f" ],
+    [ "sptgptsd.f", "sptgptsd_8f.html", "sptgptsd_8f" ],
+    [ "sptgptv.f", "sptgptv_8f.html", "sptgptv_8f" ],
+    [ "sptgptvd.f", "sptgptvd_8f.html", "sptgptvd_8f" ],
+    [ "sptran.f", "sptran_8f.html", "sptran_8f" ],
+    [ "sptrand.f", "sptrand_8f.html", "sptrand_8f" ],
+    [ "sptranf.f", "sptranf_8f.html", "sptranf_8f" ],
+    [ "sptranf0.f", "sptranf0_8f.html", "sptranf0_8f" ],
+    [ "sptranf1.f", "sptranf1_8f.html", "sptranf1_8f" ],
+    [ "sptranfv.f", "sptranfv_8f.html", "sptranfv_8f" ],
+    [ "sptranv.f", "sptranv_8f.html", "sptranv_8f" ],
+    [ "sptrun.f", "sptrun_8f.html", "sptrun_8f" ],
+    [ "sptrund.f", "sptrund_8f.html", "sptrund_8f" ],
+    [ "sptrung.f", "sptrung_8f.html", "sptrung_8f" ],
+    [ "sptrungv.f", "sptrungv_8f.html", "sptrungv_8f" ],
+    [ "sptrunl.f", "sptrunl_8f.html", "sptrunl_8f" ],
+    [ "sptrunm.f", "sptrunm_8f.html", "sptrunm_8f" ],
+    [ "sptrunmv.f", "sptrunmv_8f.html", "sptrunmv_8f" ],
+    [ "sptruns.f", "sptruns_8f.html", "sptruns_8f" ],
+    [ "sptrunsv.f", "sptrunsv_8f.html", "sptrunsv_8f" ],
+    [ "sptrunv.f", "sptrunv_8f.html", "sptrunv_8f" ],
+    [ "spuv2dz.f", "spuv2dz_8f.html", "spuv2dz_8f" ],
+    [ "spvar.f", "spvar_8f.html", "spvar_8f" ],
+    [ "spwget.f", "spwget_8f.html", "spwget_8f" ]
 ];
\ No newline at end of file
diff --git a/functions.html b/functions.html
index e7c657cd..46362750 100644
--- a/functions.html
+++ b/functions.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/functions_func.html b/functions_func.html
index 22c9c076..408725d1 100644
--- a/functions_func.html
+++ b/functions_func.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/functions_vars.html b/functions_vars.html
index 14ced54e..cbe3b5d5 100644
--- a/functions_vars.html
+++ b/functions_vars.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/gdswzd__c_8F90.html b/gdswzd__c_8F90.html
index 7c3d607c..b3acb1fe 100644
--- a/gdswzd__c_8F90.html
+++ b/gdswzd__c_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/gdswzd__c_8F90_source.html b/gdswzd__c_8F90_source.html
index 8391114b..5d1be1c2 100644
--- a/gdswzd__c_8F90_source.html
+++ b/gdswzd__c_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/gdswzd__mod_8F90.html b/gdswzd__mod_8F90.html
index 234db3f1..166f019e 100644
--- a/gdswzd__mod_8F90.html
+++ b/gdswzd__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/gdswzd__mod_8F90_source.html b/gdswzd__mod_8F90_source.html
index d3382a0b..ec343a77 100644
--- a/gdswzd__mod_8F90_source.html
+++ b/gdswzd__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/globals.html b/globals.html
index 36c1b121..62313475 100644
--- a/globals.html
+++ b/globals.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,26 @@
 </div>
 
 <div class="contents">
-<div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div><ul>
+<div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>csfft()
+: <a class="el" href="fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5">fftpack.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_d"></a>- d -</h3><ul>
+<li>dcrft()
+: <a class="el" href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">fftpack.F</a>
+</li>
+<li>drcft()
+: <a class="el" href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">fftpack.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
 <li>gdswzd()
 : <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">iplib_4.h</a>
 , <a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4">iplib_8.h</a>
@@ -93,6 +112,10 @@
 , <a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93">iplib_8.h</a>
 , <a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691">iplib_d.h</a>
 </li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
 <li>ipxetas()
 : <a class="el" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">ipxetas.F90</a>
 </li>
@@ -105,10 +128,252 @@
 <li>ipxwafs3()
 : <a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">ipxwafs3.F90</a>
 </li>
+</ul>
+
+
+<h3><a id="index_l"></a>- l -</h3><ul>
+<li>lubksb()
+: <a class="el" href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">lapack_gen.F</a>
+</li>
+<li>ludcmp()
+: <a class="el" href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">lapack_gen.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_m"></a>- m -</h3><ul>
 <li>movect()
 : <a class="el" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect.F90</a>
 </li>
 </ul>
+
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>ncpus()
+: <a class="el" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>radb2()
+: <a class="el" href="fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda">fftpack.F</a>
+</li>
+<li>radb3()
+: <a class="el" href="fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014">fftpack.F</a>
+</li>
+<li>radb4()
+: <a class="el" href="fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef">fftpack.F</a>
+</li>
+<li>radb5()
+: <a class="el" href="fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1">fftpack.F</a>
+</li>
+<li>radbg()
+: <a class="el" href="fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b">fftpack.F</a>
+</li>
+<li>radf2()
+: <a class="el" href="fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6">fftpack.F</a>
+</li>
+<li>radf3()
+: <a class="el" href="fftpack_8F.html#a51374398f8edd5701987ce483c739592">fftpack.F</a>
+</li>
+<li>radf4()
+: <a class="el" href="fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486">fftpack.F</a>
+</li>
+<li>radf5()
+: <a class="el" href="fftpack_8F.html#a6d852c36924b038f77a24b8e22205add">fftpack.F</a>
+</li>
+<li>radfg()
+: <a class="el" href="fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2">fftpack.F</a>
+</li>
+<li>rfftb()
+: <a class="el" href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">fftpack.F</a>
+</li>
+<li>rfftb1()
+: <a class="el" href="fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066">fftpack.F</a>
+</li>
+<li>rfftf()
+: <a class="el" href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">fftpack.F</a>
+</li>
+<li>rfftf1()
+: <a class="el" href="fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09">fftpack.F</a>
+</li>
+<li>rffti()
+: <a class="el" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">fftpack.F</a>
+</li>
+<li>rffti1()
+: <a class="el" href="fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b">fftpack.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>scfft()
+: <a class="el" href="fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33">fftpack.F</a>
+</li>
+<li>scrft()
+: <a class="el" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">fftpack.F</a>
+</li>
+<li>spanaly()
+: <a class="el" href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a">spanaly.f</a>
+</li>
+<li>spdz2uv()
+: <a class="el" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv.f</a>
+</li>
+<li>speps()
+: <a class="el" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131">speps.f</a>
+</li>
+<li>spfft()
+: <a class="el" href="spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d">spfft.f</a>
+</li>
+<li>spfft1()
+: <a class="el" href="spfft1_8f.html#ac63643472eda83948c0b249b611346d6">spfft1.f</a>
+</li>
+<li>spffte()
+: <a class="el" href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte.f</a>
+</li>
+<li>spfftpt()
+: <a class="el" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt.f</a>
+</li>
+<li>spgradq()
+: <a class="el" href="spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849">spgradq.f</a>
+</li>
+<li>spgradx()
+: <a class="el" href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">spgradx.f</a>
+</li>
+<li>spgrady()
+: <a class="el" href="spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1">spgrady.f</a>
+</li>
+<li>splaplac()
+: <a class="el" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac.f</a>
+</li>
+<li>splat()
+: <a class="el" href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">splat.F</a>
+</li>
+<li>splegend()
+: <a class="el" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend.f</a>
+</li>
+<li>sppad()
+: <a class="el" href="sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e">sppad.f</a>
+</li>
+<li>spsynth()
+: <a class="el" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth.f</a>
+</li>
+<li>sptez()
+: <a class="el" href="sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc">sptez.f</a>
+</li>
+<li>sptezd()
+: <a class="el" href="sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7">sptezd.f</a>
+</li>
+<li>sptezm()
+: <a class="el" href="sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1">sptezm.f</a>
+</li>
+<li>sptezmd()
+: <a class="el" href="sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996">sptezmd.f</a>
+</li>
+<li>sptezmv()
+: <a class="el" href="sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e">sptezmv.f</a>
+</li>
+<li>sptezv()
+: <a class="el" href="sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226">sptezv.f</a>
+</li>
+<li>sptgpm()
+: <a class="el" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm.f</a>
+</li>
+<li>sptgpmd()
+: <a class="el" href="sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539">sptgpmd.f</a>
+</li>
+<li>sptgpmv()
+: <a class="el" href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">sptgpmv.f</a>
+</li>
+<li>sptgps()
+: <a class="el" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps.f</a>
+</li>
+<li>sptgpsd()
+: <a class="el" href="sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30">sptgpsd.f</a>
+</li>
+<li>sptgpsv()
+: <a class="el" href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">sptgpsv.f</a>
+</li>
+<li>sptgpt()
+: <a class="el" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt.f</a>
+</li>
+<li>sptgptd()
+: <a class="el" href="sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3">sptgptd.f</a>
+</li>
+<li>sptgptsd()
+: <a class="el" href="sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f">sptgptsd.f</a>
+</li>
+<li>sptgptv()
+: <a class="el" href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">sptgptv.f</a>
+</li>
+<li>sptgptvd()
+: <a class="el" href="sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753">sptgptvd.f</a>
+</li>
+<li>sptran()
+: <a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran.f</a>
+</li>
+<li>sptrand()
+: <a class="el" href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand.f</a>
+</li>
+<li>sptranf()
+: <a class="el" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf.f</a>
+</li>
+<li>sptranf0()
+: <a class="el" href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">sptranf0.f</a>
+</li>
+<li>sptranf1()
+: <a class="el" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1.f</a>
+</li>
+<li>sptranfv()
+: <a class="el" href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv.f</a>
+</li>
+<li>sptranv()
+: <a class="el" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv.f</a>
+</li>
+<li>sptrun()
+: <a class="el" href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">sptrun.f</a>
+</li>
+<li>sptrund()
+: <a class="el" href="sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480">sptrund.f</a>
+</li>
+<li>sptrung()
+: <a class="el" href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">sptrung.f</a>
+</li>
+<li>sptrungv()
+: <a class="el" href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">sptrungv.f</a>
+</li>
+<li>sptrunl()
+: <a class="el" href="sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8">sptrunl.f</a>
+</li>
+<li>sptrunm()
+: <a class="el" href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">sptrunm.f</a>
+</li>
+<li>sptrunmv()
+: <a class="el" href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">sptrunmv.f</a>
+</li>
+<li>sptruns()
+: <a class="el" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns.f</a>
+</li>
+<li>sptrunsv()
+: <a class="el" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv.f</a>
+</li>
+<li>sptrunv()
+: <a class="el" href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv.f</a>
+</li>
+<li>spuv2dz()
+: <a class="el" href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9">spuv2dz.f</a>
+</li>
+<li>spvar()
+: <a class="el" href="spvar_8f.html#a840f95e09b8d930b38638a391933bee4">spvar.f</a>
+</li>
+<li>spwget()
+: <a class="el" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget.f</a>
+</li>
+<li>srcft()
+: <a class="el" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">fftpack.F</a>
+</li>
+</ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
diff --git a/globals_func.html b/globals_func.html
index 9571c992..5bfb31f5 100644
--- a/globals_func.html
+++ b/globals_func.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,26 @@
 </div>
 
 <div class="contents">
-&#160;<ul>
+&#160;
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>csfft()
+: <a class="el" href="fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5">fftpack.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_d"></a>- d -</h3><ul>
+<li>dcrft()
+: <a class="el" href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">fftpack.F</a>
+</li>
+<li>drcft()
+: <a class="el" href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">fftpack.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
 <li>gdswzd()
 : <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">iplib_4.h</a>
 , <a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4">iplib_8.h</a>
@@ -93,6 +112,10 @@
 , <a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93">iplib_8.h</a>
 , <a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691">iplib_d.h</a>
 </li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
 <li>ipxetas()
 : <a class="el" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">ipxetas.F90</a>
 </li>
@@ -105,10 +128,252 @@
 <li>ipxwafs3()
 : <a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">ipxwafs3.F90</a>
 </li>
+</ul>
+
+
+<h3><a id="index_l"></a>- l -</h3><ul>
+<li>lubksb()
+: <a class="el" href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">lapack_gen.F</a>
+</li>
+<li>ludcmp()
+: <a class="el" href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">lapack_gen.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_m"></a>- m -</h3><ul>
 <li>movect()
 : <a class="el" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect.F90</a>
 </li>
 </ul>
+
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>ncpus()
+: <a class="el" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>radb2()
+: <a class="el" href="fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda">fftpack.F</a>
+</li>
+<li>radb3()
+: <a class="el" href="fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014">fftpack.F</a>
+</li>
+<li>radb4()
+: <a class="el" href="fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef">fftpack.F</a>
+</li>
+<li>radb5()
+: <a class="el" href="fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1">fftpack.F</a>
+</li>
+<li>radbg()
+: <a class="el" href="fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b">fftpack.F</a>
+</li>
+<li>radf2()
+: <a class="el" href="fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6">fftpack.F</a>
+</li>
+<li>radf3()
+: <a class="el" href="fftpack_8F.html#a51374398f8edd5701987ce483c739592">fftpack.F</a>
+</li>
+<li>radf4()
+: <a class="el" href="fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486">fftpack.F</a>
+</li>
+<li>radf5()
+: <a class="el" href="fftpack_8F.html#a6d852c36924b038f77a24b8e22205add">fftpack.F</a>
+</li>
+<li>radfg()
+: <a class="el" href="fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2">fftpack.F</a>
+</li>
+<li>rfftb()
+: <a class="el" href="fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88">fftpack.F</a>
+</li>
+<li>rfftb1()
+: <a class="el" href="fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066">fftpack.F</a>
+</li>
+<li>rfftf()
+: <a class="el" href="fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2">fftpack.F</a>
+</li>
+<li>rfftf1()
+: <a class="el" href="fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09">fftpack.F</a>
+</li>
+<li>rffti()
+: <a class="el" href="fftpack_8F.html#a50f1237ff5990436609962c0eae406db">fftpack.F</a>
+</li>
+<li>rffti1()
+: <a class="el" href="fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b">fftpack.F</a>
+</li>
+</ul>
+
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>scfft()
+: <a class="el" href="fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33">fftpack.F</a>
+</li>
+<li>scrft()
+: <a class="el" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">fftpack.F</a>
+</li>
+<li>spanaly()
+: <a class="el" href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a">spanaly.f</a>
+</li>
+<li>spdz2uv()
+: <a class="el" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv.f</a>
+</li>
+<li>speps()
+: <a class="el" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131">speps.f</a>
+</li>
+<li>spfft()
+: <a class="el" href="spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d">spfft.f</a>
+</li>
+<li>spfft1()
+: <a class="el" href="spfft1_8f.html#ac63643472eda83948c0b249b611346d6">spfft1.f</a>
+</li>
+<li>spffte()
+: <a class="el" href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte.f</a>
+</li>
+<li>spfftpt()
+: <a class="el" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt.f</a>
+</li>
+<li>spgradq()
+: <a class="el" href="spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849">spgradq.f</a>
+</li>
+<li>spgradx()
+: <a class="el" href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">spgradx.f</a>
+</li>
+<li>spgrady()
+: <a class="el" href="spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1">spgrady.f</a>
+</li>
+<li>splaplac()
+: <a class="el" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac.f</a>
+</li>
+<li>splat()
+: <a class="el" href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">splat.F</a>
+</li>
+<li>splegend()
+: <a class="el" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend.f</a>
+</li>
+<li>sppad()
+: <a class="el" href="sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e">sppad.f</a>
+</li>
+<li>spsynth()
+: <a class="el" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth.f</a>
+</li>
+<li>sptez()
+: <a class="el" href="sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc">sptez.f</a>
+</li>
+<li>sptezd()
+: <a class="el" href="sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7">sptezd.f</a>
+</li>
+<li>sptezm()
+: <a class="el" href="sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1">sptezm.f</a>
+</li>
+<li>sptezmd()
+: <a class="el" href="sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996">sptezmd.f</a>
+</li>
+<li>sptezmv()
+: <a class="el" href="sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e">sptezmv.f</a>
+</li>
+<li>sptezv()
+: <a class="el" href="sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226">sptezv.f</a>
+</li>
+<li>sptgpm()
+: <a class="el" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm.f</a>
+</li>
+<li>sptgpmd()
+: <a class="el" href="sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539">sptgpmd.f</a>
+</li>
+<li>sptgpmv()
+: <a class="el" href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">sptgpmv.f</a>
+</li>
+<li>sptgps()
+: <a class="el" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps.f</a>
+</li>
+<li>sptgpsd()
+: <a class="el" href="sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30">sptgpsd.f</a>
+</li>
+<li>sptgpsv()
+: <a class="el" href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">sptgpsv.f</a>
+</li>
+<li>sptgpt()
+: <a class="el" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt.f</a>
+</li>
+<li>sptgptd()
+: <a class="el" href="sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3">sptgptd.f</a>
+</li>
+<li>sptgptsd()
+: <a class="el" href="sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f">sptgptsd.f</a>
+</li>
+<li>sptgptv()
+: <a class="el" href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">sptgptv.f</a>
+</li>
+<li>sptgptvd()
+: <a class="el" href="sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753">sptgptvd.f</a>
+</li>
+<li>sptran()
+: <a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran.f</a>
+</li>
+<li>sptrand()
+: <a class="el" href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand.f</a>
+</li>
+<li>sptranf()
+: <a class="el" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf.f</a>
+</li>
+<li>sptranf0()
+: <a class="el" href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">sptranf0.f</a>
+</li>
+<li>sptranf1()
+: <a class="el" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1.f</a>
+</li>
+<li>sptranfv()
+: <a class="el" href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv.f</a>
+</li>
+<li>sptranv()
+: <a class="el" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv.f</a>
+</li>
+<li>sptrun()
+: <a class="el" href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">sptrun.f</a>
+</li>
+<li>sptrund()
+: <a class="el" href="sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480">sptrund.f</a>
+</li>
+<li>sptrung()
+: <a class="el" href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">sptrung.f</a>
+</li>
+<li>sptrungv()
+: <a class="el" href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">sptrungv.f</a>
+</li>
+<li>sptrunl()
+: <a class="el" href="sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8">sptrunl.f</a>
+</li>
+<li>sptrunm()
+: <a class="el" href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">sptrunm.f</a>
+</li>
+<li>sptrunmv()
+: <a class="el" href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">sptrunmv.f</a>
+</li>
+<li>sptruns()
+: <a class="el" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns.f</a>
+</li>
+<li>sptrunsv()
+: <a class="el" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv.f</a>
+</li>
+<li>sptrunv()
+: <a class="el" href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv.f</a>
+</li>
+<li>spuv2dz()
+: <a class="el" href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9">spuv2dz.f</a>
+</li>
+<li>spvar()
+: <a class="el" href="spvar_8f.html#a840f95e09b8d930b38638a391933bee4">spvar.f</a>
+</li>
+<li>spwget()
+: <a class="el" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget.f</a>
+</li>
+<li>srcft()
+: <a class="el" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">fftpack.F</a>
+</li>
+</ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
diff --git a/hierarchy.html b/hierarchy.html
index 3323e337..e16dae62 100644
--- a/hierarchy.html
+++ b/hierarchy.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/index.html b/index.html
index b00bc3aa..67294f67 100644
--- a/index.html
+++ b/index.html
@@ -5,7 +5,7 @@
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <meta name="generator" content="Doxygen 1.9.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>NCEPLIBS-ip: Main Page</title>
+<title>NCEPLIBS-ip: Introduction</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript" src="dynsections.js"></script>
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -83,18 +83,19 @@
 
 <div class="PageDoc"><div class="header">
   <div class="headertitle">
-<div class="title">NCEPLIBS-ip Documentation</div>  </div>
+<div class="title">Introduction </div>  </div>
 </div><!--header-->
 <div class="contents">
 <!----!>
-<b>Previous versions:</b></h3> <a href="ver-4.3.0/index.html">4.3.0</a>, <a href="ver-4.2.0/index.html">4.2.0</a>, <a href="ver-4.1.0/index.html">4.1.0</a>, <a href="ver-4.0.0/index.html">4.0.0</a>
+<b>Previous versions:</b></h3> <a href="ver-4.4.0/index.html">4.4.0</a>, <a href="ver-4.3.0/index.html">4.3.0</a>, <a href="ver-4.2.0/index.html">4.2.0</a>, <a href="ver-4.1.0/index.html">4.1.0</a>, <a href="ver-4.0.0/index.html">4.0.0</a>
 <!----!>
-<div class="textblock"><h2><a class="anchor" id="autotoc_md0"></a>
-Introduction</h2>
-<p>The NCEP general interpolation library (NCEPLIBS-ip) contains Fortran 90 subprograms to be used for interpolating between nearly all grids used at NCEP. The library is particularly efficient when interpolating many fields at one time.</p>
-<p>NCEPLIBS-ip supports compilation with the GNU Compiler Collection (gfortran), Intel Classic (ifort), and Intel OneAPI (ifx) compilers. In the case of Intel LLVM, it is recommended to use at least version 2023.2.1 to avoid any number of compiler issues.</p>
-<h2><a class="anchor" id="autotoc_md1"></a>
-Interpolation</h2>
+<div class="textblock"><p><a class="anchor" id="md__home_runner_work_NCEPLIBS_ip_NCEPLIBS_ip_ip_docs_user_guide"></a> The NCEP general interpolation library (NCEPLIBS-ip) contains Fortran 90 subprograms to be used for interpolating between nearly all grids used at NCEP. The library is particularly efficient when interpolating many fields at one time. It also contains functionality for interpolating, transforming, and otherwise manipulating spectral data (these functions were formerly contained in the NCEPLIBS-sp library).</p>
+<p>NCEPLIBS-ip supports compilation with the GNU Compiler Collection (gfortran), Intel Classic (ifort), and Intel OneAPI (ifx) compilers. In the case of Intel OneAPI (IntelLLVM), it is recommended to use at least version 2023.2.1 to avoid any number of compiler issues.</p>
+<dl class="section note"><dt>Note</dt><dd>Some routines may behave poorly or unpredictably when using 4-byte reals (libip_4). For instance, there is an ATAN2 function used for polar stereo grids where for certain regions of certain grids, floating point differences between 4-byte output values (~1e-7) can be amplified into sizable differences in output field values. Some applications may therefore benefit from the use of 8-byte reals (libip_d or libip_8).</dd></dl>
+<h1><a class="anchor" id="autotoc_md1"></a>
+Interpolation</h1>
+<h2><a class="anchor" id="autotoc_md2"></a>
+Interpolation Methods</h2>
 <p>There are currently six interpolation methods available in the library:</p><ul>
 <li>bilinear</li>
 <li>bicubic</li>
@@ -106,9 +107,8 @@ <h2><a class="anchor" id="autotoc_md1"></a>
 <p>Some of the methods have interpolation sub-options. A few methods have restrictions on the type of input or output grids.</p>
 <p>Several methods can perform interpolation on fields with bitmaps (i.e. some points on the input grid may be undefined). In this case, the bitmap is interpolated to the output grid. Only valid input points are used to interpolate to valid output points. An output bitmap will also be created to locate invalid data where the output grid extends outside the domain of the input grid.</p>
 <p>The driver routines for interpolating scalars and vectors may be found in <a class="el" href="namespaceipolates__mod.html" title="Top-level driver for scalar interpolation interpolation routine ipolates().">ipolates_mod</a>. The interpolation method is chosen via the first argument of these routines (variable IP). Sub-options are set via the IPOPT array.</p>
-<p>It should be noted that some routines may behave poorly or unpredictably when using 4-byte reals (libip_4). For instance, there is an ATAN2 function used for polar stereo grids where for certain grids/coordinates, floating point differences between 4-byte output values (~1e-7) can be amplified into noticeable differences in output field values. Some applications may therefore benefit from the use of 8-byte reals (libip_d).</p>
-<h3><a class="anchor" id="autotoc_md2"></a>
-Bilinear Interpolation</h3>
+<h3><a class="anchor" id="autotoc_md3"></a>
+Bilinear Interpolation Method</h3>
 <p>Bilinear interpolation is chosen by setting IP=0.</p>
 <p>This method has two sub-options:</p>
 <ol type="1">
@@ -116,8 +116,8 @@ <h3><a class="anchor" id="autotoc_md2"></a>
 <li>If valid input data is not found near an a spiral search may be performed. The spiral search is only an option for scalar data.</li>
 </ol>
 <p>The bilinear method has no restrictions and can interpolate with bitmaps.</p>
-<h3><a class="anchor" id="autotoc_md3"></a>
-Bicubic Interpolation</h3>
+<h3><a class="anchor" id="autotoc_md4"></a>
+Bicubic Interpolation Method</h3>
 <p>Bicubic interpolation is chosen by setting IP=1.</p>
 <p>This method has two sub-options:</p>
 <ol type="1">
@@ -125,14 +125,14 @@ <h3><a class="anchor" id="autotoc_md3"></a>
 <li>The percent of valid input data required to make output data, which defaults to 50%.</li>
 </ol>
 <p>The bicubic method cannot interpolate data with bitmaps.</p>
-<h3><a class="anchor" id="autotoc_md4"></a>
-Neighbor Interpolation</h3>
+<h3><a class="anchor" id="autotoc_md5"></a>
+Neighbor Interpolation Method</h3>
 <p>Neighbor interpolation is chosen by setting IP=2.</p>
 <p>Neighbor interpolation means that the output value is set to the nearest input value. It would be appropriate for interpolating integer fields such as vegetation index.</p>
 <p>This method has one sub-option: If valid input data is not found near an an output point, a spiral search is optionally performed.</p>
 <p>The neighbor method has no restrictions and can interpolate with bitmaps.</p>
-<h3><a class="anchor" id="autotoc_md5"></a>
-Budget interpolation</h3>
+<h3><a class="anchor" id="autotoc_md6"></a>
+Budget Interpolation Method</h3>
 <p>Budget interpolation is chosen by setting IP=3.</p>
 <p>Budget interpolation means a low-order interpolation method that quasi-conserves area averages. It would be appropriate for interpolating budget fields such as precipitation.</p>
 <p>This method assumes that the field really represents box averages where each box extends halfway to its neighboring grid point in each direction. The method actually averages bilinearly interpolated values in a square array of points distributed within each output grid box.</p>
@@ -145,9 +145,9 @@ <h3><a class="anchor" id="autotoc_md5"></a>
 <li>In cases where there is no or insufficient valid input data, a spiral search may be invoked to search for the nearest valid data. search square (scalar interpolation only).</li>
 </ol>
 <p>This method can interpolate data with bitmaps.</p>
-<h3><a class="anchor" id="autotoc_md6"></a>
-Spectral Interpolation</h3>
-<p>Spectral interpolation is chosen by setting IP=4.</p>
+<h3><a class="anchor" id="autotoc_md7"></a>
+Spectral Interpolation Method</h3>
+<p>The spectral interpolation scheme is chosen by setting IP=4.</p>
 <p>This method has two sub-options:</p>
 <ol type="1">
 <li>set the spectral shape (triangular or rhomboidal)</li>
@@ -155,8 +155,8 @@ <h3><a class="anchor" id="autotoc_md6"></a>
 </ol>
 <p>The input grid must be a global cylindrical grid (either Gaussian or equidistant). This method cannot interpolate data with bitmaps.</p>
 <p>Unless the output grid is a global cylindrical grid, a polar stereographic grid centered at the pole, or a Mercator grid, this method can be quite expensive.</p>
-<h3><a class="anchor" id="autotoc_md7"></a>
-Neighbor-Budget Interpolation</h3>
+<h3><a class="anchor" id="autotoc_md8"></a>
+Neighbor-Budget Interpolation Method</h3>
 <p>Neighbor-budget interpolation is chosen by setting IP=6.</p>
 <p>This method computes weighted averages of neighbor points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points. The main difference with the budget interpolation (IP=3) is neighbor vs bilinear interpolation of the square box of points.</p>
 <p>There are the following sub-options:</p>
@@ -165,11 +165,11 @@ <h3><a class="anchor" id="autotoc_md7"></a>
 <li>The respective averaging weights for the radius points are adjustable. The default is for all weights equal to 1, giving an unweighted average.</li>
 <li>The percent of valid input data required to make output data is adjustable. The default is 50%.</li>
 </ol>
-<h2><a class="anchor" id="autotoc_md8"></a>
+<h2><a class="anchor" id="autotoc_md9"></a>
 Vectors and Scalars</h2>
 <p>The library can handle two-dimensional vector fields as well as scalar fields. The input and output vectors are rotated if necessary so that they are either resolved relative to their defined grid in the direction of increasing x and y coordinates or resolved relative to eastward and northward directions on the earth. The rotation is determined by the grid definitions.</p>
 <p>Vectors are generally interpolated (by all methods except spectral interpolation) by moving the relevant input vectors along a great circle to the output point, keeping their orientations with respect to the great circle constant, before independently interpolating the respective components. This ensures that vector interpolation will be consistent over the whole globe including the poles.</p>
-<h2><a class="anchor" id="autotoc_md9"></a>
+<h2><a class="anchor" id="autotoc_md10"></a>
 Grids</h2>
 <p>The input and output grids are defined by their respective GRIB2 grid definition template and template number as decoced by the NCEP G2 library. There are six map projections recognized by the library:</p>
 <table class="markdownTable">
@@ -192,11 +192,11 @@ <h2><a class="anchor" id="autotoc_md9"></a>
 <p>For vector interpolation, the vector rotations parameters must also be passed. On the other hand, for non-negative output data representation types, the number of output grid points and their latitudes and longitudes (and the vector rotation parameters for vector interpolation) are all returned by the interpolation subprograms.</p>
 <p>If an output equidistant cylindrical grid contains multiple pole points, then the pole points are forced to be self-consistent. That is, scalar fields are obliged to be constant at the pole and vector components are obliged to exhibit a wavenumber one variation at the pole.</p>
 <p>Generally, only regular grids can be interpolated in this library. However, the thinned WAFS grids may be expanded to a regular grid (or vice versa) using subprograms <a class="el" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12" title="Expand or contract wafs grids.">ipxwafs()</a>, <a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894" title="Expand or contract wafs grids using linear interpolation and account for bitmapped data.">ipxwafs2()</a>, or <a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d" title="Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data.">ipxwafs3()</a>. Eta data (with Arakawa "E" staggering) on the "H" or "V" grid may be expanded to a filled regular grid (or vice versa) using subprogram <a class="el" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1" title="Expand or contract eta grids using linear interpolation.">ipxetas()</a>.</p>
-<h2><a class="anchor" id="autotoc_md10"></a>
+<h2><a class="anchor" id="autotoc_md11"></a>
 Return Codes</h2>
 <p>The return code issued by an interpolation subprogram determines whether it ran successfully or how it failed. Check nonzero return codes against the docblock of the respective subprogram.</p>
-<h2><a class="anchor" id="autotoc_md11"></a>
-Entry point list</h2>
+<h2><a class="anchor" id="autotoc_md12"></a>
+Entry point list: interpolation</h2>
 <p>Scalar and vecotr field interpolation subprograms can be found in the relevant module documentation:</p>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -258,416 +258,811 @@ <h2><a class="anchor" id="autotoc_md11"></a>
 <tr class="markdownTableRowOdd">
 <td class="markdownTableBodyNone"><a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d" title="Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data.">ipxwafs3()</a>   </td><td class="markdownTableBodyNone">expand or contract wafs grids   </td></tr>
 </table>
-<h2><a class="anchor" id="autotoc_md12"></a>
-How to invoke ip2lib: examples</h2>
-<pre>
-***********************************************************************
-Example 1. Read a grib 2 file of scalar data on a global regular
-            1-deg lat/lon grid and call ipolates to interpolate
-            it to NCEP standard grid 218, a lambert conformal grid.
-            Uses the NCEP G2 library to degrib the data.
-***********************************************************************
-
- program example_1
-
-use <a class="el" href="namespaceip__mod.html" title="Top-level module for the ip library which re-exports public routines such as ipolates,...">ip_mod</a>
- use grib_mod  ! ncep grib 2 library
-
- implicit none
-
- character(len=100)      :: input_file
-
- integer                 :: iunit, iret, lugi
- integer                 :: mi, mo, no
- integer, allocatable    :: ibi(:), ibo(:)
- integer                 :: ip, ipopt(20)
- integer                 :: j, jdisc, jpdtn, jgdtn, k, km
- integer                 :: jids(200), jgdt(200), jpdt(200)
- integer                 :: idim_input, jdim_input
- integer                 :: idim_output, jdim_output
-
- logical                 :: unpack
- logical*1, allocatable  :: input_bitmap(:,:), output_bitmap(:,:)
-
- real, allocatable       :: input_data(:,:)
- real, allocatable       :: output_rlat(:), output_rlon(:)
- real, allocatable       :: output_data(:,:)
-
- type(gribfield)         :: gfld_input
-
-!---------------------------------------------------------------------------
-! the output grid specs. this is ncep grid 218, a lambert conformal
-! grid. the grid definition information is stored in section 3
-! of a grib 2 message.
-!---------------------------------------------------------------------------
-
- integer, parameter :: igdtnum218 = 30 ! grid definition template number.
-                                       ! "30" is lambert conformal.
- integer, parameter :: igdtlen218 = 22 ! number of array elements needed
-                                       ! for a lambert conf. grid definition
-                                       ! template.
- integer     :: igdtmpl218(igdtlen218) ! the grid definition template.
-                                       ! the entries are:
-                                       ! 1 -shape of earth, oct 15
-                                       ! 2 -scale factor, spherical earth, oct 16
-                                       ! 3 -scaled value, spherical earth, octs 17-20
-                                       ! 4 -scale factor, major axis of
-                                       !    elliptical earth, oct 21
-                                       ! 5 -scaled value of major axis of
-                                       !    elliptical earth, octs 22-25
-                                       ! 6 -scale factor, minor axis of
-                                       !    elliptical earth, oct 26
-                                       ! 7 -scaled value of minor axis of
-                                       !    elliptical earth, octs 27-30
-                                       ! 8 -number points along x-axis, octs 31-34
-                                       ! 9 -number points along y-axis, octs 35-38
-                                       ! 10-latitude of first point, octs 39-42
-                                       ! 11-longitude of first point, octs 43-46
-                                       ! 12-resolution and component flags, oct 47
-                                       ! 13-latitude where grid lengths specified, 
-                                       !    octs 48-51
-                                       ! 14-longitude parallel to y-axis, octs 52-55
-                                       ! 15-x-direction grid length, octs 56-59
-                                       ! 16-y-direction grid length, octs 60-63
-                                       ! 17-projection center flag, oct 64
-                                       ! 18-scanning mode, oct 65
-                                       ! 19-first tangent latitude from pole, octs 66-69
-                                       ! 20-second tangent latitude from pole, octs 70-73
-                                       ! 21-latitude of south pole, octs 74-77
-                                       ! 22-longitude of south pole, octs 78-81
-
- integer, parameter :: missing=b'11111111111111111111111111111111'
- data igdtmpl218 / 6, 255, missing, 255, missing, 255, missing, 614, 428, &amp;
-                  12190000, 226541000, 56, 25000000, 265000000, &amp;
-                  12191000, 12191000, 0, 64, 25000000, 25000000, -90000000, 0/
-
-!---------------------------------------------------------------------------
-! open the grib 2 file containing data to be interpolated. for this
-! example, there are two data records.
-!---------------------------------------------------------------------------
-
- iunit=9
- input_file="${path}/input.data.grib2"
- call baopenr (iunit, input_file, iret)
-
-!---------------------------------------------------------------------------
-! prep for call to g2 library to degrib data. the data are on a regular
-! lat/lon grid with i/j dimension of 360/181. 
-!---------------------------------------------------------------------------
-
- idim_input = 360  ! the i/j dimensions of input grid
- jdim_input = 181
- mi         = idim_input * jdim_input   ! total number of pts, input grid
-
- jdisc   = -1         ! search for any discipline
- jpdtn   = -1         ! search for any product definition template number
- jgdtn   =  0         ! search for grid definition template number 0 - regular lat/lon grid
- jids    = -9999      ! array of values in identification section, set to wildcard
- jgdt    = -9999      ! array of values in grid definition template 3.m
- jgdt(8) = idim_input ! search for grid with i/j of 360/181
- jgdt(9) = jdim_input
- jpdt    = -9999      ! array of values in product definition template 4.n
- unpack  = .true.     ! unpack data
- lugi    = 0          ! no index file
-
- nullify(gfld_inputidsect)
- nullify(gfld_inputlocal)
- nullify(gfld_inputlist_opt)
- nullify(gfld_inputigdtmpl)  ! holds the grid definition template information
- nullify(gfld_inputipdtmpl)
- nullify(gfld_inputcoord_list)
- nullify(gfld_inputidrtmpl)
- nullify(gfld_inputbmap)     ! holds the bitmap
- nullify(gfld_inputfld)      ! holds the data
-
-!---------------------------------------------------------------------------
-! degrib the data.  non-zero "iret" indicates a problem during degrib.
-!---------------------------------------------------------------------------
-
- km = 2                  ! number of records to interpolate
-
- allocate(ibi(km))
- allocate(input_bitmap(mi,km))
- allocate(input_data(mi,km))
-
- do j = 0, (km-1)    ! number of records to skip
-
-   call getgb2(iunit, lugi, j, jdisc, jids, jpdtn, jpdt, jgdtn, jgdt, &amp;
-               unpack, k, gfld_input, iret)
-
-   if (iret /= 0) stop
-
-!---------------------------------------------------------------------------
-! does input data have a bitmap?
-!---------------------------------------------------------------------------
-
-   if (gfld_inputibmap==0) then  ! input data has bitmap
-     ibi(k)            = 1        ! tell ipolates to use bitmap
-     input_bitmap(:,k) = gfld_inputbmap
-   else                           ! no bitmap, data everywhere
-     ibi(k)            = 0        ! tell ipolates there is no bitmap
-     input_bitmap(:,k) = .true.
-   endif
-
-   input_data(:,k) = gfld_inputfld  ! the input data field
-
- enddo
-
- call baclose (iunit, iret)
-
-!---------------------------------------------------------------------------
-! setup arguments for ipolates (scalar interpolation) call.
-!---------------------------------------------------------------------------
-
- ip       = 0                         ! bilinear interpolation
- ipopt    = 0                         ! options for bilinear:
- ipopt(1) = 75                        ! set minimum mask to 75%
-
-!---------------------------------------------------------------------------
-! the i/j dimensions of the output grid.
-!---------------------------------------------------------------------------
-
- idim_output = igdtmpl218(8)
- jdim_output = igdtmpl218(9)
- mo          = idim_output * jdim_output ! total number of output pts
-
-!---------------------------------------------------------------------------
-! will hold the latitude, longitude, data and bitmap on the output grid,
-! which are computed in ipolates.
-!---------------------------------------------------------------------------
-
- allocate (ibo(km))              ! bitmap flags on output grid
- allocate (output_rlat(mo))
- allocate (output_rlon(mo))
- allocate (output_data(mo,km))
- allocate (output_bitmap(mo,km))
-
-!---------------------------------------------------------------------------
-! call ipolates to interpolate scalar data.  non-zero "iret" indicates
-! a problem.
-!---------------------------------------------------------------------------
-
- call ipolates(ip, ipopt, gfld_inputigdtnum, gfld_inputigdtmpl, &amp;
-               gfld_inputigdtlen, igdtnum218, igdtmpl218, igdtlen218, &amp;
-               mi, mo, km, ibi, input_bitmap, input_data, no, output_rlat, &amp;
-               output_rlon, ibo, output_bitmap, output_data, iret)
-
- if (iret /= 0) stop
-
-!---------------------------------------------------------------------------
-! write interpolated data to file.  if ipolates computed a bitmap (ibo==1) 
-! for the output grid, one may mask out this data with a flag value.
-!---------------------------------------------------------------------------
-
- open (10, file="./output.bin", access='direct', recl=idim_output*jdim_output*4)
-
- do k = 1, km
-   if(ibo(k)==1) where (.not. output_bitmap(:,k)) output_data(:,k) = -999.
-   write(10, rec=k) output_data(:,k)
- enddo
- write(10, rec=km+1) output_rlat
- write(10, rec=km+2) output_rlon
-
- close(10)
-
- end program example_1
-
-***********************************************************************
-Example 2.  Read a grib 2 file of u/v wind data on a global regular
-            1-deg lat/lon grid and call ipolatev to interpolate
-            it to four random station points.  Uses the NCEP
-            G2 library to degrib the data.
-***********************************************************************
-
- program example_2
-
- use grib_mod  ! ncep grib 2 library
-
- implicit none
-
- character(len=100)      :: input_file
-
- integer                 :: iunit, iret, lugi
- integer                 :: mi, mo, no
- integer                 :: ibi, ibo
- integer                 :: ip, ipopt(20)
- integer                 :: j, jdisc, jpdtn, jgdtn, k, km
- integer                 :: jids(200), jgdt(200), jpdt(200)
- integer                 :: idim_input, jdim_input
-
- logical                 :: unpack
- logical*1, allocatable  :: input_bitmap(:), output_bitmap(:)
-
- real, allocatable       :: input_u_data(:), input_v_data(:)
- real, allocatable       :: output_rlat(:), output_rlon(:)
- real, allocatable       :: output_crot(:), output_srot(:)
- real, allocatable       :: output_u_data(:), output_v_data(:)
-
- type(gribfield)         :: gfld_input
-
-!---------------------------------------------------------------------------
-! the output "grid" is a series of random station points.  in this case,
-! set the grid definition template number of a negative number.
-! the grid definition template array information is not used, so set
-! to a flag value.
-!---------------------------------------------------------------------------
-
- integer, parameter      :: igdtnumo = -1 
- integer, parameter      :: igdtleno =  1
- integer                 :: igdtmplo(igdtleno)
-
- data igdtmplo / -9999 /
-
-!---------------------------------------------------------------------------
-! open the grib 2 file containing data to be interpolated.  for this
-! example, there is one record of u-wind and v-wind.
-!---------------------------------------------------------------------------
-
- iunit=9
- input_file="./reg_tests/copygb2/data/uv_wind.grb2"
- call baopenr (iunit, input_file, iret)
-
-!---------------------------------------------------------------------------
-! prep for call to g2 library to degrib data. the data are on a regular
-! lat/lon grid with i/j dimension of 360/181.  
-!---------------------------------------------------------------------------
-
- idim_input = 360  ! the i/j dimensions of input grid
- jdim_input = 181
- mi         = idim_input * jdim_input   ! total number of pts, input grid
-
- jdisc   = -1         ! search for any discipline
- jpdtn   = -1         ! search for any product definition template number
- jgdtn   =  0         ! search for grid definition template number 0 - regular lat/lon grid
- jids    = -9999      ! array of values in identification section, set to wildcard
- jgdt    = -9999      ! array of values in grid definition template 3.m
- jgdt(8) = idim_input ! search for grid with i/j of 360/181
- jgdt(9) = jdim_input
- jpdt    = -9999      ! array of values in product definition template 4.n
- unpack  = .true.     ! unpack data
- lugi    = 0          ! no index file
-
- nullify(gfld_inputidsect)
- nullify(gfld_inputlocal)
- nullify(gfld_inputlist_opt)
- nullify(gfld_inputigdtmpl)  ! holds the grid definition template information
- nullify(gfld_inputipdtmpl)
- nullify(gfld_inputcoord_list)
- nullify(gfld_inputidrtmpl)
- nullify(gfld_inputbmap)     ! holds the bitmap
- nullify(gfld_inputfld)      ! holds the data
-
-!---------------------------------------------------------------------------
-! degrib the data.  non-zero "iret" indicates a problem during degrib.
-!---------------------------------------------------------------------------
-
- allocate(input_bitmap(mi))
- allocate(input_u_data(mi))
- allocate(input_v_data(mi))
-
-!---------------------------------------------------------------------------
-! read u-wind record.
-!---------------------------------------------------------------------------
-
- j = 0
- call getgb2(iunit, lugi, j, jdisc, jids, jpdtn, jpdt, jgdtn, jgdt, &amp;
-             unpack, k, gfld_input, iret)
-
- if (iret /= 0) stop
-
-!---------------------------------------------------------------------------
-! does input data have a bitmap?
-!---------------------------------------------------------------------------
-
- if (gfld_inputibmap==0) then  ! input data has bitmap
-   ibi          = 1             ! tell ipolates to use bitmap
-   input_bitmap = gfld_inputbmap
- else                           ! no bitmap, data everywhere
-   ibi          = 0             ! tell ipolates there is no bitmap
-   input_bitmap = .true.
- endif
-
- input_u_data = gfld_inputfld  ! the input u-wind data
-
-!---------------------------------------------------------------------------
-! read v-wind record.
-!---------------------------------------------------------------------------
-
- j = 1
- call getgb2(iunit, lugi, j, jdisc, jids, jpdtn, jpdt, jgdtn, jgdt, &amp;
-             unpack, k, gfld_input, iret)
-
- if (iret /= 0) stop
-
- input_v_data = gfld_inputfld  ! the input v-wind data
-
- call baclose (iunit, iret)
-
-!---------------------------------------------------------------------------
-! setup arguments for ipolatev (vector interpolation) call.
-!---------------------------------------------------------------------------
-
- km       = 1                         ! number of records to interpolate
- ip       = 0                         ! bilinear interpolation
- ipopt    = 0                         ! options for bilinear:
- ipopt(1) = 75                        ! set minimum mask to 75%
-
-!---------------------------------------------------------------------------
-! interpolate to four random station points.
-!---------------------------------------------------------------------------
-
- mo = 4
- no = mo
-
-!---------------------------------------------------------------------------
-! when interpolating to random station points, need to pass to ipolatev
-! their latitude, longitude and the sines and cosines of the vector
-! rotation angles.  the vector rotation is defined:
-!
-! ugrid=crot*uearth-sort*vearth
-! vgrid=srot*uearth+cort*vearth
-!---------------------------------------------------------------------------
-
- allocate (output_rlat(mo))
- allocate (output_rlon(mo))
- allocate (output_srot(mo))
- allocate (output_crot(mo))
- allocate (output_u_data(mo))
- allocate (output_v_data(mo))
- allocate (output_bitmap(mo))
-
- output_rlat(1) = 45.0
- output_rlon(1) = -100.0
- output_rlat(2) = 35.0
- output_rlon(2) = -100.0
- output_rlat(3) = 40.0
- output_rlon(3) = -90.0
- output_rlat(4) = 35.0
- output_rlon(4) = -120.0
-
- output_srot = 0.0   ! no turning of wind
- output_crot = 1.0
-
-!---------------------------------------------------------------------------
-! call ipolatev to interpolate vector data.  non-zero "iret" indicates
-! a problem.
-!---------------------------------------------------------------------------
-
- call ipolatev(ip, ipopt, gfld_inputigdtnum, gfld_inputigdtmpl, &amp;
-               gfld_inputigdtlen, igdtnumo, igdtmplo, igdtleno, &amp;
-               mi, mo, km, ibi, input_bitmap, input_u_data, input_v_data, &amp;
-               no, output_rlat, output_rlon, output_crot, output_srot, &amp;
-               ibo, output_bitmap, output_u_data, output_v_data, iret)
-
- if (iret /= 0) stop
-
- do k = 1, mo
-   print*,'station point ',k,' latitude ',output_rlat(k),' longitude ', &amp;
-   output_rlon(k), ' u-wind ', output_u_data(k), ' v-wind ', output_v_data(k)
- enddo
-
- end program example_2
-</pre> </div></div><!-- PageDoc -->
+<h1><a class="anchor" id="autotoc_md13"></a>
+Spectral Transformation &amp; Processing</h1>
+<p>The library's spectral processing subroutines can handle both scalar and two-dimensional vector fields. Each vector field will be represented in spectral space appropriately by its respective spherical divergence and curl (vorticity), thus avoiding the pole problems associated with representing components separately.</p>
+<p>Some of the functions performed by the library are spectral interpolations between two grids, spectral truncations in place on a grid, and basic spectral transforms between grid and wave space. Only global Gaussian or global equidistant cylindrical grids are allowed for transforming into wave space. There are no such restricitions on grids for transforming from wave space. However, there are special fast entry points for transforming wave space to polar stereographic and Mercator grids as well as the aforementioned cylindrical grids.</p>
+<p>The indexing of the cylindrical transform grids is totally general. The grids may run north to south or south to north; they may run east to west or west to east; they may start at any longitude as long as the prime meridian is on the grid; they may be dimensioned in any order (e.g. (i,j,k), (k,j,i), (i,k,nfield,j), etc.). Furthermore, the transform may be performed on only some of the latitudes at one time as long as both hemisphere counterparts are transformed at the same time (as in the global spectral model). The grid indexing will default to the customary global indexing, i.e. north to south, east to west, prime meridian as first longitude, and (i,j,k) order.</p>
+<p>The wave space may be either triangular or rhomboidal in shape. Its internal indexing is strictly "IBM order", i.e. zonal wavenumber is the slower index with the real and imaginary components always paired together. The imaginary components of all the zonally symmetric modes should always be zero, as should the global mean of any divergence and vorticity fields. The stride between the start of successive wave fields is general, defaulting to the computed length of each field.</p>
+<h2><a class="anchor" id="autotoc_md14"></a>
+Entry Point List: Spectral Interpolation &amp; Transformation</h2>
+<p>Spectral interpolations or truncations between grid and grid</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Name   </th><th class="markdownTableHeadNone">Function    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473" title="This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...">sptrun()</a>   </td><td class="markdownTableBodyNone">Spectrally truncate gridded scalar fields    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f" title="This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields...">sptrunv()</a>   </td><td class="markdownTableBodyNone">Spectrally truncate gridded vector fields    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptrung_8f.html#af41b64dad4789617a315515ef885912c" title="This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...">sptrung()</a>   </td><td class="markdownTableBodyNone">Spectrally interpolate scalars to stations    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164" title="THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTORS FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELD...">sptrungv()</a>   </td><td class="markdownTableBodyNone">Spectrally interpolate vectors to stations    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444" title="This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...">sptruns()</a>   </td><td class="markdownTableBodyNone">Spectrally interpolate scalars to polar stereo    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656" title="This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields...">sptrunsv()</a>   </td><td class="markdownTableBodyNone">Spectrally interpolate vectors to polar stereo    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6" title="This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...">sptrunm()</a>   </td><td class="markdownTableBodyNone">Spectrally interpolate scalars to Mercator    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd" title="THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTOR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS...">sptrunmv()</a>   </td><td class="markdownTableBodyNone">Spectrally interpolate vectors to Mercator   </td></tr>
+</table>
+<p>Spectral transforms between wave and grid</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Name   </th><th class="markdownTableHeadNone">Function    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptran()</a>   </td><td class="markdownTableBodyNone">Perform a scalar spherical transform    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1" title="This subprogram performs a spherical transform between spectral coefficients of divergences and curls...">sptranv()</a>   </td><td class="markdownTableBodyNone">Perform a vector spherical transform    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef" title="This subprogram performs a spherical transform between spectral coefficients of scalar fields and the...">sptrand()</a>   </td><td class="markdownTableBodyNone">Perform a gradient spherical transform    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1" title="This subprogram performs a spherical transform from spectral coefficients of scalar quantities to spe...">sptgpt()</a>   </td><td class="markdownTableBodyNone">Transform spectral scalar to station points    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13" title="This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...">sptgptv()</a>   </td><td class="markdownTableBodyNone">Transform spectral vector to station points    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3" title="This subprogram performs a spherical transform from spectral coefficients of scalar fields to specifi...">sptgptd()</a>   </td><td class="markdownTableBodyNone">Transform spectral to station point gradients    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2" title="This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...">sptgps()</a>   </td><td class="markdownTableBodyNone">Transform spectral scalar to polar stereo    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079" title="This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...">sptgpsv()</a>   </td><td class="markdownTableBodyNone">Transform spectral vector to polar stereo    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30" title="This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradien...">sptgpsd()</a>   </td><td class="markdownTableBodyNone">Transform spectral to polar stereo gradients    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d" title="This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...">sptgpm()</a>   </td><td class="markdownTableBodyNone">Transform spectral scalar to Mercator    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17" title="This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...">sptgpmv()</a>   </td><td class="markdownTableBodyNone">Transform spectral vector to Mercator    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539" title="This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradien...">sptgpmd()</a>   </td><td class="markdownTableBodyNone">Transform spectral to Mercator gradients   </td></tr>
+</table>
+<p>Spectral transform utilities</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Name   </th><th class="markdownTableHeadNone">Function    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6" title="This subprogram gets wave-space constants.">spwget()</a>   </td><td class="markdownTableBodyNone">Get wave-space constants    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="splat_8F.html#aa6db21451bb67635e7e4426546140e11" title="Computes cosines of colatitude and Gaussian weights for one of the following specific global sets of ...">splat()</a>   </td><td class="markdownTableBodyNone">Compute latitude functions    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131" title="Computes constant fields indexed in the spectral domain in &quot;IBM ORDER&quot; (Zonal wavenumber is the slowe...">speps()</a>   </td><td class="markdownTableBodyNone">Compute utility spectral fields    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac" title="Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.">splegend()</a>   </td><td class="markdownTableBodyNone">Compute Legendre polynomials    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a" title="Analyzes spectral coefficients from Fourier coefficients for a latitude pair (Northern and Southern h...">spanaly()</a>   </td><td class="markdownTableBodyNone">Analyze spectral from Fourier    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf" title="Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...">spsynth()</a>   </td><td class="markdownTableBodyNone">Synthesize Fourier from spectral    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692" title="Computes the wind components from divergence and vorticity in spectral space.">spdz2uv()</a>   </td><td class="markdownTableBodyNone">Compute winds from divergence and vorticity    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9" title="Computes the divergence and vorticity from wind components in spectral space.">spuv2dz()</a>   </td><td class="markdownTableBodyNone">Compute divergence and vorticity from winds    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849" title="Computes the horizontal vector gradient of a scalar field in spectral space.">spgradq()</a>   </td><td class="markdownTableBodyNone">Compute gradient in spectral space    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42" title="Computes the laplacian or the inverse laplacian of a scalar field in spectral space.">splaplac()</a>   </td><td class="markdownTableBodyNone">Compute Laplacian in spectral space   </td></tr>
+</table>
+<h1><a class="anchor" id="autotoc_md15"></a>
+Examples: Interpolation Routines</h1>
+<p>Example 1. Read a grib 2 file of scalar data on a global regular 1-deg lat/lon grid and call ipolates to interpolate it to NCEP standard grid 218, a lambert conformal grid. Uses the NCEP G2 library to degrib the data.</p>
+<div class="fragment"><div class="line"> <span class="keyword">program</span> example_1</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">use </span><a class="code" href="namespaceip__mod.html">ip_mod</a></div>
+<div class="line"> <span class="keywordtype">use </span>grib_mod  <span class="comment">! ncep grib 2 library</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">implicit none</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">character(len=100)</span>      :: input_file</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: iunit, iret, lugi</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: mi, mo, no</div>
+<div class="line"> <span class="keywordtype">integer</span>, <span class="keywordtype">allocatable</span>    :: ibi(:), ibo(:)</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: ip, ipopt(20)</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: j, jdisc, jpdtn, jgdtn, k, km</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: jids(200), jgdt(200), jpdt(200)</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: idim_input, jdim_input</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: idim_output, jdim_output</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">logical</span>                 :: unpack</div>
+<div class="line"> <span class="keywordtype">logical*1</span>, <span class="keywordtype">allocatable</span>  :: input_bitmap(:,:), output_bitmap(:,:)</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype"> real</span>, <span class="keywordtype">allocatable</span>       :: input_data(:,:)</div>
+<div class="line"><span class="keywordtype"> real</span>, <span class="keywordtype">allocatable</span>       :: output_rlat(:), output_rlon(:)</div>
+<div class="line"><span class="keywordtype"> real</span>, <span class="keywordtype">allocatable</span>       :: output_data(:,:)</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">type</span>(gribfield)         :: gfld_input</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! the output grid specs. this is ncep grid 218, a lambert conformal</span></div>
+<div class="line"><span class="comment">! grid. the grid definition information is stored in section 3</span></div>
+<div class="line"><span class="comment">! of a grib 2 message.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span> :: igdtnum218 = 30 <span class="comment">! grid definition template number.</span></div>
+<div class="line">                                       <span class="comment">! &quot;30&quot; is lambert conformal.</span></div>
+<div class="line"> <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span> :: igdtlen218 = 22 <span class="comment">! number of array elements needed</span></div>
+<div class="line">                                       <span class="comment">! for a lambert conf. grid definition</span></div>
+<div class="line">                                       <span class="comment">! template.</span></div>
+<div class="line"> <span class="keywordtype">integer</span>     :: igdtmpl218(igdtlen218) <span class="comment">! the grid definition template.</span></div>
+<div class="line">                                       <span class="comment">! the entries are:</span></div>
+<div class="line">                                       <span class="comment">! 1 -shape of earth, oct 15</span></div>
+<div class="line">                                       <span class="comment">! 2 -scale factor, spherical earth, oct 16</span></div>
+<div class="line">                                       <span class="comment">! 3 -scaled value, spherical earth, octs 17-20</span></div>
+<div class="line">                                       <span class="comment">! 4 -scale factor, major axis of</span></div>
+<div class="line">                                       <span class="comment">!    elliptical earth, oct 21</span></div>
+<div class="line">                                       <span class="comment">! 5 -scaled value of major axis of</span></div>
+<div class="line">                                       <span class="comment">!    elliptical earth, octs 22-25</span></div>
+<div class="line">                                       <span class="comment">! 6 -scale factor, minor axis of</span></div>
+<div class="line">                                       <span class="comment">!    elliptical earth, oct 26</span></div>
+<div class="line">                                       <span class="comment">! 7 -scaled value of minor axis of</span></div>
+<div class="line">                                       <span class="comment">!    elliptical earth, octs 27-30</span></div>
+<div class="line">                                       <span class="comment">! 8 -number points along x-axis, octs 31-34</span></div>
+<div class="line">                                       <span class="comment">! 9 -number points along y-axis, octs 35-38</span></div>
+<div class="line">                                       <span class="comment">! 10-latitude of first point, octs 39-42</span></div>
+<div class="line">                                       <span class="comment">! 11-longitude of first point, octs 43-46</span></div>
+<div class="line">                                       <span class="comment">! 12-resolution and component flags, oct 47</span></div>
+<div class="line">                                       <span class="comment">! 13-latitude where grid lengths specified, </span></div>
+<div class="line">                                       <span class="comment">!    octs 48-51</span></div>
+<div class="line">                                       <span class="comment">! 14-longitude parallel to y-axis, octs 52-55</span></div>
+<div class="line">                                       <span class="comment">! 15-x-direction grid length, octs 56-59</span></div>
+<div class="line">                                       <span class="comment">! 16-y-direction grid length, octs 60-63</span></div>
+<div class="line">                                       <span class="comment">! 17-projection center flag, oct 64</span></div>
+<div class="line">                                       <span class="comment">! 18-scanning mode, oct 65</span></div>
+<div class="line">                                       <span class="comment">! 19-first tangent latitude from pole, octs 66-69</span></div>
+<div class="line">                                       <span class="comment">! 20-second tangent latitude from pole, octs 70-73</span></div>
+<div class="line">                                       <span class="comment">! 21-latitude of south pole, octs 74-77</span></div>
+<div class="line">                                       <span class="comment">! 22-longitude of south pole, octs 78-81</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span> :: missing=b<span class="stringliteral">&#39;11111111111111111111111111111111&#39;</span></div>
+<div class="line"> <span class="keyword">data</span> igdtmpl218 / 6, 255, missing, 255, missing, 255, missing, 614, 428, &amp;</div>
+<div class="line">                  12190000, 226541000, 56, 25000000, 265000000, &amp;</div>
+<div class="line">                  12191000, 12191000, 0, 64, 25000000, 25000000, -90000000, 0/</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! open the grib 2 file containing data to be interpolated. for this</span></div>
+<div class="line"><span class="comment">! example, there are two data records.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> iunit=9</div>
+<div class="line"> input_file=<span class="stringliteral">&quot;${path}/input.data.grib2&quot;</span></div>
+<div class="line"> <span class="keyword">call </span>baopenr (iunit, input_file, iret)</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! prep for call to g2 library to degrib data. the data are on a regular</span></div>
+<div class="line"><span class="comment">! lat/lon grid with i/j dimension of 360/181. </span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> idim_input = 360  <span class="comment">! the i/j dimensions of input grid</span></div>
+<div class="line"> jdim_input = 181</div>
+<div class="line"> mi         = idim_input * jdim_input   <span class="comment">! total number of pts, input grid</span></div>
+<div class="line"> </div>
+<div class="line"> jdisc   = -1         <span class="comment">! search for any discipline</span></div>
+<div class="line"> jpdtn   = -1         <span class="comment">! search for any product definition template number</span></div>
+<div class="line"> jgdtn   =  0         <span class="comment">! search for grid definition template number 0 - regular lat/lon grid</span></div>
+<div class="line"> jids    = -9999      <span class="comment">! array of values in identification section, set to wildcard</span></div>
+<div class="line"> jgdt    = -9999      <span class="comment">! array of values in grid definition template 3.m</span></div>
+<div class="line"> jgdt(8) = idim_input <span class="comment">! search for grid with i/j of 360/181</span></div>
+<div class="line"> jgdt(9) = jdim_input</div>
+<div class="line"> jpdt    = -9999      <span class="comment">! array of values in product definition template 4.n</span></div>
+<div class="line"> unpack  = .true.     <span class="comment">! unpack data</span></div>
+<div class="line"> lugi    = 0          <span class="comment">! no index file</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%idsect)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%local)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%list_opt)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%igdtmpl)  <span class="comment">! holds the grid definition template information</span></div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%ipdtmpl)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%coord_list)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%idrtmpl)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%bmap)     <span class="comment">! holds the bitmap</span></div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%fld)      <span class="comment">! holds the data</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! degrib the data.  non-zero &quot;iret&quot; indicates a problem during degrib.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> km = 2                  <span class="comment">! number of records to interpolate</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">allocate</span>(ibi(km))</div>
+<div class="line"> <span class="keyword">allocate</span>(input_bitmap(mi,km))</div>
+<div class="line"> <span class="keyword">allocate</span>(input_data(mi,km))</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">do</span> j = 0, (km-1)    <span class="comment">! number of records to skip</span></div>
+<div class="line"> </div>
+<div class="line">   <span class="keyword">call </span>getgb2(iunit, lugi, j, jdisc, jids, jpdtn, jpdt, jgdtn, jgdt, &amp;</div>
+<div class="line">               unpack, k, gfld_input, iret)</div>
+<div class="line"> </div>
+<div class="line">   <span class="keywordflow">if</span> (iret /= 0) stop</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! does input data have a bitmap?</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line">   <span class="keywordflow">if</span> (gfld_input%ibmap==0) <span class="keywordflow">then</span>  <span class="comment">! input data has bitmap</span></div>
+<div class="line">     ibi(k)            = 1        <span class="comment">! tell ipolates to use bitmap</span></div>
+<div class="line">     input_bitmap(:,k) = gfld_input%bmap</div>
+<div class="line">   <span class="keywordflow">else</span>                           <span class="comment">! no bitmap, data everywhere</span></div>
+<div class="line">     ibi(k)            = 0        <span class="comment">! tell ipolates there is no bitmap</span></div>
+<div class="line">     input_bitmap(:,k) = .true.</div>
+<div class="line"><span class="keywordflow">   endif</span></div>
+<div class="line"> </div>
+<div class="line">   input_data(:,k) = gfld_input%fld  <span class="comment">! the input data field</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordflow"> enddo</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">call </span>baclose (iunit, iret)</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! setup arguments for ipolates (scalar interpolation) call.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> ip       = 0                         <span class="comment">! bilinear interpolation</span></div>
+<div class="line"> ipopt    = 0                         <span class="comment">! options for bilinear:</span></div>
+<div class="line"> ipopt(1) = 75                        <span class="comment">! set minimum mask to 75%</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! the i/j dimensions of the output grid.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> idim_output = igdtmpl218(8)</div>
+<div class="line"> jdim_output = igdtmpl218(9)</div>
+<div class="line"> mo          = idim_output * jdim_output <span class="comment">! total number of output pts</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! will hold the latitude, longitude, data and bitmap on the output grid,</span></div>
+<div class="line"><span class="comment">! which are computed in ipolates.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">allocate</span> (ibo(km))              <span class="comment">! bitmap flags on output grid</span></div>
+<div class="line"> <span class="keyword">allocate</span> (output_rlat(mo))</div>
+<div class="line"> <span class="keyword">allocate</span> (output_rlon(mo))</div>
+<div class="line"> <span class="keyword">allocate</span> (output_data(mo,km))</div>
+<div class="line"> <span class="keyword">allocate</span> (output_bitmap(mo,km))</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! call ipolates to interpolate scalar data.  non-zero &quot;iret&quot; indicates</span></div>
+<div class="line"><span class="comment">! a problem.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">call </span>ipolates(ip, ipopt, gfld_input%igdtnum, gfld_input%igdtmpl, &amp;</div>
+<div class="line">               gfld_input%igdtlen, igdtnum218, igdtmpl218, igdtlen218, &amp;</div>
+<div class="line">               mi, mo, km, ibi, input_bitmap, input_data, no, output_rlat, &amp;</div>
+<div class="line">               output_rlon, ibo, output_bitmap, output_data, iret)</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">if</span> (iret /= 0) stop</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! write interpolated data to file.  if ipolates computed a bitmap (ibo==1) </span></div>
+<div class="line"><span class="comment">! for the output grid, one may mask out this data with a flag value.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">open</span> (10, file=<span class="stringliteral">&quot;./output.bin&quot;</span>, access=<span class="stringliteral">&#39;direct&#39;</span>, recl=idim_output*jdim_output*4)</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">do</span> k = 1, km</div>
+<div class="line">   <span class="keywordflow">if</span>(ibo(k)==1) <span class="keywordflow">where</span> (.not. output_bitmap(:,k)) output_data(:,k) = -999.</div>
+<div class="line">   <span class="keyword">write</span>(10, rec=k) output_data(:,k)</div>
+<div class="line"><span class="keywordflow"> enddo</span></div>
+<div class="line"> <span class="keyword">write</span>(10, rec=km+1) output_rlat</div>
+<div class="line"> <span class="keyword">write</span>(10, rec=km+2) output_rlon</div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">close</span>(10)</div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">end program </span>example_1</div>
+<div class="ttc" id="anamespaceip__mod_html"><div class="ttname"><a href="namespaceip__mod.html">ip_mod</a></div><div class="ttdoc">Top-level module for the ip library which re-exports public routines such as ipolates,...</div><div class="ttdef"><b>Definition:</b> <a href="ip__mod_8F90_source.html#l00006">ip_mod.F90:6</a></div></div>
+</div><!-- fragment --><p>Example 2. Read a grib 2 file of u/v wind data on a global regular 1-deg lat/lon grid and call ipolatev to interpolate it to four random station points. Uses the NCEP G2 library to degrib the data.</p>
+<div class="fragment"><div class="line"> <span class="keyword">program</span> example_2</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">use </span>grib_mod  <span class="comment">! ncep grib 2 library</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">implicit none</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">character(len=100)</span>      :: input_file</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: iunit, iret, lugi</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: mi, mo, no</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: ibi, ibo</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: ip, ipopt(20)</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: j, jdisc, jpdtn, jgdtn, k, km</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: jids(200), jgdt(200), jpdt(200)</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: idim_input, jdim_input</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">logical</span>                 :: unpack</div>
+<div class="line"> <span class="keywordtype">logical*1</span>, <span class="keywordtype">allocatable</span>  :: input_bitmap(:), output_bitmap(:)</div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype"> real</span>, <span class="keywordtype">allocatable</span>       :: input_u_data(:), input_v_data(:)</div>
+<div class="line"><span class="keywordtype"> real</span>, <span class="keywordtype">allocatable</span>       :: output_rlat(:), output_rlon(:)</div>
+<div class="line"><span class="keywordtype"> real</span>, <span class="keywordtype">allocatable</span>       :: output_crot(:), output_srot(:)</div>
+<div class="line"><span class="keywordtype"> real</span>, <span class="keywordtype">allocatable</span>       :: output_u_data(:), output_v_data(:)</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">type</span>(gribfield)         :: gfld_input</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! the output &quot;grid&quot; is a series of random station points.  in this case,</span></div>
+<div class="line"><span class="comment">! set the grid definition template number of a negative number.</span></div>
+<div class="line"><span class="comment">! the grid definition template array information is not used, so set</span></div>
+<div class="line"><span class="comment">! to a flag value.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span>      :: igdtnumo = -1 </div>
+<div class="line"> <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span>      :: igdtleno =  1</div>
+<div class="line"> <span class="keywordtype">integer</span>                 :: igdtmplo(igdtleno)</div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">data</span> igdtmplo / -9999 /</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! open the grib 2 file containing data to be interpolated.  for this</span></div>
+<div class="line"><span class="comment">! example, there is one record of u-wind and v-wind.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> iunit=9</div>
+<div class="line"> input_file=<span class="stringliteral">&quot;./reg_tests/copygb2/data/uv_wind.grb2&quot;</span></div>
+<div class="line"> <span class="keyword">call </span>baopenr (iunit, input_file, iret)</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! prep for call to g2 library to degrib data. the data are on a regular</span></div>
+<div class="line"><span class="comment">! lat/lon grid with i/j dimension of 360/181.  </span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> idim_input = 360  <span class="comment">! the i/j dimensions of input grid</span></div>
+<div class="line"> jdim_input = 181</div>
+<div class="line"> mi         = idim_input * jdim_input   <span class="comment">! total number of pts, input grid</span></div>
+<div class="line"> </div>
+<div class="line"> jdisc   = -1         <span class="comment">! search for any discipline</span></div>
+<div class="line"> jpdtn   = -1         <span class="comment">! search for any product definition template number</span></div>
+<div class="line"> jgdtn   =  0         <span class="comment">! search for grid definition template number 0 - regular lat/lon grid</span></div>
+<div class="line"> jids    = -9999      <span class="comment">! array of values in identification section, set to wildcard</span></div>
+<div class="line"> jgdt    = -9999      <span class="comment">! array of values in grid definition template 3.m</span></div>
+<div class="line"> jgdt(8) = idim_input <span class="comment">! search for grid with i/j of 360/181</span></div>
+<div class="line"> jgdt(9) = jdim_input</div>
+<div class="line"> jpdt    = -9999      <span class="comment">! array of values in product definition template 4.n</span></div>
+<div class="line"> unpack  = .true.     <span class="comment">! unpack data</span></div>
+<div class="line"> lugi    = 0          <span class="comment">! no index file</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%idsect)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%local)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%list_opt)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%igdtmpl)  <span class="comment">! holds the grid definition template information</span></div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%ipdtmpl)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%coord_list)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%idrtmpl)</div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%bmap)     <span class="comment">! holds the bitmap</span></div>
+<div class="line"> <span class="keyword">nullify</span>(gfld_input%fld)      <span class="comment">! holds the data</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! degrib the data.  non-zero &quot;iret&quot; indicates a problem during degrib.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">allocate</span>(input_bitmap(mi))</div>
+<div class="line"> <span class="keyword">allocate</span>(input_u_data(mi))</div>
+<div class="line"> <span class="keyword">allocate</span>(input_v_data(mi))</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! read u-wind record.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> j = 0</div>
+<div class="line"> <span class="keyword">call </span>getgb2(iunit, lugi, j, jdisc, jids, jpdtn, jpdt, jgdtn, jgdt, &amp;</div>
+<div class="line">             unpack, k, gfld_input, iret)</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">if</span> (iret /= 0) stop</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! does input data have a bitmap?</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">if</span> (gfld_input%ibmap==0) <span class="keywordflow">then</span>  <span class="comment">! input data has bitmap</span></div>
+<div class="line">   ibi          = 1             <span class="comment">! tell ipolates to use bitmap</span></div>
+<div class="line">   input_bitmap = gfld_input%bmap</div>
+<div class="line"> <span class="keywordflow">else</span>                           <span class="comment">! no bitmap, data everywhere</span></div>
+<div class="line">   ibi          = 0             <span class="comment">! tell ipolates there is no bitmap</span></div>
+<div class="line">   input_bitmap = .true.</div>
+<div class="line"><span class="keywordflow"> endif</span></div>
+<div class="line"> </div>
+<div class="line"> input_u_data = gfld_input%fld  <span class="comment">! the input u-wind data</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! read v-wind record.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> j = 1</div>
+<div class="line"> <span class="keyword">call </span>getgb2(iunit, lugi, j, jdisc, jids, jpdtn, jpdt, jgdtn, jgdt, &amp;</div>
+<div class="line">             unpack, k, gfld_input, iret)</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">if</span> (iret /= 0) stop</div>
+<div class="line"> </div>
+<div class="line"> input_v_data = gfld_input%fld  <span class="comment">! the input v-wind data</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">call </span>baclose (iunit, iret)</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! setup arguments for ipolatev (vector interpolation) call.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> km       = 1                         <span class="comment">! number of records to interpolate</span></div>
+<div class="line"> ip       = 0                         <span class="comment">! bilinear interpolation</span></div>
+<div class="line"> ipopt    = 0                         <span class="comment">! options for bilinear:</span></div>
+<div class="line"> ipopt(1) = 75                        <span class="comment">! set minimum mask to 75%</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! interpolate to four random station points.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> mo = 4</div>
+<div class="line"> no = mo</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! when interpolating to random station points, need to pass to ipolatev</span></div>
+<div class="line"><span class="comment">! their latitude, longitude and the sines and cosines of the vector</span></div>
+<div class="line"><span class="comment">! rotation angles.  the vector rotation is defined:</span></div>
+<div class="line"><span class="comment">!</span></div>
+<div class="line"><span class="comment">! ugrid=crot*uearth-sort*vearth</span></div>
+<div class="line"><span class="comment">! vgrid=srot*uearth+cort*vearth</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">allocate</span> (output_rlat(mo))</div>
+<div class="line"> <span class="keyword">allocate</span> (output_rlon(mo))</div>
+<div class="line"> <span class="keyword">allocate</span> (output_srot(mo))</div>
+<div class="line"> <span class="keyword">allocate</span> (output_crot(mo))</div>
+<div class="line"> <span class="keyword">allocate</span> (output_u_data(mo))</div>
+<div class="line"> <span class="keyword">allocate</span> (output_v_data(mo))</div>
+<div class="line"> <span class="keyword">allocate</span> (output_bitmap(mo))</div>
+<div class="line"> </div>
+<div class="line"> output_rlat(1) = 45.0</div>
+<div class="line"> output_rlon(1) = -100.0</div>
+<div class="line"> output_rlat(2) = 35.0</div>
+<div class="line"> output_rlon(2) = -100.0</div>
+<div class="line"> output_rlat(3) = 40.0</div>
+<div class="line"> output_rlon(3) = -90.0</div>
+<div class="line"> output_rlat(4) = 35.0</div>
+<div class="line"> output_rlon(4) = -120.0</div>
+<div class="line"> </div>
+<div class="line"> output_srot = 0.0   <span class="comment">! no turning of wind</span></div>
+<div class="line"> output_crot = 1.0</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"><span class="comment">! call ipolatev to interpolate vector data.  non-zero &quot;iret&quot; indicates</span></div>
+<div class="line"><span class="comment">! a problem.</span></div>
+<div class="line"><span class="comment">!---------------------------------------------------------------------------</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">call </span>ipolatev(ip, ipopt, gfld_input%igdtnum, gfld_input%igdtmpl, &amp;</div>
+<div class="line">               gfld_input%igdtlen, igdtnumo, igdtmplo, igdtleno, &amp;</div>
+<div class="line">               mi, mo, km, ibi, input_bitmap, input_u_data, input_v_data, &amp;</div>
+<div class="line">               no, output_rlat, output_rlon, output_crot, output_srot, &amp;</div>
+<div class="line">               ibo, output_bitmap, output_u_data, output_v_data, iret)</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">if</span> (iret /= 0) stop</div>
+<div class="line"> </div>
+<div class="line"> <span class="keywordflow">do</span> k = 1, mo</div>
+<div class="line">   print*,<span class="stringliteral">&#39;station point &#39;</span>,k,<span class="stringliteral">&#39; latitude &#39;</span>,output_rlat(k),<span class="stringliteral">&#39; longitude &#39;</span>, &amp;</div>
+<div class="line">   output_rlon(k), <span class="stringliteral">&#39; u-wind &#39;</span>, output_u_data(k), <span class="stringliteral">&#39; v-wind &#39;</span>, output_v_data(k)</div>
+<div class="line"><span class="keywordflow"> enddo</span></div>
+<div class="line"> </div>
+<div class="line"> <span class="keyword">end program </span>example_2</div>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md16"></a>
+Examples: Spectral Processing &amp; Transformation</h1>
+<p>Example 1. Interpolate heights and winds from a latlon grid to two antipodal polar stereographic grids. Subprograms GETGB and PUTGB from w3lib are referenced.</p>
+<div class="fragment"><div class="line"><span class="comment">c  unit number 11 is the input latlon grib file</span></div>
+<div class="line"><span class="comment">c  unit number 31 is the input latlon grib index file</span></div>
+<div class="line"><span class="comment">c  unit number 51 is the output northern polar stereographic grib file</span></div>
+<div class="line"><span class="comment">c  unit number 52 is the output southern polar stereographic grib file</span></div>
+<div class="line"><span class="comment">c  nominal spectral truncation is r40</span></div>
+<div class="line"><span class="comment">c  maximum input gridsize is 360x181</span></div>
+<div class="line"><span class="comment">c  maximum number of levels wanted is 12</span></div>
+<div class="line">      parameter(lug=11,lui=31,lun=51,lus=52)</div>
+<div class="line">      parameter(iromb=1,maxwv=40,jf=360*181,kx=12)</div>
+<div class="line">      <span class="keywordtype">integer</span> kp5(kx),kp6(kx),kp7(kx)</div>
+<div class="line">      <span class="keywordtype">integer</span> kpo(kx)</div>
+<div class="line">      <span class="keyword">data</span> kpo/1000,850,700,500,400,300,250,200,150,100,70,50/</div>
+<div class="line"><span class="comment">c height</span></div>
+<div class="line">      km=12</div>
+<div class="line">      kp5=7</div>
+<div class="line">      kp6=100</div>
+<div class="line">      kp7=kpo</div>
+<div class="line">      <span class="keyword">call </span>gs65(lug,lui,lun,lus,jf,km,kp5,kp6,kp7,iromb,maxwv)</div>
+<div class="line"><span class="comment">c winds</span></div>
+<div class="line">      km=12</div>
+<div class="line">      kp5=33</div>
+<div class="line">      kp6=100</div>
+<div class="line">      kp7=kpo</div>
+<div class="line">      <span class="keyword">call </span>gv65(lug,lui,lun,lus,jf,km,kp5,kp6,kp7,iromb,maxwv)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      stop</div>
+<div class="line">      <span class="keyword">end</span></div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keyword">subroutine </span>gs65(lug,lui,lun,lus,jf,km,kp5,kp6,kp7,iromb,maxwv)</div>
+<div class="line"><span class="comment">c  interpolates a scalar field using spectral transforms.</span></div>
+<div class="line">      <span class="keywordtype">integer</span> kp5(km),kp6(km),kp7(km)</div>
+<div class="line"><span class="comment">c  output grids are 65x65 (381 km true at latitide 60).</span></div>
+<div class="line"><span class="comment">c  nh grid oriented at 280E; sh grid oriented at 100E.</span></div>
+<div class="line">      parameter(nph=32,nps=2*nph+1,npq=nps*nps)</div>
+<div class="line">      parameter(true=60.,xmesh=381.e3,orient=280.)</div>
+<div class="line">      parameter(rerth=6.3712e6)</div>
+<div class="line">      parameter(pi=3.14159265358979,dpr=180./pi) </div>
+<div class="line"><span class="keywordtype">      real</span> gn(npq,km),gs(npq,km)</div>
+<div class="line">      <span class="keywordtype">integer</span> jpds(25),jgds(22),kpds(25,km),kgds(22,km)</div>
+<div class="line">      <span class="keywordtype">logical</span> lb(jf)</div>
+<div class="line"><span class="keywordtype">      real</span> f(jf,km)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      g2=((1.+sin(abs(true)/dpr))*rerth/xmesh)**2</div>
+<div class="line">      r2=2*nph**2</div>
+<div class="line">      rlatn1=dpr*asin((g2-r2)/(g2+r2))</div>
+<div class="line">      rlonn1=mod(orient+315,360.)</div>
+<div class="line">      rlats1=-rlatn1</div>
+<div class="line">      rlons1=mod(rlonn1+270,360.)</div>
+<div class="line">      jpds=-1</div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        jpds(5)=kp5(k)</div>
+<div class="line">        jpds(6)=kp6(k)</div>
+<div class="line">        jpds(7)=kp7(k)</div>
+<div class="line">        j=0</div>
+<div class="line">        <span class="keyword">call </span>getgb(lug,lui,jf,j,jpds,jgds,kf,j,kpds(1,k),kgds(1,k),</div>
+<div class="line">     &amp;             lb,f(1,k),iret)</div>
+<div class="line">        <span class="keywordflow">if</span>(iret.ne.0) <span class="keyword">call </span>exit(1)</div>
+<div class="line">        <span class="keywordflow">if</span>(mod(kpds(4,k)/64,2).eq.1) <span class="keyword">call </span>exit(2)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      idrt=kgds(1,1)</div>
+<div class="line">      imax=kgds(2,1)</div>
+<div class="line">      jmax=kgds(3,1)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keyword">call </span><a class="code" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a>(iromb,maxwv,idrt,imax,jmax,km,nps,</div>
+<div class="line">     &amp;             0,0,0,jf,0,0,0,0,true,xmesh,orient,f,gn,gs)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        kpds(3,k)=27</div>
+<div class="line">        kgds(1,k)=5</div>
+<div class="line">        kgds(2,k)=nps</div>
+<div class="line">        kgds(3,k)=nps</div>
+<div class="line">        kgds(4,k)=nint(rlatn1*1.e3)</div>
+<div class="line">        kgds(5,k)=nint(rlonn1*1.e3)</div>
+<div class="line">        kgds(6,k)=8</div>
+<div class="line">        kgds(7,k)=nint(orient*1.e3)</div>
+<div class="line">        kgds(8,k)=nint(xmesh)</div>
+<div class="line">        kgds(9,k)=nint(xmesh)</div>
+<div class="line">        kgds(10,k)=0</div>
+<div class="line">        kgds(11,k)=64</div>
+<div class="line">        <span class="keyword">call </span>putgb(lun,npq,kpds(1,k),kgds(1,k),lb,gn(1,k),iret)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        kpds(3,k)=28</div>
+<div class="line">        kgds(1,k)=5</div>
+<div class="line">        kgds(2,k)=nps</div>
+<div class="line">        kgds(3,k)=nps</div>
+<div class="line">        kgds(4,k)=nint(rlats1*1.e3)</div>
+<div class="line">        kgds(5,k)=nint(rlons1*1.e3)</div>
+<div class="line">        kgds(6,k)=8</div>
+<div class="line">        kgds(7,k)=nint(mod(orient+180,360.)*1.e3)</div>
+<div class="line">        kgds(8,k)=nint(xmesh)</div>
+<div class="line">        kgds(9,k)=nint(xmesh)</div>
+<div class="line">        kgds(10,k)=128</div>
+<div class="line">        kgds(11,k)=64</div>
+<div class="line">        <span class="keyword">call </span>putgb(lus,npq,kpds(1,k),kgds(1,k),lb,gs(1,k),iret)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keyword">end</span></div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keyword">subroutine </span>gv65(lug,lui,lun,lus,jf,km,kp5,kp6,kp7,iromb,maxwv)</div>
+<div class="line"><span class="comment">c  interpolates a vector field using spectral transforms.</span></div>
+<div class="line">      <span class="keywordtype">integer</span> kp5(km),kp6(km),kp7(km)</div>
+<div class="line"><span class="comment">c  output grids are 65x65 (381 km true at latitide 60).</span></div>
+<div class="line"><span class="comment">c  nh grid oriented at 280E; sh grid oriented at 100E.</span></div>
+<div class="line"><span class="comment">c  winds are rotated to be relative to grid coordinates.</span></div>
+<div class="line">      parameter(nph=32,nps=2*nph+1,npq=nps*nps)</div>
+<div class="line">      parameter(true=60.,xmesh=381.e3,orient=280.)</div>
+<div class="line">      parameter(rerth=6.3712e6)</div>
+<div class="line">      parameter(pi=3.14159265358979,dpr=180./pi) </div>
+<div class="line"><span class="keywordtype">      real</span> un(npq,km),vn(npq,km),us(npq,km),vs(npq,km)</div>
+<div class="line">      <span class="keywordtype">integer</span> jpds(25),jgds(22),kpds(25,km),kgds(22,km)</div>
+<div class="line">      <span class="keywordtype">logical</span> lb(jf)</div>
+<div class="line"><span class="keywordtype">      real</span> u(jf,km),v(jf,km)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      g2=((1.+sin(abs(true)/dpr))*rerth/xmesh)**2</div>
+<div class="line">      r2=2*nph**2</div>
+<div class="line">      rlatn1=dpr*asin((g2-r2)/(g2+r2))</div>
+<div class="line">      rlonn1=mod(orient+315,360.)</div>
+<div class="line">      rlats1=-rlatn1</div>
+<div class="line">      rlons1=mod(rlonn1+270,360.)</div>
+<div class="line">      jpds=-1</div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        jpds(5)=kp5(k)</div>
+<div class="line">        jpds(6)=kp6(k)</div>
+<div class="line">        jpds(7)=kp7(k)</div>
+<div class="line">        j=0</div>
+<div class="line">        <span class="keyword">call </span>getgb(lug,lui,jf,j,jpds,jgds,kf,j,kpds(1,k),kgds(1,k),</div>
+<div class="line">     &amp;             lb,u(1,k),iret)</div>
+<div class="line">        <span class="keywordflow">if</span>(iret.ne.0) <span class="keyword">call </span>exit(1)</div>
+<div class="line">        <span class="keywordflow">if</span>(mod(kpds(4,k)/64,2).eq.1) <span class="keyword">call </span>exit(2)</div>
+<div class="line">        jpds=kpds(:,k)</div>
+<div class="line">        jgds=kgds(:,k)</div>
+<div class="line">        jpds(5)=jpds(5)+1</div>
+<div class="line">        j=0</div>
+<div class="line">        <span class="keyword">call </span>getgb(lug,lui,jf,j,jpds,jgds,kf,j,kpds(1,k),kgds(1,k),</div>
+<div class="line">     &amp;             lb,v(1,k),iret)</div>
+<div class="line">        <span class="keywordflow">if</span>(iret.ne.0) <span class="keyword">call </span>exit(1)</div>
+<div class="line">        <span class="keywordflow">if</span>(mod(kpds(4,k)/64,2).eq.1) <span class="keyword">call </span>exit(2)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      idrt=kgds(1,1)</div>
+<div class="line">      imax=kgds(2,1)</div>
+<div class="line">      jmax=kgds(3,1)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keyword">call </span><a class="code" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a>(iromb,maxwv,idrt,imax,jmax,km,nps,</div>
+<div class="line">     &amp;              0,0,0,jf,0,0,0,0,true,xmesh,orient,u,v,</div>
+<div class="line">     &amp;              .true.,un,vn,us,vs,.false.,dum,dum,dum,dum,</div>
+<div class="line">     &amp;              .false.,dum,dum,dum,dum)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        kpds(3,k)=27</div>
+<div class="line">        kgds(1,k)=5</div>
+<div class="line">        kgds(2,k)=nps</div>
+<div class="line">        kgds(3,k)=nps</div>
+<div class="line">        kgds(4,k)=nint(rlatn1*1.e3)</div>
+<div class="line">        kgds(5,k)=nint(rlonn1*1.e3)</div>
+<div class="line">        kgds(6,k)=8</div>
+<div class="line">        kgds(7,k)=nint(orient*1.e3)</div>
+<div class="line">        kgds(8,k)=nint(xmesh)</div>
+<div class="line">        kgds(9,k)=nint(xmesh)</div>
+<div class="line">        kgds(10,k)=0</div>
+<div class="line">        kgds(11,k)=64</div>
+<div class="line">        kpds(5,k)=kp5(k)</div>
+<div class="line">        <span class="keyword">call </span>putgb(lun,npq,kpds(1,k),kgds(1,k),lb,un(1,k),iret)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        kpds(3,k)=27</div>
+<div class="line">        kgds(1,k)=5</div>
+<div class="line">        kgds(2,k)=nps</div>
+<div class="line">        kgds(3,k)=nps</div>
+<div class="line">        kgds(4,k)=nint(rlatn1*1.e3)</div>
+<div class="line">        kgds(5,k)=nint(rlonn1*1.e3)</div>
+<div class="line">        kgds(6,k)=8</div>
+<div class="line">        kgds(7,k)=nint(orient*1.e3)</div>
+<div class="line">        kgds(8,k)=nint(xmesh)</div>
+<div class="line">        kgds(9,k)=nint(xmesh)</div>
+<div class="line">        kgds(10,k)=0</div>
+<div class="line">        kgds(11,k)=64</div>
+<div class="line">        kpds(5,k)=kp5(k)+1</div>
+<div class="line">        <span class="keyword">call </span>putgb(lun,npq,kpds(1,k),kgds(1,k),lb,vn(1,k),iret)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        kpds(3,k)=28</div>
+<div class="line">        kgds(1,k)=5</div>
+<div class="line">        kgds(2,k)=nps</div>
+<div class="line">        kgds(3,k)=nps</div>
+<div class="line">        kgds(4,k)=nint(rlats1*1.e3)</div>
+<div class="line">        kgds(5,k)=nint(rlons1*1.e3)</div>
+<div class="line">        kgds(6,k)=8</div>
+<div class="line">        kgds(7,k)=nint(mod(orient+180,360.)*1.e3)</div>
+<div class="line">        kgds(8,k)=nint(xmesh)</div>
+<div class="line">        kgds(9,k)=nint(xmesh)</div>
+<div class="line">        kgds(10,k)=128</div>
+<div class="line">        kgds(11,k)=64</div>
+<div class="line">        kpds(5,k)=kp5(k)</div>
+<div class="line">        <span class="keyword">call </span>putgb(lus,npq,kpds(1,k),kgds(1,k),lb,us(1,k),iret)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        kpds(3,k)=28</div>
+<div class="line">        kgds(1,k)=5</div>
+<div class="line">        kgds(2,k)=nps</div>
+<div class="line">        kgds(3,k)=nps</div>
+<div class="line">        kgds(4,k)=nint(rlats1*1.e3)</div>
+<div class="line">        kgds(5,k)=nint(rlons1*1.e3)</div>
+<div class="line">        kgds(6,k)=8</div>
+<div class="line">        kgds(7,k)=nint(mod(orient+180,360.)*1.e3)</div>
+<div class="line">        kgds(8,k)=nint(xmesh)</div>
+<div class="line">        kgds(9,k)=nint(xmesh)</div>
+<div class="line">        kgds(10,k)=128</div>
+<div class="line">        kgds(11,k)=64</div>
+<div class="line">        kpds(5,k)=kp5(k)+1</div>
+<div class="line">        <span class="keyword">call </span>putgb(lus,npq,kpds(1,k),kgds(1,k),lb,vs(1,k),iret)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keyword">end</span></div>
+<div class="ttc" id="asptruns_8f_html_a34f156e2049105d012e445f8aa215444"><div class="ttname"><a href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a></div><div class="ttdeci">subroutine sptruns(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NPS, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, TRUE, XMESH, ORIENT, GRIDI, GN, GS)</div><div class="ttdoc">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptruns_8f_source.html#l00071">sptruns.f:75</a></div></div>
+<div class="ttc" id="asptrunsv_8f_html_a1373b651b9dea586e33d3033aae68656"><div class="ttname"><a href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a></div><div class="ttdeci">subroutine sptrunsv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NPS, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, TRUE, XMESH, ORIENT, GRIDUI, GRIDVI, LUV, UN, VN, US, VS, LDZ, DN, ZN, DS, ZS, LPS, PN, SN, PS, SS)</div><div class="ttdoc">This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunsv_8f_source.html#l00088">sptrunsv.f:94</a></div></div>
+</div><!-- fragment --><p>Example 2. Spectrally truncate winds in place on a latlon grid.</p>
+<div class="fragment"><div class="line"><span class="comment">c  unit number 11 is the input latlon grib file</span></div>
+<div class="line"><span class="comment">c  unit number 31 is the input latlon grib index file</span></div>
+<div class="line"><span class="comment">c  unit number 51 is the output latlon grib file</span></div>
+<div class="line"><span class="comment">c  nominal spectral truncation is r40</span></div>
+<div class="line"><span class="comment">c  maximum input gridsize is 360x181</span></div>
+<div class="line"><span class="comment">c  maximum number of levels wanted is 12</span></div>
+<div class="line">      parameter(lug=11,lui=31,luo=51)</div>
+<div class="line">      parameter(iromb=1,maxwv=40,jf=360*181,kx=12)</div>
+<div class="line">      <span class="keywordtype">integer</span> kp5(kx),kp6(kx),kp7(kx)</div>
+<div class="line">      <span class="keywordtype">integer</span> kpo(kx)</div>
+<div class="line">      <span class="keyword">data</span> kpo/1000,850,700,500,400,300,250,200,150,100,70,50/</div>
+<div class="line"><span class="comment">c winds</span></div>
+<div class="line">      km=12</div>
+<div class="line">      kp5=33</div>
+<div class="line">      kp6=100</div>
+<div class="line">      kp7=kpo</div>
+<div class="line">      <span class="keyword">call </span>gvr40(lug,lui,luo,jf,km,kp5,kp6,kp7,iromb,maxwv)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      stop</div>
+<div class="line">      <span class="keyword">end</span></div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keyword">subroutine </span>gvr40(lug,lui,luo,jf,km,kp5,kp6,kp7,iromb,maxwv)</div>
+<div class="line"><span class="comment">c  interpolates a vector field using spectral transforms.</span></div>
+<div class="line">      <span class="keywordtype">integer</span> kp5(km),kp6(km),kp7(km)</div>
+<div class="line">      <span class="keywordtype">integer</span> jpds(25),jgds(22),kpds(25,km),kgds(22,km)</div>
+<div class="line">      <span class="keywordtype">logical</span> lb(jf)</div>
+<div class="line"><span class="keywordtype">      real</span> u(jf,km),v(jf,km)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      jpds=-1</div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        jpds(5)=kp5(k)</div>
+<div class="line">        jpds(6)=kp6(k)</div>
+<div class="line">        jpds(7)=kp7(k)</div>
+<div class="line">        j=0</div>
+<div class="line">        <span class="keyword">call </span>getgb(lug,lui,jf,j,jpds,jgds,kf,j,kpds(1,k),kgds(1,k),</div>
+<div class="line">     &amp;             lb,u(1,k),iret)</div>
+<div class="line">        <span class="keywordflow">if</span>(iret.ne.0) <span class="keyword">call </span>exit(1)</div>
+<div class="line">        <span class="keywordflow">if</span>(mod(kpds(4,k)/64,2).eq.1) <span class="keyword">call </span>exit(2)</div>
+<div class="line">        jpds=kpds(:,k)</div>
+<div class="line">        jgds=kgds(:,k)</div>
+<div class="line">        jpds(5)=jpds(5)+1</div>
+<div class="line">        j=0</div>
+<div class="line">        <span class="keyword">call </span>getgb(lug,lui,jf,j,jpds,jgds,kf,j,kpds(1,k),kgds(1,k),</div>
+<div class="line">     &amp;             lb,v(1,k),iret)</div>
+<div class="line">        <span class="keywordflow">if</span>(iret.ne.0) <span class="keyword">call </span>exit(1)</div>
+<div class="line">        <span class="keywordflow">if</span>(mod(kpds(4,k)/64,2).eq.1) <span class="keyword">call </span>exit(2)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      idrt=kgds(1,1)</div>
+<div class="line">      imax=kgds(2,1)</div>
+<div class="line">      jmax=kgds(3,1)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keyword">call </span><a class="code" href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv</a>(iromb,maxwv,idrt,imax,jmax,idrt,imax,jmax,km,</div>
+<div class="line">     &amp;             0,0,0,jf,0,0,jf,0,u,v,.true.,u,v,</div>
+<div class="line">     &amp;             .false.,dum,dum,.false.,dum,dum)</div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        kpds(5,k)=kp5(k)</div>
+<div class="line">        <span class="keyword">call </span>putgb(luo,kf,kpds(1,k),kgds(1,k),lb,u(1,k),iret)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,km</div>
+<div class="line">        kpds(5,k)=kp5(k)+1</div>
+<div class="line">        <span class="keyword">call </span>putgb(luo,kf,kpds(1,k),kgds(1,k),lb,v(1,k),iret)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line"><span class="comment">c</span></div>
+<div class="line">      <span class="keyword">end</span></div>
+<div class="ttc" id="asptrunv_8f_html_a9aa39c13dd38585b3afb30cb2486817f"><div class="ttname"><a href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv</a></div><div class="ttdeci">subroutine sptrunv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRIDUI, GRIDVI, LUV, GRIDUO, GRIDVO, LDZ, GRIDDO, GRIDZO, LPS, GRIDPO, GRIDSO)</div><div class="ttdoc">This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunv_8f_source.html#l00090">sptrunv.f:96</a></div></div>
+</div><!-- fragment --><p>Example 3. Compute latlon temperatures from spectral temperatures and compute latlon winds from spectral divergence and vorticity.</p>
+<div class="fragment"><div class="line"><span class="comment">c  unit number 11 is the input sigma file</span></div>
+<div class="line"><span class="comment">c  unit number 51 is the output latlon file</span></div>
+<div class="line"><span class="comment">c  nominal spectral truncation is t62</span></div>
+<div class="line"><span class="comment">c  output gridsize is 144x73</span></div>
+<div class="line"><span class="comment">c  number of levels is 28</span></div>
+<div class="line">      parameter(iromb=0,maxwv=62)</div>
+<div class="line">      parameter(idrt=0,im=144,jm=73)</div>
+<div class="line">      parameter(levs=28)</div>
+<div class="line">      parameter(mx=(maxwv+1)*((iromb+1)*maxwv+2)/2)</div>
+<div class="line"><span class="keywordtype">      real</span> t(mx,levs),d(mx,levs),z(mx,levs)</div>
+<div class="line"><span class="keywordtype">      real</span> tg(im,jm,km),ug(im,jm,km),vg(im,jm,km)</div>
+<div class="line"><span class="comment">c  temperature</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,4</div>
+<div class="line">        <span class="keyword">read</span>(11)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,levs</div>
+<div class="line">        <span class="keyword">read</span>(11) (t(m,k),m=1,mx)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      <span class="keyword">call </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrt,im,jm,levs,0,0,0,0,0,0,0,0,1,</div>
+<div class="line">     &amp;            t,tg(1,1,1),tg(1,jm,1),1)</div>
+<div class="line">      <span class="keyword">call </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(</div>
+<div class="line">      <span class="keywordflow">do</span> k=1,levs</div>
+<div class="line">        <span class="keyword">write</span>(51) ((tg(i,j,k),i=1,im),j=1,jm)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line"><span class="comment">c  winds</span></div>
+<div class="line">      <span class="keywordflow">do</span> k=1,levs</div>
+<div class="line">        <span class="keyword">read</span>(11) (d(m,k),m=1,mx)</div>
+<div class="line">        <span class="keyword">read</span>(11) (z(m,k),m=1,mx)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      <span class="keyword">call </span><a class="code" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a>(iromb,maxwv,idrt,im,jm,levs,0,0,0,0,0,0,0,0,1,</div>
+<div class="line">     &amp;             d,z,ug(1,1,1),ug(1,jm,1),vg(1,1,1),vg(1,jm,1),1)</div>
+<div class="line">      <span class="keywordflow">do</span> k=1,levs</div>
+<div class="line">        <span class="keyword">write</span>(51) ((ug(i,j,k),i=1,im),j=1,jm)</div>
+<div class="line">        <span class="keyword">write</span>(51) ((vg(i,j,k),i=1,im),j=1,jm)</div>
+<div class="line"><span class="keywordflow">      enddo</span></div>
+<div class="line">      <span class="keyword">end</span></div>
+<div class="ttc" id="asptran_8f_html_af7610e42f0dcd199b8cf80f851dcfed0"><div class="ttname"><a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a></div><div class="ttdeci">subroutine sptran(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptran_8f_source.html#l00084">sptran.f:88</a></div></div>
+<div class="ttc" id="asptranv_8f_html_a7d6aaa3ed70df1dfaf8dd4443b7190c1"><div class="ttname"><a href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a></div><div class="ttdeci">subroutine sptranv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranv_8f_source.html#l00087">sptranv.f:91</a></div></div>
+</div><!-- fragment --> </div></div><!-- PageDoc -->
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
diff --git a/interfacebicubic__interp__mod_1_1interpolate__bicubic.html b/interfacebicubic__interp__mod_1_1interpolate__bicubic.html
index fa38bc2a..287c1113 100644
--- a/interfacebicubic__interp__mod_1_1interpolate__bicubic.html
+++ b/interfacebicubic__interp__mod_1_1interpolate__bicubic.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfacebilinear__interp__mod_1_1interpolate__bilinear.html b/interfacebilinear__interp__mod_1_1interpolate__bilinear.html
index e7268274..fee2d108 100644
--- a/interfacebilinear__interp__mod_1_1interpolate__bilinear.html
+++ b/interfacebilinear__interp__mod_1_1interpolate__bilinear.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfacebudget__interp__mod_1_1interpolate__budget.html b/interfacebudget__interp__mod_1_1interpolate__budget.html
index 6f88a32a..5d1a9f6c 100644
--- a/interfacebudget__interp__mod_1_1interpolate__budget.html
+++ b/interfacebudget__interp__mod_1_1interpolate__budget.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfacegdswzd__mod_1_1gdswzd.html b/interfacegdswzd__mod_1_1gdswzd.html
index 755a403c..0227e2f5 100644
--- a/interfacegdswzd__mod_1_1gdswzd.html
+++ b/interfacegdswzd__mod_1_1gdswzd.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceip__grid__descriptor__mod_1_1init__descriptor.html b/interfaceip__grid__descriptor__mod_1_1init__descriptor.html
index 4cbe1cb2..34c85250 100644
--- a/interfaceip__grid__descriptor__mod_1_1init__descriptor.html
+++ b/interfaceip__grid__descriptor__mod_1_1init__descriptor.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html b/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html
index 3c953ad4..cf61d76c 100644
--- a/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html
+++ b/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceip__grid__factory__mod_1_1init__grid.html b/interfaceip__grid__factory__mod_1_1init__grid.html
index b5e54a4b..92908f6e 100644
--- a/interfaceip__grid__factory__mod_1_1init__grid.html
+++ b/interfaceip__grid__factory__mod_1_1init__grid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceip__grid__mod_1_1gdswzd__interface.html b/interfaceip__grid__mod_1_1gdswzd__interface.html
index 965c4a4a..e7cf8dcc 100644
--- a/interfaceip__grid__mod_1_1gdswzd__interface.html
+++ b/interfaceip__grid__mod_1_1gdswzd__interface.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceip__grid__mod_1_1init__grib1__interface.html b/interfaceip__grid__mod_1_1init__grib1__interface.html
index 0f60f2f6..67ad960b 100644
--- a/interfaceip__grid__mod_1_1init__grib1__interface.html
+++ b/interfaceip__grid__mod_1_1init__grib1__interface.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceip__grid__mod_1_1init__grib2__interface.html b/interfaceip__grid__mod_1_1init__grib2__interface.html
index 5754b37f..17f2d22e 100644
--- a/interfaceip__grid__mod_1_1init__grib2__interface.html
+++ b/interfaceip__grid__mod_1_1init__grib2__interface.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceip__grid__mod_1_1operator_07_0a_0a_08.html b/interfaceip__grid__mod_1_1operator_07_0a_0a_08.html
index 2c709072..9607ffd1 100644
--- a/interfaceip__grid__mod_1_1operator_07_0a_0a_08.html
+++ b/interfaceip__grid__mod_1_1operator_07_0a_0a_08.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceipolates__mod_1_1ipolates.html b/interfaceipolates__mod_1_1ipolates.html
index 8c50a5d2..4650f457 100644
--- a/interfaceipolates__mod_1_1ipolates.html
+++ b/interfaceipolates__mod_1_1ipolates.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceipolatev__mod_1_1ipolatev.html b/interfaceipolatev__mod_1_1ipolatev.html
index 81b087f9..4c61d884 100644
--- a/interfaceipolatev__mod_1_1ipolatev.html
+++ b/interfaceipolatev__mod_1_1ipolatev.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html b/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html
index 1a0591e0..e220667b 100644
--- a/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html
+++ b/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -235,7 +235,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a96e4b145a4df6f4948b1d5ae
 <li>(igdtnumi/o=40) gaussian cylindrical</li>
 </ul>
 <p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. Input bitmaps will be interpolated to output bitmaps. Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
-<h3><a class="anchor" id="autotoc_md38"></a>
+<h3><a class="anchor" id="autotoc_md44"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -451,7 +451,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a573bd5ac43484aa6d051e58f
 <p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
 <p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. Input bitmaps will be interpolated to output bitmaps.</p>
 <p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
-<h3><a class="anchor" id="autotoc_md39"></a>
+<h3><a class="anchor" id="autotoc_md45"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/interfaceneighbor__interp__mod_1_1interpolate__neighbor.html b/interfaceneighbor__interp__mod_1_1interpolate__neighbor.html
index ceb9004c..bf165ee7 100644
--- a/interfaceneighbor__interp__mod_1_1interpolate__neighbor.html
+++ b/interfaceneighbor__interp__mod_1_1interpolate__neighbor.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfacespectral__interp__mod_1_1interpolate__spectral.html b/interfacespectral__interp__mod_1_1interpolate__spectral.html
index 7006f050..98c4e117 100644
--- a/interfacespectral__interp__mod_1_1interpolate__spectral.html
+++ b/interfacespectral__interp__mod_1_1interpolate__spectral.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/interfacespectral__interp__mod_1_1polates4.html b/interfacespectral__interp__mod_1_1polates4.html
index 0cb40f48..5516cbd8 100644
--- a/interfacespectral__interp__mod_1_1polates4.html
+++ b/interfacespectral__interp__mod_1_1polates4.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -229,7 +229,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a0be1315db4dce899083176b4
 <li>kgds(1) = 205 rotated equidistant cylindrical (b-stagger)</li>
 </ul>
 <p>Where kgds could be either input kgdsi or output kgdso. As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input. Output bitmaps will not be created.</p>
-<h3><a class="anchor" id="autotoc_md42"></a>
+<h3><a class="anchor" id="autotoc_md49"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -273,6 +273,8 @@ <h3><a class="anchor" id="autotoc_md42"></a>
 
 <p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00559">559</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
 
+<p class="reference">References <a class="el" href="sptrun_8f_source.html#l00058">sptrun()</a>, <a class="el" href="sptrung_8f_source.html#l00068">sptrung()</a>, <a class="el" href="sptrunm_8f_source.html#l00080">sptrunm()</a>, and <a class="el" href="sptruns_8f_source.html#l00075">sptruns()</a>.</p>
+
 </div>
 </div>
 <a id="a3fdc75851f1f741e715a1c3e1e4d89c9"></a>
@@ -424,7 +426,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a3fdc75851f1f741e715a1c3e
 <li>igdtnumi/o = 40 gaussian cylindrical</li>
 </ul>
 <p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo &lt; 0, in which case the number of points and their latitudes and longitudes must be input. Output bitmaps will not be created.</p>
-<h3><a class="anchor" id="autotoc_md41"></a>
+<h3><a class="anchor" id="autotoc_md48"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -482,7 +484,7 @@ <h3><a class="anchor" id="autotoc_md41"></a>
 
 <p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00254">254</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
 
-<p class="reference">References <a class="el" href="earth__radius__mod_8F90_source.html#l00041">earth_radius_mod::earth_radius()</a>.</p>
+<p class="reference">References <a class="el" href="earth__radius__mod_8F90_source.html#l00041">earth_radius_mod::earth_radius()</a>, <a class="el" href="sptrun_8f_source.html#l00058">sptrun()</a>, <a class="el" href="sptrung_8f_source.html#l00068">sptrung()</a>, <a class="el" href="sptrunm_8f_source.html#l00080">sptrunm()</a>, and <a class="el" href="sptruns_8f_source.html#l00075">sptruns()</a>.</p>
 
 </div>
 </div>
diff --git a/interfacespectral__interp__mod_1_1polatev4.html b/interfacespectral__interp__mod_1_1polatev4.html
index 0eeb428c..37741758 100644
--- a/interfacespectral__interp__mod_1_1polatev4.html
+++ b/interfacespectral__interp__mod_1_1polatev4.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -254,7 +254,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a5fa619eb983da3326380e9ba
 <p>Where kgds could be either input kgdsi or output kgdso.</p>
 <p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections. As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
 <p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
-<h3><a class="anchor" id="autotoc_md44"></a>
+<h3><a class="anchor" id="autotoc_md51"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -302,6 +302,8 @@ <h3><a class="anchor" id="autotoc_md44"></a>
 
 <p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l01221">1221</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
 
+<p class="reference">References <a class="el" href="sptrungv_8f_source.html#l00085">sptrungv()</a>, <a class="el" href="sptrunmv_8f_source.html#l00096">sptrunmv()</a>, <a class="el" href="sptrunsv_8f_source.html#l00094">sptrunsv()</a>, and <a class="el" href="sptrunv_8f_source.html#l00096">sptrunv()</a>.</p>
+
 </div>
 </div>
 <a id="a9dcbaeb719e3872ad5ad461adde5c98b"></a>
@@ -478,7 +480,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a9dcbaeb719e3872ad5ad461a
 <p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
 <p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
 <p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
-<h3><a class="anchor" id="autotoc_md43"></a>
+<h3><a class="anchor" id="autotoc_md50"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -540,7 +542,7 @@ <h3><a class="anchor" id="autotoc_md43"></a>
 
 <p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00887">887</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
 
-<p class="reference">References <a class="el" href="earth__radius__mod_8F90_source.html#l00041">earth_radius_mod::earth_radius()</a>.</p>
+<p class="reference">References <a class="el" href="earth__radius__mod_8F90_source.html#l00041">earth_radius_mod::earth_radius()</a>, <a class="el" href="sptrungv_8f_source.html#l00085">sptrungv()</a>, <a class="el" href="sptrunmv_8f_source.html#l00096">sptrunmv()</a>, <a class="el" href="sptrunsv_8f_source.html#l00094">sptrunsv()</a>, and <a class="el" href="sptrunv_8f_source.html#l00096">sptrunv()</a>.</p>
 
 </div>
 </div>
diff --git a/ip__constants__mod_8F90.html b/ip__constants__mod_8F90.html
index 3fb61912..14f3e881 100644
--- a/ip__constants__mod_8F90.html
+++ b/ip__constants__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__constants__mod_8F90_source.html b/ip__constants__mod_8F90_source.html
index 2f3ddc47..990a0fe5 100644
--- a/ip__constants__mod_8F90_source.html
+++ b/ip__constants__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__equid__cylind__grid__mod_8F90.html b/ip__equid__cylind__grid__mod_8F90.html
index 666b0215..65f3c146 100644
--- a/ip__equid__cylind__grid__mod_8F90.html
+++ b/ip__equid__cylind__grid__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__equid__cylind__grid__mod_8F90_source.html b/ip__equid__cylind__grid__mod_8F90_source.html
index e6c9e0ca..e787b5ce 100644
--- a/ip__equid__cylind__grid__mod_8F90_source.html
+++ b/ip__equid__cylind__grid__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__gaussian__grid__mod_8F90.html b/ip__gaussian__grid__mod_8F90.html
index adab16e7..82eb5e12 100644
--- a/ip__gaussian__grid__mod_8F90.html
+++ b/ip__gaussian__grid__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__gaussian__grid__mod_8F90_source.html b/ip__gaussian__grid__mod_8F90_source.html
index 1cdc428c..83df1de5 100644
--- a/ip__gaussian__grid__mod_8F90_source.html
+++ b/ip__gaussian__grid__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -276,7 +276,7 @@
 <div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160; </div>
 <div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keyword">ALLOCATE</span>(alat_temp(jg))</div>
 <div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keyword">ALLOCATE</span>(blat_temp(jg))</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keyword">CALL </span>splat(4,jg,alat_temp,blat_temp)</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keyword">CALL </span><a class="code" href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">splat</a>(4,jg,alat_temp,blat_temp)</div>
 <div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="keyword">ALLOCATE</span>(alat(0:jg+1))</div>
 <div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keyword">ALLOCATE</span>(<a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(0:jg+1))</div>
 <div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="comment">!$OMP PARALLEL DO PRIVATE(JA) SCHEDULE(STATIC)</span></div>
@@ -438,6 +438,7 @@
 <div class="ttc" id="anamespaceip__gaussian__grid__mod_html_af5c4024263aa3eaef5801849ae32c15a"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">ip_gaussian_grid_mod::j1</a></div><div class="ttdeci">integer j1</div><div class="ttdoc">'j' index of first grid point within the global array of latitudes.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00043">ip_gaussian_grid_mod.F90:43</a></div></div>
 <div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
 <div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="asplat_8F_html_aa6db21451bb67635e7e4426546140e11"><div class="ttname"><a href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">splat</a></div><div class="ttdeci">subroutine splat(IDRT, JMAX, SLAT, WLAT)</div><div class="ttdoc">Computes cosines of colatitude and Gaussian weights for one of the following specific global sets of ...</div><div class="ttdef"><b>Definition:</b> <a href="splat_8F_source.html#l00045">splat.F:46</a></div></div>
 <div class="ttc" id="astructip__gaussian__grid__mod_1_1ip__gaussian__grid_html"><div class="ttname"><a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid_mod::ip_gaussian_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00024">ip_gaussian_grid_mod.F90:24</a></div></div>
 <div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
 <div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
diff --git a/ip__grid__descriptor__mod_8F90.html b/ip__grid__descriptor__mod_8F90.html
index d62a1480..a76dae9d 100644
--- a/ip__grid__descriptor__mod_8F90.html
+++ b/ip__grid__descriptor__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__grid__descriptor__mod_8F90_source.html b/ip__grid__descriptor__mod_8F90_source.html
index f5e85720..821c8265 100644
--- a/ip__grid__descriptor__mod_8F90_source.html
+++ b/ip__grid__descriptor__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__grid__factory__mod_8F90.html b/ip__grid__factory__mod_8F90.html
index 817e414c..ab8e7bd9 100644
--- a/ip__grid__factory__mod_8F90.html
+++ b/ip__grid__factory__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__grid__factory__mod_8F90_source.html b/ip__grid__factory__mod_8F90_source.html
index 460de1aa..16fbd895 100644
--- a/ip__grid__factory__mod_8F90_source.html
+++ b/ip__grid__factory__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__grid__mod_8F90.html b/ip__grid__mod_8F90.html
index 2f3caee9..2fb445a4 100644
--- a/ip__grid__mod_8F90.html
+++ b/ip__grid__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__grid__mod_8F90_source.html b/ip__grid__mod_8F90_source.html
index 40a5bd4f..dea37bf3 100644
--- a/ip__grid__mod_8F90_source.html
+++ b/ip__grid__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__grids__mod_8F90.html b/ip__grids__mod_8F90.html
index 6a017aec..20a25509 100644
--- a/ip__grids__mod_8F90.html
+++ b/ip__grids__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__grids__mod_8F90_source.html b/ip__grids__mod_8F90_source.html
index e512ed0e..e8e383c2 100644
--- a/ip__grids__mod_8F90_source.html
+++ b/ip__grids__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__interpolators__mod_8F90.html b/ip__interpolators__mod_8F90.html
index 78c0438d..a9326ba1 100644
--- a/ip__interpolators__mod_8F90.html
+++ b/ip__interpolators__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__interpolators__mod_8F90_source.html b/ip__interpolators__mod_8F90_source.html
index 1e86498d..882b8e7a 100644
--- a/ip__interpolators__mod_8F90_source.html
+++ b/ip__interpolators__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__lambert__conf__grid__mod_8F90.html b/ip__lambert__conf__grid__mod_8F90.html
index 006cfbbd..b7d56b5d 100644
--- a/ip__lambert__conf__grid__mod_8F90.html
+++ b/ip__lambert__conf__grid__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__lambert__conf__grid__mod_8F90_source.html b/ip__lambert__conf__grid__mod_8F90_source.html
index 75d35ed5..23a77258 100644
--- a/ip__lambert__conf__grid__mod_8F90_source.html
+++ b/ip__lambert__conf__grid__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__mercator__grid__mod_8F90.html b/ip__mercator__grid__mod_8F90.html
index 4fb43d36..fc4c3548 100644
--- a/ip__mercator__grid__mod_8F90.html
+++ b/ip__mercator__grid__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__mercator__grid__mod_8F90_source.html b/ip__mercator__grid__mod_8F90_source.html
index 6efed12e..5361015d 100644
--- a/ip__mercator__grid__mod_8F90_source.html
+++ b/ip__mercator__grid__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__mod_8F90.html b/ip__mod_8F90.html
index 57f3c867..77e5dbb1 100644
--- a/ip__mod_8F90.html
+++ b/ip__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__mod_8F90_source.html b/ip__mod_8F90_source.html
index c45c1b5a..68c62ad5 100644
--- a/ip__mod_8F90_source.html
+++ b/ip__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__polar__stereo__grid__mod_8F90.html b/ip__polar__stereo__grid__mod_8F90.html
index 67193574..6c35c045 100644
--- a/ip__polar__stereo__grid__mod_8F90.html
+++ b/ip__polar__stereo__grid__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__polar__stereo__grid__mod_8F90_source.html b/ip__polar__stereo__grid__mod_8F90_source.html
index fd3b2534..c62463e7 100644
--- a/ip__polar__stereo__grid__mod_8F90_source.html
+++ b/ip__polar__stereo__grid__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__rot__equid__cylind__egrid__mod_8F90.html b/ip__rot__equid__cylind__egrid__mod_8F90.html
index 7206d72c..5d8eb36a 100644
--- a/ip__rot__equid__cylind__egrid__mod_8F90.html
+++ b/ip__rot__equid__cylind__egrid__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__rot__equid__cylind__egrid__mod_8F90_source.html b/ip__rot__equid__cylind__egrid__mod_8F90_source.html
index dc7db622..045c45d1 100644
--- a/ip__rot__equid__cylind__egrid__mod_8F90_source.html
+++ b/ip__rot__equid__cylind__egrid__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__rot__equid__cylind__grid__mod_8F90.html b/ip__rot__equid__cylind__grid__mod_8F90.html
index 2e551d79..4efa87b7 100644
--- a/ip__rot__equid__cylind__grid__mod_8F90.html
+++ b/ip__rot__equid__cylind__grid__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__rot__equid__cylind__grid__mod_8F90_source.html b/ip__rot__equid__cylind__grid__mod_8F90_source.html
index 16cb6f37..4c8ecec8 100644
--- a/ip__rot__equid__cylind__grid__mod_8F90_source.html
+++ b/ip__rot__equid__cylind__grid__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__station__points__grid__mod_8F90.html b/ip__station__points__grid__mod_8F90.html
index 86428144..ad12d23e 100644
--- a/ip__station__points__grid__mod_8F90.html
+++ b/ip__station__points__grid__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ip__station__points__grid__mod_8F90_source.html b/ip__station__points__grid__mod_8F90_source.html
index 5786674f..ef0c2cbc 100644
--- a/ip__station__points__grid__mod_8F90_source.html
+++ b/ip__station__points__grid__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/iplib__4_8h.html b/iplib__4_8h.html
index 103931d9..58af23f7 100644
--- a/iplib__4_8h.html
+++ b/iplib__4_8h.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/iplib__4_8h_source.html b/iplib__4_8h_source.html
index 2a88fe41..278145c0 100644
--- a/iplib__4_8h_source.html
+++ b/iplib__4_8h_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/iplib__8_8h.html b/iplib__8_8h.html
index 26b8f50c..d14eee2d 100644
--- a/iplib__8_8h.html
+++ b/iplib__8_8h.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/iplib__8_8h_source.html b/iplib__8_8h_source.html
index d9261117..b4d07ab7 100644
--- a/iplib__8_8h_source.html
+++ b/iplib__8_8h_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/iplib__d_8h.html b/iplib__d_8h.html
index 8790e532..dc296043 100644
--- a/iplib__d_8h.html
+++ b/iplib__d_8h.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/iplib__d_8h_source.html b/iplib__d_8h_source.html
index 10bf8ea7..3e38e29c 100644
--- a/iplib__d_8h_source.html
+++ b/iplib__d_8h_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ipolates_8F90.html b/ipolates_8F90.html
index 1ef53c81..0f4ab20f 100644
--- a/ipolates_8F90.html
+++ b/ipolates_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ipolates_8F90_source.html b/ipolates_8F90_source.html
index 894c1b4e..dd9bbc25 100644
--- a/ipolates_8F90_source.html
+++ b/ipolates_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ipolatev_8F90.html b/ipolatev_8F90.html
index fba8d8cb..094d9786 100644
--- a/ipolatev_8F90.html
+++ b/ipolatev_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ipolatev_8F90_source.html b/ipolatev_8F90_source.html
index db806d89..c61d1ac6 100644
--- a/ipolatev_8F90_source.html
+++ b/ipolatev_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ipxetas_8F90.html b/ipxetas_8F90.html
index cd02eded..300dab6a 100644
--- a/ipxetas_8F90.html
+++ b/ipxetas_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -207,7 +207,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a89ff34ee39b0da1895e9d855
 <li><a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894" title="Expand or contract wafs grids using linear interpolation and account for bitmapped data.">ipxwafs2()</a> which uses neighbor interpolation and accounts for</li>
 <li>bitmapped data.</li>
 </ul>
-<h3><a class="anchor" id="autotoc_md33"></a>
+<h3><a class="anchor" id="autotoc_md37"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/ipxetas_8F90_source.html b/ipxetas_8F90_source.html
index 1e50abdf..b971c5b6 100644
--- a/ipxetas_8F90_source.html
+++ b/ipxetas_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ipxwafs2_8F90.html b/ipxwafs2_8F90.html
index f93ff6db..e2a59b41 100644
--- a/ipxwafs2_8F90.html
+++ b/ipxwafs2_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -226,7 +226,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ab602c9c04957836c0b886056
 <li><a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d" title="Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data.">ipxwafs3()</a> which uses neighbor interpolation and accounts for</li>
 <li>bitmapped data.</li>
 </ul>
-<h3><a class="anchor" id="autotoc_md35"></a>
+<h3><a class="anchor" id="autotoc_md39"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/ipxwafs2_8F90_source.html b/ipxwafs2_8F90_source.html
index 0112e36a..3dfa151a 100644
--- a/ipxwafs2_8F90_source.html
+++ b/ipxwafs2_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ipxwafs3_8F90.html b/ipxwafs3_8F90.html
index 4e5694f1..ded1e329 100644
--- a/ipxwafs3_8F90.html
+++ b/ipxwafs3_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -226,7 +226,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#aae7be3c77cbe16d0219c86e4
 <li><a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894" title="Expand or contract wafs grids using linear interpolation and account for bitmapped data.">ipxwafs2()</a> which uses linear interpolation and accounts for</li>
 <li>bitmapped data.</li>
 </ul>
-<h3><a class="anchor" id="autotoc_md36"></a>
+<h3><a class="anchor" id="autotoc_md40"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/ipxwafs3_8F90_source.html b/ipxwafs3_8F90_source.html
index 8bf06572..87f85444 100644
--- a/ipxwafs3_8F90_source.html
+++ b/ipxwafs3_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/ipxwafs_8F90.html b/ipxwafs_8F90.html
index 6071c31d..bb470c0e 100644
--- a/ipxwafs_8F90.html
+++ b/ipxwafs_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -198,7 +198,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a1465ea191950f7464bb3374a
 <p>The thinned wafs grids are latitude-longitude grids where the number of points in each row decrease toward the pole.</p>
 <p>This information is stored in the grib 2 grid definition template (section 3) starting at octet 73. The full grid counterparts have an equal number of points per row. The transform between the full and thinned wafs grid is done by linear interpolation and is not reversible.</p>
 <p>This routine does not work for bitmapped data.</p>
-<h3><a class="anchor" id="autotoc_md34"></a>
+<h3><a class="anchor" id="autotoc_md38"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/ipxwafs_8F90_source.html b/ipxwafs_8F90_source.html
index 8075784c..1cea1bcd 100644
--- a/ipxwafs_8F90_source.html
+++ b/ipxwafs_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/lapack__gen_8F.html b/lapack__gen_8F.html
new file mode 100644
index 00000000..84445852
--- /dev/null
+++ b/lapack__gen_8F.html
@@ -0,0 +1,246 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: lapack_gen.F File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('lapack__gen_8F.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">lapack_gen.F File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Two Numerical Recipes routines for matrix inversion From Numerical Recipes.  
+<a href="#details">More...</a></p>
+
+<p><a href="lapack__gen_8F_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a3c6b581386390037e8c04c238a208547"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">lubksb</a> (A, N, NP, INDX, B)</td></tr>
+<tr class="memdesc:a3c6b581386390037e8c04c238a208547"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves a system of linear equations, follows call to <a class="el" href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781" title="Replaces an NxN matrix a with the LU decomposition.">ludcmp()</a>.  <a href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">More...</a><br /></td></tr>
+<tr class="separator:a3c6b581386390037e8c04c238a208547"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2af64d5edd49c8f4dcdfdd21235de781"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">ludcmp</a> (A, N, NP, INDX)</td></tr>
+<tr class="memdesc:a2af64d5edd49c8f4dcdfdd21235de781"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces an NxN matrix a with the LU decomposition.  <a href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">More...</a><br /></td></tr>
+<tr class="separator:a2af64d5edd49c8f4dcdfdd21235de781"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Two Numerical Recipes routines for matrix inversion From Numerical Recipes. </p>
+<h3><a class="anchor" id="autotoc_md41"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2012-11-05   </td><td class="markdownTableBodyNone">E.Mirvis   </td><td class="markdownTableBodyNone">separated this generic LU from the <a class="el" href="splat_8F.html" title="Computes cosines of colatitude and Gaussian weights for sets of latitudes.">splat.F</a>   </td></tr>
+</table>
+
+<p class="definition">Definition in file <a class="el" href="lapack__gen_8F_source.html">lapack_gen.F</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a3c6b581386390037e8c04c238a208547"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c6b581386390037e8c04c238a208547">&#9670;&nbsp;</a></span>lubksb()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine lubksb </td>
+          <td>(</td>
+          <td class="paramtype">real, dimension(np,np)&#160;</td>
+          <td class="paramname"><em>A</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(n)&#160;</td>
+          <td class="paramname"><em>INDX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(n)&#160;</td>
+          <td class="paramname"><em>B</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Solves a system of linear equations, follows call to <a class="el" href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781" title="Replaces an NxN matrix a with the LU decomposition.">ludcmp()</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">A</td><td></td></tr>
+    <tr><td class="paramname">N</td><td></td></tr>
+    <tr><td class="paramname">NP</td><td></td></tr>
+    <tr><td class="paramname">INDX</td><td></td></tr>
+    <tr><td class="paramname">B</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="lapack__gen_8F_source.html#l00016">16</a> of file <a class="el" href="lapack__gen_8F_source.html">lapack_gen.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="splat_8F_source.html#l00046">splat()</a>.</p>
+
+</div>
+</div>
+<a id="a2af64d5edd49c8f4dcdfdd21235de781"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2af64d5edd49c8f4dcdfdd21235de781">&#9670;&nbsp;</a></span>ludcmp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ludcmp </td>
+          <td>(</td>
+          <td class="paramtype">real, dimension(np,np)&#160;</td>
+          <td class="paramname"><em>A</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(n)&#160;</td>
+          <td class="paramname"><em>INDX</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Replaces an NxN matrix a with the LU decomposition. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">A</td><td></td></tr>
+    <tr><td class="paramname">N</td><td></td></tr>
+    <tr><td class="paramname">NP</td><td></td></tr>
+    <tr><td class="paramname">INDX</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="lapack__gen_8F_source.html#l00051">51</a> of file <a class="el" href="lapack__gen_8F_source.html">lapack_gen.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="splat_8F_source.html#l00046">splat()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="lapack__gen_8F.html">lapack_gen.F</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/lapack__gen_8F.js b/lapack__gen_8F.js
new file mode 100644
index 00000000..b6671cae
--- /dev/null
+++ b/lapack__gen_8F.js
@@ -0,0 +1,5 @@
+var lapack__gen_8F =
+[
+    [ "lubksb", "lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547", null ],
+    [ "ludcmp", "lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781", null ]
+];
\ No newline at end of file
diff --git a/lapack__gen_8F_source.html b/lapack__gen_8F_source.html
new file mode 100644
index 00000000..27da7a3f
--- /dev/null
+++ b/lapack__gen_8F_source.html
@@ -0,0 +1,217 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: lapack_gen.F Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('lapack__gen_8F_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">lapack_gen.F</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="lapack__gen_8F.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Two Numerical Recipes routines for matrix inversion From Numerical Recipes.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 2012-11-05 | E.Mirvis | separated this generic LU from the splat.F</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; Solves a system of linear equations, follows call to ludcmp().</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @param A</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @param N</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; @param NP</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; @param INDX</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; @param B</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">   16</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">lubksb</a>(A,N,NP,INDX,B)</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="keywordtype">      REAL</span> A(NP,NP),B(N)</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;      <span class="keywordtype">INTEGER</span> INDX(N)</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;      ii=0  </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;      <span class="keywordflow">DO</span> 12 i=1,n</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;        ll=indx(i)</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        sum=b(ll)</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        b(ll)=b(i)</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        <span class="keywordflow">IF</span> (ii.NE.0)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;          <span class="keywordflow">DO</span> 11 j=ii,i-1</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;            sum=sum-a(i,j)*b(j)</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;   11     <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        <span class="keywordflow">ELSE</span> <span class="keywordflow">IF</span> (sum.NE.0.) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;          ii=i</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        b(i)=sum</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;   12 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;      <span class="keywordflow">DO</span> 14 i=n,1,-1  </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        sum=b(i)</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keywordflow">IF</span>(i.LT.n)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;          <span class="keywordflow">DO</span> 13 j=i+1,n</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;            sum=sum-a(i,j)*b(j)</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;   13 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        b(i)=sum/a(i,i)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;   14 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keyword">END</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; Replaces an NxN matrix a with the LU decomposition.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param A</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param N</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param NP</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @param INDX</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">   51</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">ludcmp</a>(A,N,NP,INDX)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C      PARAMETER (NMAX=400,TINY=1.0E-20)</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      parameter(tiny=1.0e-20)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C==EM==^^^</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">      REAL</span> A(NP,NP),VV(N),D</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C     REAL A(NP,NP),VV(NMAX),D</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C==EM==^^^</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keywordtype">INTEGER</span> INDX(N)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      d=1.  </div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keywordflow">DO</span> 12 i=1,n</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        aamax=0.</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keywordflow">DO</span> 11 j=1,n</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;          <span class="keywordflow">IF</span> (abs(a(i,j)).GT.aamax) aamax=abs(a(i,j))</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;   11   <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        <span class="keywordflow">IF</span> (aamax.EQ.0.) print *, <span class="stringliteral">&#39;SINGULAR MATRIX.&#39;</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        vv(i)=1./aamax</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;   12 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keywordflow">DO</span> 19 j=1,n</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keywordflow">IF</span> (j.GT.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;          <span class="keywordflow">DO</span> 14 i=1,j-1</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;            sum=a(i,j)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;            <span class="keywordflow">IF</span> (i.GT.1)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;              <span class="keywordflow">DO</span> 13 k=1,i-1</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                sum=sum-a(i,k)*a(k,j)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;   13         <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;              a(i,j)=sum</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;   14     <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        aamax=0.</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keywordflow">DO</span> 16 i=j,n</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;          sum=a(i,j)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;          <span class="keywordflow">IF</span> (j.GT.1)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;            <span class="keywordflow">DO</span> 15 k=1,j-1</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;              sum=sum-a(i,k)*a(k,j)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;   15       <span class="keywordflow">CONTINUE</span>  </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;            a(i,j)=sum</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;          dum=vv(i)*abs(sum)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;          <span class="keywordflow">IF</span> (dum.GE.aamax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;            imax=i</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;            aamax=dum</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;   16   <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordflow">IF</span> (j.NE.imax)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;          <span class="keywordflow">DO</span> 17 k=1,n</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;            dum=a(imax,k)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;            a(imax,k)=a(j,k)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;            a(j,k)=dum</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;   17     <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;          d=-d</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;          vv(imax)=vv(j)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        indx(j)=imax</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keywordflow">IF</span>(j.NE.n)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;          <span class="keywordflow">IF</span>(a(j,j).EQ.0.)a(j,j)=tiny</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;          dum=1./a(j,j)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;          <span class="keywordflow">DO</span> 18 i=j+1,n</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;            a(i,j)=a(i,j)*dum</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;   18     <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;   19 <span class="keywordflow">CONTINUE</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keywordflow">IF</span>(a(n,n).EQ.0.)a(n,n)=tiny</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="alapack__gen_8F_html_a2af64d5edd49c8f4dcdfdd21235de781"><div class="ttname"><a href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">ludcmp</a></div><div class="ttdeci">subroutine ludcmp(A, N, NP, INDX)</div><div class="ttdoc">Replaces an NxN matrix a with the LU decomposition.</div><div class="ttdef"><b>Definition:</b> <a href="lapack__gen_8F_source.html#l00051">lapack_gen.F:52</a></div></div>
+<div class="ttc" id="alapack__gen_8F_html_a3c6b581386390037e8c04c238a208547"><div class="ttname"><a href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">lubksb</a></div><div class="ttdeci">subroutine lubksb(A, N, NP, INDX, B)</div><div class="ttdoc">Solves a system of linear equations, follows call to ludcmp().</div><div class="ttdef"><b>Definition:</b> <a href="lapack__gen_8F_source.html#l00016">lapack_gen.F:17</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="lapack__gen_8F.html">lapack_gen.F</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/menudata.js b/menudata.js
index 85da8757..a7ca6073 100644
--- a/menudata.js
+++ b/menudata.js
@@ -117,5 +117,23 @@ var menudata={children:[
 {text:"Files",url:"files.html",children:[
 {text:"File List",url:"files.html"},
 {text:"Globals",url:"globals.html",children:[
-{text:"All",url:"globals.html"},
-{text:"Functions/Subroutines",url:"globals_func.html"}]}]}]}
+{text:"All",url:"globals.html",children:[
+{text:"c",url:"globals.html#index_c"},
+{text:"d",url:"globals.html#index_d"},
+{text:"g",url:"globals.html#index_g"},
+{text:"i",url:"globals.html#index_i"},
+{text:"l",url:"globals.html#index_l"},
+{text:"m",url:"globals.html#index_m"},
+{text:"n",url:"globals.html#index_n"},
+{text:"r",url:"globals.html#index_r"},
+{text:"s",url:"globals.html#index_s"}]},
+{text:"Functions/Subroutines",url:"globals_func.html",children:[
+{text:"c",url:"globals_func.html#index_c"},
+{text:"d",url:"globals_func.html#index_d"},
+{text:"g",url:"globals_func.html#index_g"},
+{text:"i",url:"globals_func.html#index_i"},
+{text:"l",url:"globals_func.html#index_l"},
+{text:"m",url:"globals_func.html#index_m"},
+{text:"n",url:"globals_func.html#index_n"},
+{text:"r",url:"globals_func.html#index_r"},
+{text:"s",url:"globals_func.html#index_s"}]}]}]}]}
diff --git a/movect_8F90.html b/movect_8F90.html
index c2faf1e3..3a2082cf 100644
--- a/movect_8F90.html
+++ b/movect_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -159,7 +159,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a5974e32c0cf90a65b39c6846
 
 <p>This subprogram provides the rotation parameters to move a vector along a great circle from one position to another while conserving its orientation with respect to the great circle. </p>
 <p>These rotation parameters are useful for vector interpolation.</p>
-<h3><a class="anchor" id="autotoc_md37"></a>
+<h3><a class="anchor" id="autotoc_md42"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/movect_8F90_source.html b/movect_8F90_source.html
index da72283e..2c97f142 100644
--- a/movect_8F90_source.html
+++ b/movect_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespacebicubic__interp__mod.html b/namespacebicubic__interp__mod.html
index 6d521e2f..ce6b0c0b 100644
--- a/namespacebicubic__interp__mod.html
+++ b/namespacebicubic__interp__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespacebilinear__interp__mod.html b/namespacebilinear__interp__mod.html
index 73800708..fffc133a 100644
--- a/namespacebilinear__interp__mod.html
+++ b/namespacebilinear__interp__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespacebudget__interp__mod.html b/namespacebudget__interp__mod.html
index eecf6611..476df923 100644
--- a/namespacebudget__interp__mod.html
+++ b/namespacebudget__interp__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceearth__radius__mod.html b/namespaceearth__radius__mod.html
index 810cc8e4..b1bf98b5 100644
--- a/namespaceearth__radius__mod.html
+++ b/namespaceearth__radius__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespacegdswzd__c__mod.html b/namespacegdswzd__c__mod.html
index 7a314192..390ab7c6 100644
--- a/namespacegdswzd__c__mod.html
+++ b/namespacegdswzd__c__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -230,7 +230,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ae3026381f7f41561507c97c9
 
 <p>C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>. </p>
 <p>Use this routine to call <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> from a C or C++ program. Takes advantage of the fortran/c interoperability standard.</p>
-<h3><a class="anchor" id="autotoc_md13"></a>
+<h3><a class="anchor" id="autotoc_md17"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -240,7 +240,7 @@ <h3><a class="anchor" id="autotoc_md13"></a>
 <tr class="markdownTableRowEven">
 <td class="markdownTableBodyNone">2016-04-26   </td><td class="markdownTableBodyNone">G. Gayno   </td><td class="markdownTableBodyNone">update for grib 2   </td></tr>
 </table>
-<h3><a class="anchor" id="autotoc_md14"></a>
+<h3><a class="anchor" id="autotoc_md18"></a>
 Example: Mixed precsion iplib call</h3>
 <div class="fragment"><div class="line">include <span class="stringliteral">&quot;iplib.h&quot;</span></div>
 <div class="line"> </div>
@@ -496,7 +496,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a06861f1403edf106bb3b399c
 
 <p>C wrapper for routine gdswzd. </p>
 <p>Use this routine to call 'gdswzd' from a C or C++ program. Takes advantage of the fortran/c interoperability standard.</p>
-<h3><a class="anchor" id="autotoc_md15"></a>
+<h3><a class="anchor" id="autotoc_md19"></a>
 Example: mixed precsion iplib call</h3>
 <div class="fragment"><div class="line">include <span class="stringliteral">&quot;iplib.h&quot;</span></div>
 <div class="line"> </div>
diff --git a/namespacegdswzd__mod.html b/namespacegdswzd__mod.html
index f0d0ad58..575bbdfa 100644
--- a/namespacegdswzd__mod.html
+++ b/namespacegdswzd__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceip__constants__mod.html b/namespaceip__constants__mod.html
index 39278cdd..79a4a28d 100644
--- a/namespaceip__constants__mod.html
+++ b/namespaceip__constants__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceip__equid__cylind__grid__mod.html b/namespaceip__equid__cylind__grid__mod.html
index 9c710dbd..e6594ba1 100644
--- a/namespaceip__equid__cylind__grid__mod.html
+++ b/namespaceip__equid__cylind__grid__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceip__gaussian__grid__mod.html b/namespaceip__gaussian__grid__mod.html
index fc7434c8..e20fd909 100644
--- a/namespaceip__gaussian__grid__mod.html
+++ b/namespaceip__gaussian__grid__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -480,7 +480,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a6eefd9270b3f9bb2c59a77be
 
 <p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00194">194</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
 
-<p class="reference">References <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00045">blat</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00046">dlon</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00417">gaussian_grid_area()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00397">gaussian_map_jacob()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00377">gaussian_vect_rot()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00043">j1</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00044">jh</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00047">rerth</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00048">ylat_row</a>.</p>
+<p class="reference">References <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00045">blat</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00046">dlon</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00417">gaussian_grid_area()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00397">gaussian_map_jacob()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00377">gaussian_vect_rot()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00043">j1</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00044">jh</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00047">rerth</a>, <a class="el" href="splat_8F_source.html#l00046">splat()</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00048">ylat_row</a>.</p>
 
 </div>
 </div>
diff --git a/namespaceip__grid__descriptor__mod.html b/namespaceip__grid__descriptor__mod.html
index ba404116..a4b1eb04 100644
--- a/namespaceip__grid__descriptor__mod.html
+++ b/namespaceip__grid__descriptor__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceip__grid__factory__mod.html b/namespaceip__grid__factory__mod.html
index 0ee802a3..2e7a0f3f 100644
--- a/namespaceip__grid__factory__mod.html
+++ b/namespaceip__grid__factory__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceip__grid__mod.html b/namespaceip__grid__mod.html
index 3b0febab..a6e82a46 100644
--- a/namespaceip__grid__mod.html
+++ b/namespaceip__grid__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceip__grids__mod.html b/namespaceip__grids__mod.html
index fa7bb2c4..3d5fb472 100644
--- a/namespaceip__grids__mod.html
+++ b/namespaceip__grids__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceip__interpolators__mod.html b/namespaceip__interpolators__mod.html
index 1b103927..d841f0af 100644
--- a/namespaceip__interpolators__mod.html
+++ b/namespaceip__interpolators__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceip__lambert__conf__grid__mod.html b/namespaceip__lambert__conf__grid__mod.html
index a0a69117..ac6c941d 100644
--- a/namespaceip__lambert__conf__grid__mod.html
+++ b/namespaceip__lambert__conf__grid__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -275,7 +275,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a5ebb9e4f1bd58caa254771b3
 <p>The actual number of valid points computed is returned too.</p>
 <p>Optionally, the vector rotations, map jacobians and grid box areas for this grid may be returned as well.</p>
 <p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present. To compute the grid box areas the optional argument 'area' must be present.</p>
-<h3><a class="anchor" id="autotoc_md16"></a>
+<h3><a class="anchor" id="autotoc_md20"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -480,7 +480,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a15c44b47172b926aea840cae
 
 <p>Grid box area for lambert conformal conical. </p>
 <p>This subprogram computes the grid box area for a lambert conformal conical grid.</p>
-<h3><a class="anchor" id="autotoc_md19"></a>
+<h3><a class="anchor" id="autotoc_md23"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -584,7 +584,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a5e1d42f0027236f47467e25c
 
 <p>Map jacobians for lambert conformal conical. </p>
 <p>This subprogram computes the map jacobians for a lambert conformal conical grid.</p>
-<h3><a class="anchor" id="autotoc_md18"></a>
+<h3><a class="anchor" id="autotoc_md22"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -662,7 +662,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a58187073914efa18eca897c6
 
 <p>Vector rotation fields for lambert conformal conical. </p>
 <p>This subprogram computes the vector rotation sines and cosines for a lambert conformal conical grid.</p>
-<h3><a class="anchor" id="autotoc_md17"></a>
+<h3><a class="anchor" id="autotoc_md21"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/namespaceip__mercator__grid__mod.html b/namespaceip__mercator__grid__mod.html
index 8fbeb895..cc370ce9 100644
--- a/namespaceip__mercator__grid__mod.html
+++ b/namespaceip__mercator__grid__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -265,7 +265,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#acc39017fa51125972ab8e755
 <p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values.</p>
 <p>The actual number of valid points computed is returned too.</p>
 <p>Optionally, the vector rotations, map jacobians and the grid box areas may be returned. To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present. to compute the grid box areas, the optional argument 'area' must be present.</p>
-<h3><a class="anchor" id="autotoc_md20"></a>
+<h3><a class="anchor" id="autotoc_md24"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -455,7 +455,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a952ab9add18587c4dbe54699
 
 <p>Grid box area for mercator cylindrical grids. </p>
 <p>This subprogram computes the grid box area for a mercator cylindrical grid.</p>
-<h3><a class="anchor" id="autotoc_md23"></a>
+<h3><a class="anchor" id="autotoc_md27"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -537,7 +537,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ab93a0a6ae8c5f5056abece1d
 
 <p>Map jacobians for mercator cylindrical grids. </p>
 <p>This subprogram computes the map jacobians for a mercator cylindrical grid.</p>
-<h3><a class="anchor" id="autotoc_md22"></a>
+<h3><a class="anchor" id="autotoc_md26"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -604,7 +604,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#aea5e18faf7a18bf8d06c87cc
 
 <p>Vector rotation fields for mercator cylindrical grids. </p>
 <p>This subprogram computes the vector rotation sines and cosines for a mercator cylindrical grid.</p>
-<h3><a class="anchor" id="autotoc_md21"></a>
+<h3><a class="anchor" id="autotoc_md25"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/namespaceip__mod.html b/namespaceip__mod.html
index 7068e2ce..3cb942a8 100644
--- a/namespaceip__mod.html
+++ b/namespaceip__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceip__polar__stereo__grid__mod.html b/namespaceip__polar__stereo__grid__mod.html
index bd67cccd..a5fcef8b 100644
--- a/namespaceip__polar__stereo__grid__mod.html
+++ b/namespaceip__polar__stereo__grid__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -281,7 +281,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ae2694d90ab514a131e083dfb
 <p>The actual number of valid points computed is returned too.</p>
 <p>Optionally, the vector rotations, map jacobians, and grid box areas may be returned as well. Routine works for both spherical and elliptical earths with the exception of the map jacobians and grid box areas, which are only computed for spherical earths.</p>
 <p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present. to compute the grid box areas, the optional argument 'area' must be present.</p>
-<h3><a class="anchor" id="autotoc_md24"></a>
+<h3><a class="anchor" id="autotoc_md28"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -477,7 +477,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a2a2e0854e5c129e320924a81
 
 <p>Grid box area for polar stereographic grids. </p>
 <p>This subprogram computes the grid box area for a polar stereographic azimuthal grid (spherical earth).</p>
-<h3><a class="anchor" id="autotoc_md27"></a>
+<h3><a class="anchor" id="autotoc_md31"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -574,7 +574,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a386933f7e52c348b9d742df4
 
 <p>Map jacobians for polar stereographic grids. </p>
 <p>This subprogram computes the map jacobians for a polar stereographic azimuthal grid (spherical earth).</p>
-<h3><a class="anchor" id="autotoc_md26"></a>
+<h3><a class="anchor" id="autotoc_md30"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -651,7 +651,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#abe4d416201e986421a8e325a
 
 <p>Vector rotation fields for polar stereographic grids. </p>
 <p>This subprogram computes the vector rotation sines and cosines for a polar stereographic azimuthal grid.</p>
-<h3><a class="anchor" id="autotoc_md25"></a>
+<h3><a class="anchor" id="autotoc_md29"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/namespaceip__rot__equid__cylind__egrid__mod.html b/namespaceip__rot__equid__cylind__egrid__mod.html
index fd89329c..d915781d 100644
--- a/namespaceip__rot__equid__cylind__egrid__mod.html
+++ b/namespaceip__rot__equid__cylind__egrid__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -499,7 +499,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a69d4e473a1a276b855d37518
 
 <p>Error handler. </p>
 <p>UPON AN ERROR, THIS SUBPROGRAM ASSIGNS A "FILL" VALUE TO THE OUTPUT FIELDS.</p>
-<h3><a class="anchor" id="autotoc_md28"></a>
+<h3><a class="anchor" id="autotoc_md32"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/namespaceip__rot__equid__cylind__grid__mod.html b/namespaceip__rot__equid__cylind__grid__mod.html
index 7a91adb6..051956df 100644
--- a/namespaceip__rot__equid__cylind__grid__mod.html
+++ b/namespaceip__rot__equid__cylind__grid__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -285,7 +285,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a55c153201e15205d3f75e4ff
 <p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. The actual number of valid points computed is returned too.</p>
 <p>Optionally, the vector rotations, the map jacobians and the grid box areas may be returned as well.</p>
 <p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present. To compute the grid box areas, the optional argument 'area' must be present.</p>
-<h3><a class="anchor" id="autotoc_md29"></a>
+<h3><a class="anchor" id="autotoc_md33"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -566,7 +566,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ad8f1133eb6809705c1533713
 
 <p>Grid box area for rotated equidistant cylindrical grids - non "e" stagger. </p>
 <p>This subprogram computes the grid box area for a rotated equidistant cylindrical grid - non "e" stagger.</p>
-<h3><a class="anchor" id="autotoc_md32"></a>
+<h3><a class="anchor" id="autotoc_md36"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -681,7 +681,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a985f1dc1a20444cef706d4bb
 
 <p>Map jacobians for rotated equidistant cylindrical grids - non "e" stagger. </p>
 <p>This subprogram computes the map jacobians for a rotated equidistant cylindrical grid - non "e" stagger.</p>
-<h3><a class="anchor" id="autotoc_md31"></a>
+<h3><a class="anchor" id="autotoc_md35"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -791,7 +791,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a3de472bfc18740a7d985f560
 
 <p>Vector rotation fields for rotated equidistant cylindrical grids - non "e" stagger. </p>
 <p>This subprogram computes the vector rotation sines and cosines for a rotated equidistant cylindrical grid - non "e" stagger.</p>
-<h3><a class="anchor" id="autotoc_md30"></a>
+<h3><a class="anchor" id="autotoc_md34"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/namespaceip__station__points__grid__mod.html b/namespaceip__station__points__grid__mod.html
index 074ed062..23293523 100644
--- a/namespaceip__station__points__grid__mod.html
+++ b/namespaceip__station__points__grid__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceipolates__mod.html b/namespaceipolates__mod.html
index 34a11690..6dba49f4 100644
--- a/namespaceipolates__mod.html
+++ b/namespaceipolates__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceipolatev__mod.html b/namespaceipolatev__mod.html
index 90b6cd79..44c15be2 100644
--- a/namespaceipolatev__mod.html
+++ b/namespaceipolatev__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespacemembers.html b/namespacemembers.html
index 9c577c78..99518c42 100644
--- a/namespacemembers.html
+++ b/namespacemembers.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespacemembers_func.html b/namespacemembers_func.html
index cf4c8b94..0e260cab 100644
--- a/namespacemembers_func.html
+++ b/namespacemembers_func.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespacemembers_vars.html b/namespacemembers_vars.html
index cde6b34d..9cca1272 100644
--- a/namespacemembers_vars.html
+++ b/namespacemembers_vars.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaceneighbor__budget__interp__mod.html b/namespaceneighbor__budget__interp__mod.html
index ddbfd79a..2e5f041b 100644
--- a/namespaceneighbor__budget__interp__mod.html
+++ b/namespaceneighbor__budget__interp__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -245,7 +245,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a6d5110a9e9facf8c3132ec27
 <li>(igdtnumi/o=40) gaussian cylindrical</li>
 </ul>
 <p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. Input bitmaps will be interpolated to output bitmaps. Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
-<h3><a class="anchor" id="autotoc_md38"></a>
+<h3><a class="anchor" id="autotoc_md44"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -459,7 +459,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a4309c1e6b7fc60ded40657fe
 <p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
 <p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. Input bitmaps will be interpolated to output bitmaps.</p>
 <p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
-<h3><a class="anchor" id="autotoc_md39"></a>
+<h3><a class="anchor" id="autotoc_md45"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/namespaceneighbor__interp__mod.html b/namespaceneighbor__interp__mod.html
index c31d3b14..9df3b95f 100644
--- a/namespaceneighbor__interp__mod.html
+++ b/namespaceneighbor__interp__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -109,7 +109,7 @@
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Interpolate scalar fields (neighbor). </p>
-<h3><a class="anchor" id="autotoc_md40"></a>
+<h3><a class="anchor" id="autotoc_md46"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/namespacepolfix__mod.html b/namespacepolfix__mod.html
index 80d69a4f..e024eb14 100644
--- a/namespacepolfix__mod.html
+++ b/namespacepolfix__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespaces.html b/namespaces.html
index 07b3531a..8a405406 100644
--- a/namespaces.html
+++ b/namespaces.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/namespacespectral__interp__mod.html b/namespacespectral__interp__mod.html
index 22d5d20a..62bdfd7a 100644
--- a/namespacespectral__interp__mod.html
+++ b/namespacespectral__interp__mod.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -563,7 +563,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ab9fb87d87f2f9d578a5ade6b
 <li>kgds(1) = 205 rotated equidistant cylindrical (b-stagger)</li>
 </ul>
 <p>Where kgds could be either input kgdsi or output kgdso. As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input. Output bitmaps will not be created.</p>
-<h3><a class="anchor" id="autotoc_md42"></a>
+<h3><a class="anchor" id="autotoc_md49"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -758,7 +758,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a54dfd0ea8368242a1053d647
 <li>igdtnumi/o = 40 gaussian cylindrical</li>
 </ul>
 <p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo &lt; 0, in which case the number of points and their latitudes and longitudes must be input. Output bitmaps will not be created.</p>
-<h3><a class="anchor" id="autotoc_md41"></a>
+<h3><a class="anchor" id="autotoc_md48"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -970,7 +970,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#af4ce7638750e787dd69c7fe3
 <p>Where kgds could be either input kgdsi or output kgdso.</p>
 <p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections. As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
 <p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
-<h3><a class="anchor" id="autotoc_md44"></a>
+<h3><a class="anchor" id="autotoc_md51"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
@@ -1196,7 +1196,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a2f76e9900554d90753ca788c
 <p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
 <p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
 <p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
-<h3><a class="anchor" id="autotoc_md43"></a>
+<h3><a class="anchor" id="autotoc_md50"></a>
 Program History Log</h3>
 <table class="markdownTable">
 <tr class="markdownTableHead">
diff --git a/navtreedata.js b/navtreedata.js
index 9a17bc2d..3e62902a 100644
--- a/navtreedata.js
+++ b/navtreedata.js
@@ -25,21 +25,28 @@
 var NAVTREE =
 [
   [ "NCEPLIBS-ip", "index.html", [
-    [ "Modules", "namespaces.html", [
-      [ "Introduction", "index.html#autotoc_md0", null ],
+    [ "Introduction", "index.html", [
       [ "Interpolation", "index.html#autotoc_md1", [
-        [ "Bilinear Interpolation", "index.html#autotoc_md2", null ],
-        [ "Bicubic Interpolation", "index.html#autotoc_md3", null ],
-        [ "Neighbor Interpolation", "index.html#autotoc_md4", null ],
-        [ "Budget interpolation", "index.html#autotoc_md5", null ],
-        [ "Spectral Interpolation", "index.html#autotoc_md6", null ],
-        [ "Neighbor-Budget Interpolation", "index.html#autotoc_md7", null ]
+        [ "Interpolation Methods", "index.html#autotoc_md2", [
+          [ "Bilinear Interpolation Method", "index.html#autotoc_md3", null ],
+          [ "Bicubic Interpolation Method", "index.html#autotoc_md4", null ],
+          [ "Neighbor Interpolation Method", "index.html#autotoc_md5", null ],
+          [ "Budget Interpolation Method", "index.html#autotoc_md6", null ],
+          [ "Spectral Interpolation Method", "index.html#autotoc_md7", null ],
+          [ "Neighbor-Budget Interpolation Method", "index.html#autotoc_md8", null ]
+        ] ],
+        [ "Vectors and Scalars", "index.html#autotoc_md9", null ],
+        [ "Grids", "index.html#autotoc_md10", null ],
+        [ "Return Codes", "index.html#autotoc_md11", null ],
+        [ "Entry point list: interpolation", "index.html#autotoc_md12", null ]
+      ] ],
+      [ "Spectral Transformation & Processing", "index.html#autotoc_md13", [
+        [ "Entry Point List: Spectral Interpolation & Transformation", "index.html#autotoc_md14", null ]
       ] ],
-      [ "Vectors and Scalars", "index.html#autotoc_md8", null ],
-      [ "Grids", "index.html#autotoc_md9", null ],
-      [ "Return Codes", "index.html#autotoc_md10", null ],
-      [ "Entry point list", "index.html#autotoc_md11", null ],
-      [ "How to invoke ip2lib: examples", "index.html#autotoc_md12", null ],
+      [ "Examples: Interpolation Routines", "index.html#autotoc_md15", null ],
+      [ "Examples: Spectral Processing & Transformation", "index.html#autotoc_md16", null ]
+    ] ],
+    [ "Modules", "namespaces.html", [
       [ "Modules List", "namespaces.html", "namespaces_dup" ],
       [ "Module Members", "namespacemembers.html", [
         [ "All", "namespacemembers.html", null ],
@@ -69,9 +76,9 @@ var NAVTREE =
 var NAVTREEINDEX =
 [
 "annotated.html",
-"ip__rot__equid__cylind__grid__mod_8F90.html#ab43075e39d4e2dde4110e608931a392d",
-"namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0",
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e"
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a134acf8ab7f40ff49ce8e03daad900e6",
+"namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197",
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44"
 ];
 
 var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/navtreeindex0.js b/navtreeindex0.js
index 5caa36f2..0457b05c 100644
--- a/navtreeindex0.js
+++ b/navtreeindex0.js
@@ -1,253 +1,253 @@
 var NAVTREEINDEX0 =
 {
-"annotated.html":[1,0],
-"bicubic__interp__mod_8F90.html":[2,0,0],
-"bicubic__interp__mod_8F90.html#a54a442e47f1be9511c1684a337d7e2d1":[2,0,0,1],
-"bicubic__interp__mod_8F90.html#a9d27db7d350fc2699aaf5057c3b53d16":[2,0,0,2],
-"bicubic__interp__mod_8F90_source.html":[2,0,0],
-"bilinear__interp__mod_8F90.html":[2,0,1],
-"bilinear__interp__mod_8F90.html#a34d2eea4682104097dccf3e7ab6a9398":[2,0,1,1],
-"bilinear__interp__mod_8F90.html#abc218f8774d2af09299eb299d6f38e04":[2,0,1,2],
-"bilinear__interp__mod_8F90_source.html":[2,0,1],
-"budget__interp__mod_8F90.html":[2,0,2],
-"budget__interp__mod_8F90.html#a09bd6535b0c2e1022cfde39c39d14466":[2,0,2,1],
-"budget__interp__mod_8F90.html#abc99486ee9c0091c1514af6114d4e803":[2,0,2,2],
-"budget__interp__mod_8F90_source.html":[2,0,2],
-"earth__radius__mod_8F90.html":[2,0,3],
-"earth__radius__mod_8F90.html#a810f60db1a1faff0d6f59937a8207a54":[2,0,3,0],
-"earth__radius__mod_8F90_source.html":[2,0,3],
-"files.html":[2,0],
-"functions.html":[1,2,0],
-"functions_func.html":[1,2,1],
-"functions_vars.html":[1,2,2],
-"gdswzd__c_8F90.html":[2,0,4],
-"gdswzd__c_8F90.html#a06861f1403edf106bb3b399c39981504":[2,0,4,1],
-"gdswzd__c_8F90.html#ae3026381f7f41561507c97c9125d24e4":[2,0,4,0],
-"gdswzd__c_8F90_source.html":[2,0,4],
-"gdswzd__mod_8F90.html":[2,0,5],
-"gdswzd__mod_8F90.html#a133e040fac8dd56e607b8e3fb6a58c37":[2,0,5,4],
-"gdswzd__mod_8F90.html#a584d2bddbc6d857b80cfac5e3b288d45":[2,0,5,5],
-"gdswzd__mod_8F90.html#aa032a55281b18e208630a730679958f4":[2,0,5,3],
-"gdswzd__mod_8F90.html#aba3235c5bc5797e72b9a6a8a587b8861":[2,0,5,6],
-"gdswzd__mod_8F90.html#ac304e2b046eccc701e24827c81107e76":[2,0,5,1],
-"gdswzd__mod_8F90.html#acdf970e498e9317522fbdfb690b86e25":[2,0,5,2],
-"gdswzd__mod_8F90_source.html":[2,0,5],
-"globals.html":[2,1,0],
-"globals_func.html":[2,1,1],
-"hierarchy.html":[1,1],
+"annotated.html":[2,0],
+"bicubic__interp__mod_8F90.html":[3,0,0],
+"bicubic__interp__mod_8F90.html#a54a442e47f1be9511c1684a337d7e2d1":[3,0,0,1],
+"bicubic__interp__mod_8F90.html#a9d27db7d350fc2699aaf5057c3b53d16":[3,0,0,2],
+"bicubic__interp__mod_8F90_source.html":[3,0,0],
+"bilinear__interp__mod_8F90.html":[3,0,1],
+"bilinear__interp__mod_8F90.html#a34d2eea4682104097dccf3e7ab6a9398":[3,0,1,1],
+"bilinear__interp__mod_8F90.html#abc218f8774d2af09299eb299d6f38e04":[3,0,1,2],
+"bilinear__interp__mod_8F90_source.html":[3,0,1],
+"budget__interp__mod_8F90.html":[3,0,2],
+"budget__interp__mod_8F90.html#a09bd6535b0c2e1022cfde39c39d14466":[3,0,2,1],
+"budget__interp__mod_8F90.html#abc99486ee9c0091c1514af6114d4e803":[3,0,2,2],
+"budget__interp__mod_8F90_source.html":[3,0,2],
+"earth__radius__mod_8F90.html":[3,0,3],
+"earth__radius__mod_8F90.html#a810f60db1a1faff0d6f59937a8207a54":[3,0,3,0],
+"earth__radius__mod_8F90_source.html":[3,0,3],
+"fftpack_8F.html":[3,0,4],
+"fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1":[3,0,4,6],
+"fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33":[3,0,4,19],
+"fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef":[3,0,4,5],
+"fftpack_8F.html#a50f1237ff5990436609962c0eae406db":[3,0,4,17],
+"fftpack_8F.html#a51374398f8edd5701987ce483c739592":[3,0,4,9],
+"fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8":[3,0,4,2],
+"fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014":[3,0,4,4],
+"fftpack_8F.html#a6d852c36924b038f77a24b8e22205add":[3,0,4,11],
+"fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6":[3,0,4,8],
+"fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225":[3,0,4,1],
+"fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88":[3,0,4,13],
+"fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36":[3,0,4,20],
+"fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09":[3,0,4,16],
+"fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742":[3,0,4,21],
+"fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5":[3,0,4,0],
+"fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2":[3,0,4,12],
+"fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b":[3,0,4,18],
+"fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda":[3,0,4,3],
+"fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486":[3,0,4,10],
+"fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b":[3,0,4,7],
+"fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066":[3,0,4,14],
+"fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2":[3,0,4,15],
+"fftpack_8F_source.html":[3,0,4],
+"files.html":[3,0],
+"functions.html":[2,2,0],
+"functions_func.html":[2,2,1],
+"functions_vars.html":[2,2,2],
+"gdswzd__c_8F90.html":[3,0,5],
+"gdswzd__c_8F90.html#a06861f1403edf106bb3b399c39981504":[3,0,5,1],
+"gdswzd__c_8F90.html#ae3026381f7f41561507c97c9125d24e4":[3,0,5,0],
+"gdswzd__c_8F90_source.html":[3,0,5],
+"gdswzd__mod_8F90.html":[3,0,6],
+"gdswzd__mod_8F90.html#a133e040fac8dd56e607b8e3fb6a58c37":[3,0,6,4],
+"gdswzd__mod_8F90.html#a584d2bddbc6d857b80cfac5e3b288d45":[3,0,6,5],
+"gdswzd__mod_8F90.html#aa032a55281b18e208630a730679958f4":[3,0,6,3],
+"gdswzd__mod_8F90.html#aba3235c5bc5797e72b9a6a8a587b8861":[3,0,6,6],
+"gdswzd__mod_8F90.html#ac304e2b046eccc701e24827c81107e76":[3,0,6,1],
+"gdswzd__mod_8F90.html#acdf970e498e9317522fbdfb690b86e25":[3,0,6,2],
+"gdswzd__mod_8F90_source.html":[3,0,6],
+"globals.html":[3,1,0],
+"globals_func.html":[3,1,1],
+"hierarchy.html":[2,1],
+"index.html":[0],
 "index.html":[],
-"index.html#autotoc_md0":[0],
-"index.html#autotoc_md1":[1],
-"index.html#autotoc_md10":[4],
-"index.html#autotoc_md11":[5],
-"index.html#autotoc_md12":[6],
-"index.html#autotoc_md2":[1,0],
-"index.html#autotoc_md3":[1,1],
-"index.html#autotoc_md4":[1,2],
-"index.html#autotoc_md5":[1,3],
-"index.html#autotoc_md6":[1,4],
-"index.html#autotoc_md7":[1,5],
-"index.html#autotoc_md8":[2],
-"index.html#autotoc_md9":[3],
-"interfacebicubic__interp__mod_1_1interpolate__bicubic.html":[1,0,0,0],
-"interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b":[1,0,0,0,1],
-"interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077":[1,0,0,0,0],
-"interfacebilinear__interp__mod_1_1interpolate__bilinear.html":[1,0,1,0],
-"interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65":[1,0,1,0,0],
-"interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd":[1,0,1,0,1],
-"interfacebudget__interp__mod_1_1interpolate__budget.html":[1,0,2,0],
-"interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0":[1,0,2,0,0],
-"interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6":[1,0,2,0,1],
-"interfacegdswzd__mod_1_1gdswzd.html":[1,0,3,0],
-"interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd":[1,0,3,0,5],
-"interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a":[1,0,3,0,3],
-"interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5":[1,0,3,0,2],
-"interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31":[1,0,3,0,1],
-"interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16":[1,0,3,0,4],
-"interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b":[1,0,3,0,0],
-"interfaceip__grid__descriptor__mod_1_1init__descriptor.html":[1,0,6,2],
-"interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e":[1,0,6,2,0],
-"interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c":[1,0,6,2,1],
-"interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html":[1,0,6,4],
-"interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c":[1,0,6,4,0],
-"interfaceip__grid__factory__mod_1_1init__grid.html":[1,0,7,0],
-"interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72":[1,0,7,0,0],
-"interfaceip__grid__mod_1_1gdswzd__interface.html":[1,0,8,0],
-"interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369":[1,0,8,0,0],
-"interfaceip__grid__mod_1_1init__grib1__interface.html":[1,0,8,1],
-"interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb":[1,0,8,1,0],
-"interfaceip__grid__mod_1_1init__grib2__interface.html":[1,0,8,2],
-"interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c":[1,0,8,2,0],
-"interfaceip__grid__mod_1_1operator_07_0a_0a_08.html":[1,0,8,4],
-"interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b":[1,0,8,4,0],
-"interfaceipolates__mod_1_1ipolates.html":[1,0,15,0],
-"interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240":[1,0,15,0,3],
-"interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b":[1,0,15,0,2],
-"interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b":[1,0,15,0,0],
-"interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d":[1,0,15,0,1],
-"interfaceipolatev__mod_1_1ipolatev.html":[1,0,16,0],
-"interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd":[1,0,16,0,3],
-"interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe":[1,0,16,0,2],
-"interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53":[1,0,16,0,0],
-"interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5":[1,0,16,0,1],
-"interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html":[1,0,17,0],
-"interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06":[1,0,17,0,1],
-"interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a":[1,0,17,0,0],
-"interfaceneighbor__interp__mod_1_1interpolate__neighbor.html":[1,0,18,0],
-"interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246":[1,0,18,0,0],
-"interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7":[1,0,18,0,1],
-"interfacespectral__interp__mod_1_1interpolate__spectral.html":[1,0,19,0],
-"interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1":[1,0,19,0,0],
-"interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487":[1,0,19,0,1],
-"interfacespectral__interp__mod_1_1polates4.html":[1,0,19,1],
-"interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4":[1,0,19,1,0],
-"interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9":[1,0,19,1,1],
-"interfacespectral__interp__mod_1_1polatev4.html":[1,0,19,2],
-"interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8":[1,0,19,2,0],
-"interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b":[1,0,19,2,1],
-"ip__constants__mod_8F90.html":[2,0,6],
-"ip__constants__mod_8F90.html#a309f7e3b1f83b6b272b12ce4fff501c5":[2,0,6,3],
-"ip__constants__mod_8F90.html#a47f83a2267da693170054c958c401cd4":[2,0,6,2],
-"ip__constants__mod_8F90.html#a5fe7cdd86b44487666dc37f655d9ff15":[2,0,6,4],
-"ip__constants__mod_8F90.html#ac6a501512f426673f064edbecd7a62fb":[2,0,6,5],
-"ip__constants__mod_8F90.html#ae6b74489db06341b78c3088b3f207011":[2,0,6,0],
-"ip__constants__mod_8F90.html#af7783a977fa10c54d85282dc6ac5f545":[2,0,6,1],
-"ip__constants__mod_8F90_source.html":[2,0,6],
-"ip__equid__cylind__grid__mod_8F90.html":[2,0,7],
-"ip__equid__cylind__grid__mod_8F90.html#a039501b44cd3ad4409983e193d509afd":[2,0,7,2],
-"ip__equid__cylind__grid__mod_8F90.html#a30cb127d26d74d2de6ab3cbfd63183fb":[2,0,7,7],
-"ip__equid__cylind__grid__mod_8F90.html#a39d24c9468ecb7effd16972fd72e088a":[2,0,7,6],
-"ip__equid__cylind__grid__mod_8F90.html#a3d0132823d27b60835ebb59ead173477":[2,0,7,5],
-"ip__equid__cylind__grid__mod_8F90.html#a46335f95ac343f7751bd519aec0a160f":[2,0,7,8],
-"ip__equid__cylind__grid__mod_8F90.html#a5a70b82abdce76bef22cdeaa96a986c2":[2,0,7,1],
-"ip__equid__cylind__grid__mod_8F90.html#ab5b84516fab9cee3316c07450f49746c":[2,0,7,9],
-"ip__equid__cylind__grid__mod_8F90.html#ade88ecea1c0bb4b4d5b0d08f8482268d":[2,0,7,3],
-"ip__equid__cylind__grid__mod_8F90.html#af20f6f308b5a33211c677b894e41b727":[2,0,7,4],
-"ip__equid__cylind__grid__mod_8F90_source.html":[2,0,7],
-"ip__gaussian__grid__mod_8F90.html":[2,0,8],
-"ip__gaussian__grid__mod_8F90.html#a3591b5701f3d03931c6a9d5278e161dc":[2,0,8,12],
-"ip__gaussian__grid__mod_8F90.html#a67d6cd6d188a8bded8bdf64927617028":[2,0,8,10],
-"ip__gaussian__grid__mod_8F90.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9":[2,0,8,4],
-"ip__gaussian__grid__mod_8F90.html#a8213e02ccf4325ad5db14f2e48990da2":[2,0,8,11],
-"ip__gaussian__grid__mod_8F90.html#a8852b7cfb7b99318140c66b0c551dc6d":[2,0,8,8],
-"ip__gaussian__grid__mod_8F90.html#a8fe2ee732a3a2db4891a6431787a0b01":[2,0,8,5],
-"ip__gaussian__grid__mod_8F90.html#ab602a870a477c7ab77438700af4e7780":[2,0,8,1],
-"ip__gaussian__grid__mod_8F90.html#ac72eec96d0012fbe0f0ec7c520f40dad":[2,0,8,3],
-"ip__gaussian__grid__mod_8F90.html#adca7b03877c6a7048ff1716a95e0bd9d":[2,0,8,2],
-"ip__gaussian__grid__mod_8F90.html#ae048ac033628515113b11b8c7364e0c2":[2,0,8,6],
-"ip__gaussian__grid__mod_8F90.html#ae2697b9c4dbe4945276633d1951e79fc":[2,0,8,7],
-"ip__gaussian__grid__mod_8F90.html#af5c4024263aa3eaef5801849ae32c15a":[2,0,8,9],
-"ip__gaussian__grid__mod_8F90_source.html":[2,0,8],
-"ip__grid__descriptor__mod_8F90.html":[2,0,9],
-"ip__grid__descriptor__mod_8F90.html#a143ac06a2a20697d01606a259213b451":[2,0,9,6],
-"ip__grid__descriptor__mod_8F90.html#a202219f9c5c84fa04d3eb1c2208358ec":[2,0,9,7],
-"ip__grid__descriptor__mod_8F90.html#a5bb3c5230b88012bddc3922bfa1cb019":[2,0,9,8],
-"ip__grid__descriptor__mod_8F90.html#a75ac34ea9372afaa29b0df2ce8919988":[2,0,9,9],
-"ip__grid__descriptor__mod_8F90.html#aa00884a7fca018535eaf0c2ebe26bc98":[2,0,9,5],
-"ip__grid__descriptor__mod_8F90_source.html":[2,0,9],
-"ip__grid__factory__mod_8F90.html":[2,0,10],
-"ip__grid__factory__mod_8F90.html#a2d2ea07d353bae8b057471aa99b58e46":[2,0,10,1],
-"ip__grid__factory__mod_8F90.html#aa187dc8dbd1d004a51cc0e9826ffa225":[2,0,10,3],
-"ip__grid__factory__mod_8F90.html#ad8906ed6fe52c2426c0ff09ce50b6fc5":[2,0,10,2],
-"ip__grid__factory__mod_8F90_source.html":[2,0,10],
-"ip__grid__mod_8F90.html":[2,0,11],
-"ip__grid__mod_8F90.html#a2e49846c9122b1fe1fcdbb2913fc32fe":[2,0,11,12],
-"ip__grid__mod_8F90.html#a36a9a73ecd50353f892341ae8a5c8316":[2,0,11,10],
-"ip__grid__mod_8F90.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6":[2,0,11,8],
-"ip__grid__mod_8F90.html#a45e8afad72b1b8856b3e44f2dd3123b3":[2,0,11,9],
-"ip__grid__mod_8F90.html#a4e11ce780c3d165c282684188890af1c":[2,0,11,18],
-"ip__grid__mod_8F90.html#a5b3ad320b41791e65966e1bb498e9ae3":[2,0,11,16],
-"ip__grid__mod_8F90.html#a63572318d74ec94c20c5ccd6ded2d442":[2,0,11,5],
-"ip__grid__mod_8F90.html#a663bda9af9dd991a09ba0f0de66dc045":[2,0,11,6],
-"ip__grid__mod_8F90.html#ab82b90d20f38ff39741f6890fa422d16":[2,0,11,11],
-"ip__grid__mod_8F90.html#ab9ff525eca4f053b04ec96a83cb06682":[2,0,11,13],
-"ip__grid__mod_8F90.html#ad96da95d40beceb1a1c405971e8130bb":[2,0,11,7],
-"ip__grid__mod_8F90.html#adb7d7d18410aaae52d7eee2e97f04b14":[2,0,11,17],
-"ip__grid__mod_8F90.html#adc7c650c524eb6425e77b2e0eac0979a":[2,0,11,19],
-"ip__grid__mod_8F90.html#af9c58af5162d96cb7d1ac5001139b856":[2,0,11,14],
-"ip__grid__mod_8F90.html#afee73c2f09ea9de43c156dc594ae1df1":[2,0,11,15],
-"ip__grid__mod_8F90_source.html":[2,0,11],
-"ip__grids__mod_8F90.html":[2,0,12],
-"ip__grids__mod_8F90_source.html":[2,0,12],
-"ip__interpolators__mod_8F90.html":[2,0,13],
-"ip__interpolators__mod_8F90.html#a35e5fe3a2dd79d205c0503f550388258":[2,0,13,4],
-"ip__interpolators__mod_8F90.html#a753e4b6c113a9a8b226c3c834786f3e1":[2,0,13,1],
-"ip__interpolators__mod_8F90.html#a7df843ca4a64e3178f448aebf7dad359":[2,0,13,2],
-"ip__interpolators__mod_8F90.html#a83ba2963a0b686c6ae67b53f9c385851":[2,0,13,5],
-"ip__interpolators__mod_8F90.html#adfdc7760718083d85618df85320c495e":[2,0,13,0],
-"ip__interpolators__mod_8F90.html#ae77a1da241f5de94f1874004ee8e715c":[2,0,13,3],
-"ip__interpolators__mod_8F90_source.html":[2,0,13],
-"ip__lambert__conf__grid__mod_8F90.html":[2,0,14],
-"ip__lambert__conf__grid__mod_8F90.html#a15c44b47172b926aea840caee9723b1c":[2,0,14,4],
-"ip__lambert__conf__grid__mod_8F90.html#a196e94b5a2add34133c87f845394fa81":[2,0,14,8],
-"ip__lambert__conf__grid__mod_8F90.html#a5544708e893ffcfbe7d958fdec700eea":[2,0,14,2],
-"ip__lambert__conf__grid__mod_8F90.html#a58187073914efa18eca897c6ec203b71":[2,0,14,6],
-"ip__lambert__conf__grid__mod_8F90.html#a5e1d42f0027236f47467e25c525e66ae":[2,0,14,5],
-"ip__lambert__conf__grid__mod_8F90.html#a5ebb9e4f1bd58caa254771b305c94f71":[2,0,14,1],
-"ip__lambert__conf__grid__mod_8F90.html#a7dea876ed4206c5ecc0444aadb7d6acd":[2,0,14,11],
-"ip__lambert__conf__grid__mod_8F90.html#a82b75fe2d8495aab75b225c6309e61c8":[2,0,14,7],
-"ip__lambert__conf__grid__mod_8F90.html#a9f0538d092cd7d2829a5b98247eb560d":[2,0,14,12],
-"ip__lambert__conf__grid__mod_8F90.html#aa91572e8b5ba3559c041f1750b6696c6":[2,0,14,10],
-"ip__lambert__conf__grid__mod_8F90.html#aad8b04b77b0920dbf9ed3827e2e8cfd7":[2,0,14,9],
-"ip__lambert__conf__grid__mod_8F90.html#acb0339a9fff4fff6c2017d37f8bed0cf":[2,0,14,3],
-"ip__lambert__conf__grid__mod_8F90_source.html":[2,0,14],
-"ip__mercator__grid__mod_8F90.html":[2,0,15],
-"ip__mercator__grid__mod_8F90.html#a14e1cb3f8c05d2de49d2aa8dc69d104f":[2,0,15,7],
-"ip__mercator__grid__mod_8F90.html#a156e638e2d1b93e388d674462ac3f732":[2,0,15,8],
-"ip__mercator__grid__mod_8F90.html#a4125dba8b09e9b69933e224b00f4758d":[2,0,15,2],
-"ip__mercator__grid__mod_8F90.html#a952ab9add18587c4dbe54699feb8eafd":[2,0,15,4],
-"ip__mercator__grid__mod_8F90.html#aad3b6fef6ee74b8df984c0159ff29c82":[2,0,15,3],
-"ip__mercator__grid__mod_8F90.html#ab93a0a6ae8c5f5056abece1dcffdc57a":[2,0,15,5],
-"ip__mercator__grid__mod_8F90.html#acc39017fa51125972ab8e755e16d339e":[2,0,15,1],
-"ip__mercator__grid__mod_8F90.html#adaa27c5d41ee24185b6d020420ce9419":[2,0,15,9],
-"ip__mercator__grid__mod_8F90.html#aea5e18faf7a18bf8d06c87ccb11f3e17":[2,0,15,6],
-"ip__mercator__grid__mod_8F90_source.html":[2,0,15],
-"ip__mod_8F90.html":[2,0,16],
-"ip__mod_8F90_source.html":[2,0,16],
-"ip__polar__stereo__grid__mod_8F90.html":[2,0,17],
-"ip__polar__stereo__grid__mod_8F90.html#a1269037aaecd12e75e17d8aac8e20c8c":[2,0,17,12],
-"ip__polar__stereo__grid__mod_8F90.html#a2a2e0854e5c129e320924a811cbd08e2":[2,0,17,4],
-"ip__polar__stereo__grid__mod_8F90.html#a3315b2efb5cb9aebc0b2cb2773aa20b5":[2,0,17,14],
-"ip__polar__stereo__grid__mod_8F90.html#a386933f7e52c348b9d742df423e0e223":[2,0,17,5],
-"ip__polar__stereo__grid__mod_8F90.html#a5210b986366b503683ae966519d501e7":[2,0,17,3],
-"ip__polar__stereo__grid__mod_8F90.html#a5a63da5168a1432a1af42c0b668f0645":[2,0,17,11],
-"ip__polar__stereo__grid__mod_8F90.html#a605d287e34e60f553521a5de2da22962":[2,0,17,7],
-"ip__polar__stereo__grid__mod_8F90.html#a6ed76f58f30993cd7be84b7e03cf4d6f":[2,0,17,2],
-"ip__polar__stereo__grid__mod_8F90.html#aa4a88f48d7b78cfdfc54754882195d18":[2,0,17,13],
-"ip__polar__stereo__grid__mod_8F90.html#abe4d416201e986421a8e325a9b00e462":[2,0,17,6],
-"ip__polar__stereo__grid__mod_8F90.html#abf3a34d9bb00c39dac5225798aea4d5b":[2,0,17,10],
-"ip__polar__stereo__grid__mod_8F90.html#acf60181f89954e2ff31b08bb1b345354":[2,0,17,8],
-"ip__polar__stereo__grid__mod_8F90.html#ae2694d90ab514a131e083dfba3b173c5":[2,0,17,1],
-"ip__polar__stereo__grid__mod_8F90.html#aea7950530d06d9c59ff61bf706df0a0f":[2,0,17,9],
-"ip__polar__stereo__grid__mod_8F90_source.html":[2,0,17],
-"ip__rot__equid__cylind__egrid__mod_8F90.html":[2,0,18],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a0b2faca2325b413e1f3207778d4c4c68":[2,0,18,12],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a134acf8ab7f40ff49ce8e03daad900e6":[2,0,18,17],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a45b87f77888d428ca0f551edae8da94e":[2,0,18,6],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a4ccccb64d3e7236d8cac19c279aab900":[2,0,18,20],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a4e6c3a758f9a6474d3e499fabeac0640":[2,0,18,5],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a50497d277c347a2991b0e34e85f1787e":[2,0,18,15],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a557d49c609fc8c5c564a3a5f10174eec":[2,0,18,11],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a69d4e473a1a276b855d37518dc6f1d48":[2,0,18,4],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a72199c827ab3218b7f2aba35ad30b94d":[2,0,18,19],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a83649d02b55d6252d59514aec4eb3142":[2,0,18,9],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a93ed996cf2dc9569e356256ec946b571":[2,0,18,14],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a9ac1f76f515981c464e8391d8c941888":[2,0,18,7],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#a9ad11a599fc0bdc4a9ece86a3b1cc399":[2,0,18,1],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#aa65616b97df9c89893161ff802e16eab":[2,0,18,2],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#aac1018f3ca1b7ad4b5d33f245678d416":[2,0,18,8],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#aad4e673a94976b2b5a9bfad9de9e6e30":[2,0,18,10],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#ae1f8503816477fb685fbadc7a9e50f0b":[2,0,18,18],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#aed7a425f4d300fe14ac1b48d76378edb":[2,0,18,16],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#af04f8a1044f4d9a7e0d13d38887adcbc":[2,0,18,13],
-"ip__rot__equid__cylind__egrid__mod_8F90.html#af3cbc17f27800bc67135feacb2c1c3e0":[2,0,18,3],
-"ip__rot__equid__cylind__egrid__mod_8F90_source.html":[2,0,18],
-"ip__rot__equid__cylind__grid__mod_8F90.html":[2,0,19],
-"ip__rot__equid__cylind__grid__mod_8F90.html#a1cc09c83f9a3815d8c5f8ed2f239f53f":[2,0,19,4],
-"ip__rot__equid__cylind__grid__mod_8F90.html#a3de472bfc18740a7d985f560f3541c10":[2,0,19,7],
-"ip__rot__equid__cylind__grid__mod_8F90.html#a55c153201e15205d3f75e4ffb717cc0b":[2,0,19,1],
-"ip__rot__equid__cylind__grid__mod_8F90.html#a620a55069afd33b301240533915387df":[2,0,19,14],
-"ip__rot__equid__cylind__grid__mod_8F90.html#a64831f92d5306513987a98e97a32aea1":[2,0,19,15],
-"ip__rot__equid__cylind__grid__mod_8F90.html#a985f1dc1a20444cef706d4bb20e0841b":[2,0,19,6],
-"ip__rot__equid__cylind__grid__mod_8F90.html#aa0cf7bb2dd8be1239ae38c7220d29702":[2,0,19,10]
+"index.html#autotoc_md1":[0,0],
+"index.html#autotoc_md10":[0,0,2],
+"index.html#autotoc_md11":[0,0,3],
+"index.html#autotoc_md12":[0,0,4],
+"index.html#autotoc_md13":[0,1],
+"index.html#autotoc_md14":[0,1,0],
+"index.html#autotoc_md15":[0,2],
+"index.html#autotoc_md16":[0,3],
+"index.html#autotoc_md2":[0,0,0],
+"index.html#autotoc_md3":[0,0,0,0],
+"index.html#autotoc_md4":[0,0,0,1],
+"index.html#autotoc_md5":[0,0,0,2],
+"index.html#autotoc_md6":[0,0,0,3],
+"index.html#autotoc_md7":[0,0,0,4],
+"index.html#autotoc_md8":[0,0,0,5],
+"index.html#autotoc_md9":[0,0,1],
+"interfacebicubic__interp__mod_1_1interpolate__bicubic.html":[2,0,0,0],
+"interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b":[2,0,0,0,1],
+"interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077":[2,0,0,0,0],
+"interfacebilinear__interp__mod_1_1interpolate__bilinear.html":[2,0,1,0],
+"interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65":[2,0,1,0,0],
+"interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd":[2,0,1,0,1],
+"interfacebudget__interp__mod_1_1interpolate__budget.html":[2,0,2,0],
+"interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0":[2,0,2,0,0],
+"interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6":[2,0,2,0,1],
+"interfacegdswzd__mod_1_1gdswzd.html":[2,0,3,0],
+"interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd":[2,0,3,0,5],
+"interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a":[2,0,3,0,3],
+"interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5":[2,0,3,0,2],
+"interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31":[2,0,3,0,1],
+"interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16":[2,0,3,0,4],
+"interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b":[2,0,3,0,0],
+"interfaceip__grid__descriptor__mod_1_1init__descriptor.html":[2,0,6,2],
+"interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e":[2,0,6,2,0],
+"interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c":[2,0,6,2,1],
+"interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html":[2,0,6,4],
+"interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c":[2,0,6,4,0],
+"interfaceip__grid__factory__mod_1_1init__grid.html":[2,0,7,0],
+"interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72":[2,0,7,0,0],
+"interfaceip__grid__mod_1_1gdswzd__interface.html":[2,0,8,0],
+"interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369":[2,0,8,0,0],
+"interfaceip__grid__mod_1_1init__grib1__interface.html":[2,0,8,1],
+"interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb":[2,0,8,1,0],
+"interfaceip__grid__mod_1_1init__grib2__interface.html":[2,0,8,2],
+"interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c":[2,0,8,2,0],
+"interfaceip__grid__mod_1_1operator_07_0a_0a_08.html":[2,0,8,4],
+"interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b":[2,0,8,4,0],
+"interfaceipolates__mod_1_1ipolates.html":[2,0,15,0],
+"interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240":[2,0,15,0,3],
+"interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b":[2,0,15,0,2],
+"interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b":[2,0,15,0,0],
+"interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d":[2,0,15,0,1],
+"interfaceipolatev__mod_1_1ipolatev.html":[2,0,16,0],
+"interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd":[2,0,16,0,3],
+"interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe":[2,0,16,0,2],
+"interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53":[2,0,16,0,0],
+"interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5":[2,0,16,0,1],
+"interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html":[2,0,17,0],
+"interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06":[2,0,17,0,1],
+"interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a":[2,0,17,0,0],
+"interfaceneighbor__interp__mod_1_1interpolate__neighbor.html":[2,0,18,0],
+"interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246":[2,0,18,0,0],
+"interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7":[2,0,18,0,1],
+"interfacespectral__interp__mod_1_1interpolate__spectral.html":[2,0,19,0],
+"interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1":[2,0,19,0,0],
+"interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487":[2,0,19,0,1],
+"interfacespectral__interp__mod_1_1polates4.html":[2,0,19,1],
+"interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4":[2,0,19,1,0],
+"interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9":[2,0,19,1,1],
+"interfacespectral__interp__mod_1_1polatev4.html":[2,0,19,2],
+"interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8":[2,0,19,2,0],
+"interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b":[2,0,19,2,1],
+"ip__constants__mod_8F90.html":[3,0,7],
+"ip__constants__mod_8F90.html#a309f7e3b1f83b6b272b12ce4fff501c5":[3,0,7,3],
+"ip__constants__mod_8F90.html#a47f83a2267da693170054c958c401cd4":[3,0,7,2],
+"ip__constants__mod_8F90.html#a5fe7cdd86b44487666dc37f655d9ff15":[3,0,7,4],
+"ip__constants__mod_8F90.html#ac6a501512f426673f064edbecd7a62fb":[3,0,7,5],
+"ip__constants__mod_8F90.html#ae6b74489db06341b78c3088b3f207011":[3,0,7,0],
+"ip__constants__mod_8F90.html#af7783a977fa10c54d85282dc6ac5f545":[3,0,7,1],
+"ip__constants__mod_8F90_source.html":[3,0,7],
+"ip__equid__cylind__grid__mod_8F90.html":[3,0,8],
+"ip__equid__cylind__grid__mod_8F90.html#a039501b44cd3ad4409983e193d509afd":[3,0,8,2],
+"ip__equid__cylind__grid__mod_8F90.html#a30cb127d26d74d2de6ab3cbfd63183fb":[3,0,8,7],
+"ip__equid__cylind__grid__mod_8F90.html#a39d24c9468ecb7effd16972fd72e088a":[3,0,8,6],
+"ip__equid__cylind__grid__mod_8F90.html#a3d0132823d27b60835ebb59ead173477":[3,0,8,5],
+"ip__equid__cylind__grid__mod_8F90.html#a46335f95ac343f7751bd519aec0a160f":[3,0,8,8],
+"ip__equid__cylind__grid__mod_8F90.html#a5a70b82abdce76bef22cdeaa96a986c2":[3,0,8,1],
+"ip__equid__cylind__grid__mod_8F90.html#ab5b84516fab9cee3316c07450f49746c":[3,0,8,9],
+"ip__equid__cylind__grid__mod_8F90.html#ade88ecea1c0bb4b4d5b0d08f8482268d":[3,0,8,3],
+"ip__equid__cylind__grid__mod_8F90.html#af20f6f308b5a33211c677b894e41b727":[3,0,8,4],
+"ip__equid__cylind__grid__mod_8F90_source.html":[3,0,8],
+"ip__gaussian__grid__mod_8F90.html":[3,0,9],
+"ip__gaussian__grid__mod_8F90.html#a3591b5701f3d03931c6a9d5278e161dc":[3,0,9,12],
+"ip__gaussian__grid__mod_8F90.html#a67d6cd6d188a8bded8bdf64927617028":[3,0,9,10],
+"ip__gaussian__grid__mod_8F90.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9":[3,0,9,4],
+"ip__gaussian__grid__mod_8F90.html#a8213e02ccf4325ad5db14f2e48990da2":[3,0,9,11],
+"ip__gaussian__grid__mod_8F90.html#a8852b7cfb7b99318140c66b0c551dc6d":[3,0,9,8],
+"ip__gaussian__grid__mod_8F90.html#a8fe2ee732a3a2db4891a6431787a0b01":[3,0,9,5],
+"ip__gaussian__grid__mod_8F90.html#ab602a870a477c7ab77438700af4e7780":[3,0,9,1],
+"ip__gaussian__grid__mod_8F90.html#ac72eec96d0012fbe0f0ec7c520f40dad":[3,0,9,3],
+"ip__gaussian__grid__mod_8F90.html#adca7b03877c6a7048ff1716a95e0bd9d":[3,0,9,2],
+"ip__gaussian__grid__mod_8F90.html#ae048ac033628515113b11b8c7364e0c2":[3,0,9,6],
+"ip__gaussian__grid__mod_8F90.html#ae2697b9c4dbe4945276633d1951e79fc":[3,0,9,7],
+"ip__gaussian__grid__mod_8F90.html#af5c4024263aa3eaef5801849ae32c15a":[3,0,9,9],
+"ip__gaussian__grid__mod_8F90_source.html":[3,0,9],
+"ip__grid__descriptor__mod_8F90.html":[3,0,10],
+"ip__grid__descriptor__mod_8F90.html#a143ac06a2a20697d01606a259213b451":[3,0,10,6],
+"ip__grid__descriptor__mod_8F90.html#a202219f9c5c84fa04d3eb1c2208358ec":[3,0,10,7],
+"ip__grid__descriptor__mod_8F90.html#a5bb3c5230b88012bddc3922bfa1cb019":[3,0,10,8],
+"ip__grid__descriptor__mod_8F90.html#a75ac34ea9372afaa29b0df2ce8919988":[3,0,10,9],
+"ip__grid__descriptor__mod_8F90.html#aa00884a7fca018535eaf0c2ebe26bc98":[3,0,10,5],
+"ip__grid__descriptor__mod_8F90_source.html":[3,0,10],
+"ip__grid__factory__mod_8F90.html":[3,0,11],
+"ip__grid__factory__mod_8F90.html#a2d2ea07d353bae8b057471aa99b58e46":[3,0,11,1],
+"ip__grid__factory__mod_8F90.html#aa187dc8dbd1d004a51cc0e9826ffa225":[3,0,11,3],
+"ip__grid__factory__mod_8F90.html#ad8906ed6fe52c2426c0ff09ce50b6fc5":[3,0,11,2],
+"ip__grid__factory__mod_8F90_source.html":[3,0,11],
+"ip__grid__mod_8F90.html":[3,0,12],
+"ip__grid__mod_8F90.html#a2e49846c9122b1fe1fcdbb2913fc32fe":[3,0,12,12],
+"ip__grid__mod_8F90.html#a36a9a73ecd50353f892341ae8a5c8316":[3,0,12,10],
+"ip__grid__mod_8F90.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6":[3,0,12,8],
+"ip__grid__mod_8F90.html#a45e8afad72b1b8856b3e44f2dd3123b3":[3,0,12,9],
+"ip__grid__mod_8F90.html#a4e11ce780c3d165c282684188890af1c":[3,0,12,18],
+"ip__grid__mod_8F90.html#a5b3ad320b41791e65966e1bb498e9ae3":[3,0,12,16],
+"ip__grid__mod_8F90.html#a63572318d74ec94c20c5ccd6ded2d442":[3,0,12,5],
+"ip__grid__mod_8F90.html#a663bda9af9dd991a09ba0f0de66dc045":[3,0,12,6],
+"ip__grid__mod_8F90.html#ab82b90d20f38ff39741f6890fa422d16":[3,0,12,11],
+"ip__grid__mod_8F90.html#ab9ff525eca4f053b04ec96a83cb06682":[3,0,12,13],
+"ip__grid__mod_8F90.html#ad96da95d40beceb1a1c405971e8130bb":[3,0,12,7],
+"ip__grid__mod_8F90.html#adb7d7d18410aaae52d7eee2e97f04b14":[3,0,12,17],
+"ip__grid__mod_8F90.html#adc7c650c524eb6425e77b2e0eac0979a":[3,0,12,19],
+"ip__grid__mod_8F90.html#af9c58af5162d96cb7d1ac5001139b856":[3,0,12,14],
+"ip__grid__mod_8F90.html#afee73c2f09ea9de43c156dc594ae1df1":[3,0,12,15],
+"ip__grid__mod_8F90_source.html":[3,0,12],
+"ip__grids__mod_8F90.html":[3,0,13],
+"ip__grids__mod_8F90_source.html":[3,0,13],
+"ip__interpolators__mod_8F90.html":[3,0,14],
+"ip__interpolators__mod_8F90.html#a35e5fe3a2dd79d205c0503f550388258":[3,0,14,4],
+"ip__interpolators__mod_8F90.html#a753e4b6c113a9a8b226c3c834786f3e1":[3,0,14,1],
+"ip__interpolators__mod_8F90.html#a7df843ca4a64e3178f448aebf7dad359":[3,0,14,2],
+"ip__interpolators__mod_8F90.html#a83ba2963a0b686c6ae67b53f9c385851":[3,0,14,5],
+"ip__interpolators__mod_8F90.html#adfdc7760718083d85618df85320c495e":[3,0,14,0],
+"ip__interpolators__mod_8F90.html#ae77a1da241f5de94f1874004ee8e715c":[3,0,14,3],
+"ip__interpolators__mod_8F90_source.html":[3,0,14],
+"ip__lambert__conf__grid__mod_8F90.html":[3,0,15],
+"ip__lambert__conf__grid__mod_8F90.html#a15c44b47172b926aea840caee9723b1c":[3,0,15,4],
+"ip__lambert__conf__grid__mod_8F90.html#a196e94b5a2add34133c87f845394fa81":[3,0,15,8],
+"ip__lambert__conf__grid__mod_8F90.html#a5544708e893ffcfbe7d958fdec700eea":[3,0,15,2],
+"ip__lambert__conf__grid__mod_8F90.html#a58187073914efa18eca897c6ec203b71":[3,0,15,6],
+"ip__lambert__conf__grid__mod_8F90.html#a5e1d42f0027236f47467e25c525e66ae":[3,0,15,5],
+"ip__lambert__conf__grid__mod_8F90.html#a5ebb9e4f1bd58caa254771b305c94f71":[3,0,15,1],
+"ip__lambert__conf__grid__mod_8F90.html#a7dea876ed4206c5ecc0444aadb7d6acd":[3,0,15,11],
+"ip__lambert__conf__grid__mod_8F90.html#a82b75fe2d8495aab75b225c6309e61c8":[3,0,15,7],
+"ip__lambert__conf__grid__mod_8F90.html#a9f0538d092cd7d2829a5b98247eb560d":[3,0,15,12],
+"ip__lambert__conf__grid__mod_8F90.html#aa91572e8b5ba3559c041f1750b6696c6":[3,0,15,10],
+"ip__lambert__conf__grid__mod_8F90.html#aad8b04b77b0920dbf9ed3827e2e8cfd7":[3,0,15,9],
+"ip__lambert__conf__grid__mod_8F90.html#acb0339a9fff4fff6c2017d37f8bed0cf":[3,0,15,3],
+"ip__lambert__conf__grid__mod_8F90_source.html":[3,0,15],
+"ip__mercator__grid__mod_8F90.html":[3,0,16],
+"ip__mercator__grid__mod_8F90.html#a14e1cb3f8c05d2de49d2aa8dc69d104f":[3,0,16,7],
+"ip__mercator__grid__mod_8F90.html#a156e638e2d1b93e388d674462ac3f732":[3,0,16,8],
+"ip__mercator__grid__mod_8F90.html#a4125dba8b09e9b69933e224b00f4758d":[3,0,16,2],
+"ip__mercator__grid__mod_8F90.html#a952ab9add18587c4dbe54699feb8eafd":[3,0,16,4],
+"ip__mercator__grid__mod_8F90.html#aad3b6fef6ee74b8df984c0159ff29c82":[3,0,16,3],
+"ip__mercator__grid__mod_8F90.html#ab93a0a6ae8c5f5056abece1dcffdc57a":[3,0,16,5],
+"ip__mercator__grid__mod_8F90.html#acc39017fa51125972ab8e755e16d339e":[3,0,16,1],
+"ip__mercator__grid__mod_8F90.html#adaa27c5d41ee24185b6d020420ce9419":[3,0,16,9],
+"ip__mercator__grid__mod_8F90.html#aea5e18faf7a18bf8d06c87ccb11f3e17":[3,0,16,6],
+"ip__mercator__grid__mod_8F90_source.html":[3,0,16],
+"ip__mod_8F90.html":[3,0,17],
+"ip__mod_8F90_source.html":[3,0,17],
+"ip__polar__stereo__grid__mod_8F90.html":[3,0,18],
+"ip__polar__stereo__grid__mod_8F90.html#a1269037aaecd12e75e17d8aac8e20c8c":[3,0,18,12],
+"ip__polar__stereo__grid__mod_8F90.html#a2a2e0854e5c129e320924a811cbd08e2":[3,0,18,4],
+"ip__polar__stereo__grid__mod_8F90.html#a3315b2efb5cb9aebc0b2cb2773aa20b5":[3,0,18,14],
+"ip__polar__stereo__grid__mod_8F90.html#a386933f7e52c348b9d742df423e0e223":[3,0,18,5],
+"ip__polar__stereo__grid__mod_8F90.html#a5210b986366b503683ae966519d501e7":[3,0,18,3],
+"ip__polar__stereo__grid__mod_8F90.html#a5a63da5168a1432a1af42c0b668f0645":[3,0,18,11],
+"ip__polar__stereo__grid__mod_8F90.html#a605d287e34e60f553521a5de2da22962":[3,0,18,7],
+"ip__polar__stereo__grid__mod_8F90.html#a6ed76f58f30993cd7be84b7e03cf4d6f":[3,0,18,2],
+"ip__polar__stereo__grid__mod_8F90.html#aa4a88f48d7b78cfdfc54754882195d18":[3,0,18,13],
+"ip__polar__stereo__grid__mod_8F90.html#abe4d416201e986421a8e325a9b00e462":[3,0,18,6],
+"ip__polar__stereo__grid__mod_8F90.html#abf3a34d9bb00c39dac5225798aea4d5b":[3,0,18,10],
+"ip__polar__stereo__grid__mod_8F90.html#acf60181f89954e2ff31b08bb1b345354":[3,0,18,8],
+"ip__polar__stereo__grid__mod_8F90.html#ae2694d90ab514a131e083dfba3b173c5":[3,0,18,1],
+"ip__polar__stereo__grid__mod_8F90.html#aea7950530d06d9c59ff61bf706df0a0f":[3,0,18,9],
+"ip__polar__stereo__grid__mod_8F90_source.html":[3,0,18],
+"ip__rot__equid__cylind__egrid__mod_8F90.html":[3,0,19],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a0b2faca2325b413e1f3207778d4c4c68":[3,0,19,12]
 };
diff --git a/navtreeindex1.js b/navtreeindex1.js
index df368c6a..ca5c924e 100644
--- a/navtreeindex1.js
+++ b/navtreeindex1.js
@@ -1,253 +1,253 @@
 var NAVTREEINDEX1 =
 {
-"ip__rot__equid__cylind__grid__mod_8F90.html#ab43075e39d4e2dde4110e608931a392d":[2,0,19,9],
-"ip__rot__equid__cylind__grid__mod_8F90.html#abb0c2acdbd71f0c07ffaf9db54ce06c1":[2,0,19,11],
-"ip__rot__equid__cylind__grid__mod_8F90.html#acb27dfdc6f03dea897d509910365afee":[2,0,19,2],
-"ip__rot__equid__cylind__grid__mod_8F90.html#ad8f1133eb6809705c15337134eafe9fd":[2,0,19,5],
-"ip__rot__equid__cylind__grid__mod_8F90.html#add3c6c1dad5748b452d291df6619867d":[2,0,19,3],
-"ip__rot__equid__cylind__grid__mod_8F90.html#ae08318392106d174ab36cf7dc05c570b":[2,0,19,13],
-"ip__rot__equid__cylind__grid__mod_8F90.html#af5dea0592cccce2de1c5c6a92d42cfd6":[2,0,19,12],
-"ip__rot__equid__cylind__grid__mod_8F90.html#afeb699d0eaa8d157277e93fe8e8c5852":[2,0,19,8],
-"ip__rot__equid__cylind__grid__mod_8F90_source.html":[2,0,19],
-"ip__station__points__grid__mod_8F90.html":[2,0,20],
-"ip__station__points__grid__mod_8F90.html#a4b28ebf2b4fe826c96af69db28e0a1ff":[2,0,20,2],
-"ip__station__points__grid__mod_8F90.html#a8da297b45242279a497dbd7062a33197":[2,0,20,1],
-"ip__station__points__grid__mod_8F90.html#ad17e6d245295803b62b146be984f874d":[2,0,20,3],
-"ip__station__points__grid__mod_8F90_source.html":[2,0,20],
-"iplib__4_8h.html":[2,0,21],
-"iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53":[2,0,21,0],
-"iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1":[2,0,21,1],
-"iplib__4_8h_source.html":[2,0,21],
-"iplib__8_8h.html":[2,0,22],
-"iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93":[2,0,22,1],
-"iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4":[2,0,22,0],
-"iplib__8_8h_source.html":[2,0,22],
-"iplib__d_8h.html":[2,0,23],
-"iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691":[2,0,23,1],
-"iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e":[2,0,23,0],
-"iplib__d_8h_source.html":[2,0,23],
-"ipolates_8F90.html":[2,0,24],
-"ipolates_8F90.html#a2761e20fab898e7fd9963f3e0eb5d104":[2,0,24,5],
-"ipolates_8F90.html#a49541b2af75b7c037a863a4785726856":[2,0,24,4],
-"ipolates_8F90.html#a6b2ea6d5b04d2a68baad261e7a409fac":[2,0,24,3],
-"ipolates_8F90.html#acb5408cf5c3a0f50326edc183f9bd269":[2,0,24,1],
-"ipolates_8F90.html#ae70a9ca9871bb33e038782b036b7b53d":[2,0,24,2],
-"ipolates_8F90_source.html":[2,0,24],
-"ipolatev_8F90.html":[2,0,25],
-"ipolatev_8F90.html#a00fed53dd867a802b3adbc1141e8d272":[2,0,25,3],
-"ipolatev_8F90.html#a71d7507e8f89e1229caaaacb37e0c9c7":[2,0,25,4],
-"ipolatev_8F90.html#a8f3bfec7495e13b75b2035e8e1f081a1":[2,0,25,5],
-"ipolatev_8F90.html#abddc4a9b00133b358443b118f1352d1f":[2,0,25,1],
-"ipolatev_8F90.html#ad535ffd159c46e770effd774aabede58":[2,0,25,2],
-"ipolatev_8F90_source.html":[2,0,25],
-"ipxetas_8F90.html":[2,0,26],
-"ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1":[2,0,26,0],
-"ipxetas_8F90_source.html":[2,0,26],
-"ipxwafs2_8F90.html":[2,0,28],
-"ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894":[2,0,28,0],
-"ipxwafs2_8F90_source.html":[2,0,28],
-"ipxwafs3_8F90.html":[2,0,29],
-"ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d":[2,0,29,0],
-"ipxwafs3_8F90_source.html":[2,0,29],
-"ipxwafs_8F90.html":[2,0,27],
-"ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12":[2,0,27,0],
-"ipxwafs_8F90_source.html":[2,0,27],
-"movect_8F90.html":[2,0,30],
-"movect_8F90.html#a5974e32c0cf90a65b39c68460d761882":[2,0,30,0],
-"movect_8F90_source.html":[2,0,30],
-"namespacebicubic__interp__mod.html":[0,7,0],
-"namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1":[0,7,0,1],
-"namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16":[0,7,0,2],
-"namespacebilinear__interp__mod.html":[0,7,1],
-"namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398":[0,7,1,1],
-"namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04":[0,7,1,2],
-"namespacebudget__interp__mod.html":[0,7,2],
-"namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466":[0,7,2,1],
-"namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803":[0,7,2,2],
-"namespaceearth__radius__mod.html":[0,7,3],
-"namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54":[0,7,3,0],
-"namespacegdswzd__c__mod.html":[0,7,4],
-"namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504":[0,7,4,1],
-"namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4":[0,7,4,0],
-"namespacegdswzd__mod.html":[0,7,5],
-"namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37":[0,7,5,4],
-"namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45":[0,7,5,5],
-"namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4":[0,7,5,3],
-"namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861":[0,7,5,6],
-"namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76":[0,7,5,1],
-"namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25":[0,7,5,2],
-"namespaceip__constants__mod.html":[0,7,6],
-"namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5":[0,7,6,3],
-"namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4":[0,7,6,2],
-"namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15":[0,7,6,4],
-"namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb":[0,7,6,5],
-"namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011":[0,7,6,0],
-"namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545":[0,7,6,1],
-"namespaceip__equid__cylind__grid__mod.html":[0,7,7],
-"namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd":[0,7,7,2],
-"namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb":[0,7,7,7],
-"namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a":[0,7,7,6],
-"namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477":[0,7,7,5],
-"namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f":[0,7,7,8],
-"namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2":[0,7,7,1],
-"namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c":[0,7,7,9],
-"namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d":[0,7,7,3],
-"namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727":[0,7,7,4],
-"namespaceip__gaussian__grid__mod.html":[0,7,8],
-"namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc":[0,7,8,12],
-"namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028":[0,7,8,10],
-"namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9":[0,7,8,4],
-"namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2":[0,7,8,11],
-"namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d":[0,7,8,8],
-"namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01":[0,7,8,5],
-"namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780":[0,7,8,1],
-"namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad":[0,7,8,3],
-"namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d":[0,7,8,2],
-"namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2":[0,7,8,6],
-"namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc":[0,7,8,7],
-"namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a":[0,7,8,9],
-"namespaceip__grid__descriptor__mod.html":[0,7,9],
-"namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451":[0,7,9,6],
-"namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec":[0,7,9,7],
-"namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019":[0,7,9,8],
-"namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988":[0,7,9,9],
-"namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98":[0,7,9,5],
-"namespaceip__grid__factory__mod.html":[0,7,10],
-"namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46":[0,7,10,1],
-"namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225":[0,7,10,3],
-"namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5":[0,7,10,2],
-"namespaceip__grid__mod.html":[0,7,11],
-"namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe":[0,7,11,12],
-"namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316":[0,7,11,10],
-"namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6":[0,7,11,8],
-"namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3":[0,7,11,9],
-"namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c":[0,7,11,18],
-"namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3":[0,7,11,16],
-"namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442":[0,7,11,5],
-"namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045":[0,7,11,6],
-"namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16":[0,7,11,11],
-"namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682":[0,7,11,13],
-"namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb":[0,7,11,7],
-"namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14":[0,7,11,17],
-"namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a":[0,7,11,19],
-"namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856":[0,7,11,14],
-"namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1":[0,7,11,15],
-"namespaceip__grids__mod.html":[0,7,12],
-"namespaceip__interpolators__mod.html":[0,7,13],
-"namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258":[0,7,13,4],
-"namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1":[0,7,13,1],
-"namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359":[0,7,13,2],
-"namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851":[0,7,13,5],
-"namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e":[0,7,13,0],
-"namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c":[0,7,13,3],
-"namespaceip__lambert__conf__grid__mod.html":[0,7,14],
-"namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c":[0,7,14,4],
-"namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81":[0,7,14,8],
-"namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea":[0,7,14,2],
-"namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71":[0,7,14,6],
-"namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae":[0,7,14,5],
-"namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71":[0,7,14,1],
-"namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd":[0,7,14,11],
-"namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8":[0,7,14,7],
-"namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d":[0,7,14,12],
-"namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6":[0,7,14,10],
-"namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7":[0,7,14,9],
-"namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf":[0,7,14,3],
-"namespaceip__mercator__grid__mod.html":[0,7,15],
-"namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f":[0,7,15,7],
-"namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732":[0,7,15,8],
-"namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d":[0,7,15,2],
-"namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd":[0,7,15,4],
-"namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82":[0,7,15,3],
-"namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a":[0,7,15,5],
-"namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e":[0,7,15,1],
-"namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419":[0,7,15,9],
-"namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17":[0,7,15,6],
-"namespaceip__mod.html":[0,7,16],
-"namespaceip__polar__stereo__grid__mod.html":[0,7,17],
-"namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c":[0,7,17,12],
-"namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2":[0,7,17,4],
-"namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5":[0,7,17,14],
-"namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223":[0,7,17,5],
-"namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7":[0,7,17,3],
-"namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645":[0,7,17,11],
-"namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962":[0,7,17,7],
-"namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f":[0,7,17,2],
-"namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18":[0,7,17,13],
-"namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462":[0,7,17,6],
-"namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b":[0,7,17,10],
-"namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354":[0,7,17,8],
-"namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5":[0,7,17,1],
-"namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f":[0,7,17,9],
-"namespaceip__rot__equid__cylind__egrid__mod.html":[0,7,18],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68":[0,7,18,12],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6":[0,7,18,17],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e":[0,7,18,6],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900":[0,7,18,20],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640":[0,7,18,5],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e":[0,7,18,15],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec":[0,7,18,11],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48":[0,7,18,4],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d":[0,7,18,19],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142":[0,7,18,9],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571":[0,7,18,14],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888":[0,7,18,7],
-"namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399":[0,7,18,1],
-"namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab":[0,7,18,2],
-"namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416":[0,7,18,8],
-"namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30":[0,7,18,10],
-"namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b":[0,7,18,18],
-"namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb":[0,7,18,16],
-"namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc":[0,7,18,13],
-"namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0":[0,7,18,3],
-"namespaceip__rot__equid__cylind__grid__mod.html":[0,7,19],
-"namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f":[0,7,19,4],
-"namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10":[0,7,19,7],
-"namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b":[0,7,19,1],
-"namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df":[0,7,19,14],
-"namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1":[0,7,19,15],
-"namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b":[0,7,19,6],
-"namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702":[0,7,19,10],
-"namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d":[0,7,19,9],
-"namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1":[0,7,19,11],
-"namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee":[0,7,19,2],
-"namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd":[0,7,19,5],
-"namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d":[0,7,19,3],
-"namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b":[0,7,19,13],
-"namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6":[0,7,19,12],
-"namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852":[0,7,19,8],
-"namespaceip__station__points__grid__mod.html":[0,7,20],
-"namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff":[0,7,20,2],
-"namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197":[0,7,20,1],
-"namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d":[0,7,20,3],
-"namespaceipolates__mod.html":[0,7,21],
-"namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104":[0,7,21,5],
-"namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856":[0,7,21,4],
-"namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac":[0,7,21,3],
-"namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269":[0,7,21,1],
-"namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d":[0,7,21,2],
-"namespaceipolatev__mod.html":[0,7,22],
-"namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272":[0,7,22,3],
-"namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7":[0,7,22,4],
-"namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1":[0,7,22,5],
-"namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f":[0,7,22,1],
-"namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58":[0,7,22,2],
-"namespacemembers.html":[0,8,0],
-"namespacemembers_func.html":[0,8,1],
-"namespacemembers_vars.html":[0,8,2],
-"namespaceneighbor__budget__interp__mod.html":[0,7,23],
-"namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e":[0,7,23,2],
-"namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817":[0,7,23,1],
-"namespaceneighbor__interp__mod.html":[0,7,24],
-"namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756":[0,7,24,2],
-"namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f":[0,7,24,1],
-"namespacepolfix__mod.html":[0,7,25],
-"namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6":[0,7,25,0],
-"namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d":[0,7,25,1],
-"namespaces.html":[0,7],
-"namespacespectral__interp__mod.html":[0,7,26],
-"namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3":[0,7,26,8],
-"namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618":[0,7,26,3],
-"namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a":[0,7,26,6],
-"namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366":[0,7,26,5]
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a134acf8ab7f40ff49ce8e03daad900e6":[3,0,19,17],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a45b87f77888d428ca0f551edae8da94e":[3,0,19,6],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a4ccccb64d3e7236d8cac19c279aab900":[3,0,19,20],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a4e6c3a758f9a6474d3e499fabeac0640":[3,0,19,5],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a50497d277c347a2991b0e34e85f1787e":[3,0,19,15],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a557d49c609fc8c5c564a3a5f10174eec":[3,0,19,11],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a69d4e473a1a276b855d37518dc6f1d48":[3,0,19,4],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a72199c827ab3218b7f2aba35ad30b94d":[3,0,19,19],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a83649d02b55d6252d59514aec4eb3142":[3,0,19,9],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a93ed996cf2dc9569e356256ec946b571":[3,0,19,14],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a9ac1f76f515981c464e8391d8c941888":[3,0,19,7],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a9ad11a599fc0bdc4a9ece86a3b1cc399":[3,0,19,1],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#aa65616b97df9c89893161ff802e16eab":[3,0,19,2],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#aac1018f3ca1b7ad4b5d33f245678d416":[3,0,19,8],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#aad4e673a94976b2b5a9bfad9de9e6e30":[3,0,19,10],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#ae1f8503816477fb685fbadc7a9e50f0b":[3,0,19,18],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#aed7a425f4d300fe14ac1b48d76378edb":[3,0,19,16],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#af04f8a1044f4d9a7e0d13d38887adcbc":[3,0,19,13],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#af3cbc17f27800bc67135feacb2c1c3e0":[3,0,19,3],
+"ip__rot__equid__cylind__egrid__mod_8F90_source.html":[3,0,19],
+"ip__rot__equid__cylind__grid__mod_8F90.html":[3,0,20],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a1cc09c83f9a3815d8c5f8ed2f239f53f":[3,0,20,4],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a3de472bfc18740a7d985f560f3541c10":[3,0,20,7],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a55c153201e15205d3f75e4ffb717cc0b":[3,0,20,1],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a620a55069afd33b301240533915387df":[3,0,20,14],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a64831f92d5306513987a98e97a32aea1":[3,0,20,15],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a985f1dc1a20444cef706d4bb20e0841b":[3,0,20,6],
+"ip__rot__equid__cylind__grid__mod_8F90.html#aa0cf7bb2dd8be1239ae38c7220d29702":[3,0,20,10],
+"ip__rot__equid__cylind__grid__mod_8F90.html#ab43075e39d4e2dde4110e608931a392d":[3,0,20,9],
+"ip__rot__equid__cylind__grid__mod_8F90.html#abb0c2acdbd71f0c07ffaf9db54ce06c1":[3,0,20,11],
+"ip__rot__equid__cylind__grid__mod_8F90.html#acb27dfdc6f03dea897d509910365afee":[3,0,20,2],
+"ip__rot__equid__cylind__grid__mod_8F90.html#ad8f1133eb6809705c15337134eafe9fd":[3,0,20,5],
+"ip__rot__equid__cylind__grid__mod_8F90.html#add3c6c1dad5748b452d291df6619867d":[3,0,20,3],
+"ip__rot__equid__cylind__grid__mod_8F90.html#ae08318392106d174ab36cf7dc05c570b":[3,0,20,13],
+"ip__rot__equid__cylind__grid__mod_8F90.html#af5dea0592cccce2de1c5c6a92d42cfd6":[3,0,20,12],
+"ip__rot__equid__cylind__grid__mod_8F90.html#afeb699d0eaa8d157277e93fe8e8c5852":[3,0,20,8],
+"ip__rot__equid__cylind__grid__mod_8F90_source.html":[3,0,20],
+"ip__station__points__grid__mod_8F90.html":[3,0,21],
+"ip__station__points__grid__mod_8F90.html#a4b28ebf2b4fe826c96af69db28e0a1ff":[3,0,21,2],
+"ip__station__points__grid__mod_8F90.html#a8da297b45242279a497dbd7062a33197":[3,0,21,1],
+"ip__station__points__grid__mod_8F90.html#ad17e6d245295803b62b146be984f874d":[3,0,21,3],
+"ip__station__points__grid__mod_8F90_source.html":[3,0,21],
+"iplib__4_8h.html":[3,0,22],
+"iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53":[3,0,22,0],
+"iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1":[3,0,22,1],
+"iplib__4_8h_source.html":[3,0,22],
+"iplib__8_8h.html":[3,0,23],
+"iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93":[3,0,23,1],
+"iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4":[3,0,23,0],
+"iplib__8_8h_source.html":[3,0,23],
+"iplib__d_8h.html":[3,0,24],
+"iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691":[3,0,24,1],
+"iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e":[3,0,24,0],
+"iplib__d_8h_source.html":[3,0,24],
+"ipolates_8F90.html":[3,0,25],
+"ipolates_8F90.html#a2761e20fab898e7fd9963f3e0eb5d104":[3,0,25,5],
+"ipolates_8F90.html#a49541b2af75b7c037a863a4785726856":[3,0,25,4],
+"ipolates_8F90.html#a6b2ea6d5b04d2a68baad261e7a409fac":[3,0,25,3],
+"ipolates_8F90.html#acb5408cf5c3a0f50326edc183f9bd269":[3,0,25,1],
+"ipolates_8F90.html#ae70a9ca9871bb33e038782b036b7b53d":[3,0,25,2],
+"ipolates_8F90_source.html":[3,0,25],
+"ipolatev_8F90.html":[3,0,26],
+"ipolatev_8F90.html#a00fed53dd867a802b3adbc1141e8d272":[3,0,26,3],
+"ipolatev_8F90.html#a71d7507e8f89e1229caaaacb37e0c9c7":[3,0,26,4],
+"ipolatev_8F90.html#a8f3bfec7495e13b75b2035e8e1f081a1":[3,0,26,5],
+"ipolatev_8F90.html#abddc4a9b00133b358443b118f1352d1f":[3,0,26,1],
+"ipolatev_8F90.html#ad535ffd159c46e770effd774aabede58":[3,0,26,2],
+"ipolatev_8F90_source.html":[3,0,26],
+"ipxetas_8F90.html":[3,0,27],
+"ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1":[3,0,27,0],
+"ipxetas_8F90_source.html":[3,0,27],
+"ipxwafs2_8F90.html":[3,0,29],
+"ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894":[3,0,29,0],
+"ipxwafs2_8F90_source.html":[3,0,29],
+"ipxwafs3_8F90.html":[3,0,30],
+"ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d":[3,0,30,0],
+"ipxwafs3_8F90_source.html":[3,0,30],
+"ipxwafs_8F90.html":[3,0,28],
+"ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12":[3,0,28,0],
+"ipxwafs_8F90_source.html":[3,0,28],
+"lapack__gen_8F.html":[3,0,31],
+"lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781":[3,0,31,1],
+"lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547":[3,0,31,0],
+"lapack__gen_8F_source.html":[3,0,31],
+"movect_8F90.html":[3,0,32],
+"movect_8F90.html#a5974e32c0cf90a65b39c68460d761882":[3,0,32,0],
+"movect_8F90_source.html":[3,0,32],
+"namespacebicubic__interp__mod.html":[1,0,0],
+"namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1":[1,0,0,1],
+"namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16":[1,0,0,2],
+"namespacebilinear__interp__mod.html":[1,0,1],
+"namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398":[1,0,1,1],
+"namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04":[1,0,1,2],
+"namespacebudget__interp__mod.html":[1,0,2],
+"namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466":[1,0,2,1],
+"namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803":[1,0,2,2],
+"namespaceearth__radius__mod.html":[1,0,3],
+"namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54":[1,0,3,0],
+"namespacegdswzd__c__mod.html":[1,0,4],
+"namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504":[1,0,4,1],
+"namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4":[1,0,4,0],
+"namespacegdswzd__mod.html":[1,0,5],
+"namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37":[1,0,5,4],
+"namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45":[1,0,5,5],
+"namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4":[1,0,5,3],
+"namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861":[1,0,5,6],
+"namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76":[1,0,5,1],
+"namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25":[1,0,5,2],
+"namespaceip__constants__mod.html":[1,0,6],
+"namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5":[1,0,6,3],
+"namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4":[1,0,6,2],
+"namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15":[1,0,6,4],
+"namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb":[1,0,6,5],
+"namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011":[1,0,6,0],
+"namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545":[1,0,6,1],
+"namespaceip__equid__cylind__grid__mod.html":[1,0,7],
+"namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd":[1,0,7,2],
+"namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb":[1,0,7,7],
+"namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a":[1,0,7,6],
+"namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477":[1,0,7,5],
+"namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f":[1,0,7,8],
+"namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2":[1,0,7,1],
+"namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c":[1,0,7,9],
+"namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d":[1,0,7,3],
+"namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727":[1,0,7,4],
+"namespaceip__gaussian__grid__mod.html":[1,0,8],
+"namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc":[1,0,8,12],
+"namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028":[1,0,8,10],
+"namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9":[1,0,8,4],
+"namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2":[1,0,8,11],
+"namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d":[1,0,8,8],
+"namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01":[1,0,8,5],
+"namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780":[1,0,8,1],
+"namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad":[1,0,8,3],
+"namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d":[1,0,8,2],
+"namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2":[1,0,8,6],
+"namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc":[1,0,8,7],
+"namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a":[1,0,8,9],
+"namespaceip__grid__descriptor__mod.html":[1,0,9],
+"namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451":[1,0,9,6],
+"namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec":[1,0,9,7],
+"namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019":[1,0,9,8],
+"namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988":[1,0,9,9],
+"namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98":[1,0,9,5],
+"namespaceip__grid__factory__mod.html":[1,0,10],
+"namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46":[1,0,10,1],
+"namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225":[1,0,10,3],
+"namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5":[1,0,10,2],
+"namespaceip__grid__mod.html":[1,0,11],
+"namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe":[1,0,11,12],
+"namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316":[1,0,11,10],
+"namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6":[1,0,11,8],
+"namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3":[1,0,11,9],
+"namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c":[1,0,11,18],
+"namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3":[1,0,11,16],
+"namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442":[1,0,11,5],
+"namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045":[1,0,11,6],
+"namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16":[1,0,11,11],
+"namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682":[1,0,11,13],
+"namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb":[1,0,11,7],
+"namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14":[1,0,11,17],
+"namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a":[1,0,11,19],
+"namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856":[1,0,11,14],
+"namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1":[1,0,11,15],
+"namespaceip__grids__mod.html":[1,0,12],
+"namespaceip__interpolators__mod.html":[1,0,13],
+"namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258":[1,0,13,4],
+"namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1":[1,0,13,1],
+"namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359":[1,0,13,2],
+"namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851":[1,0,13,5],
+"namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e":[1,0,13,0],
+"namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c":[1,0,13,3],
+"namespaceip__lambert__conf__grid__mod.html":[1,0,14],
+"namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c":[1,0,14,4],
+"namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81":[1,0,14,8],
+"namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea":[1,0,14,2],
+"namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71":[1,0,14,6],
+"namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae":[1,0,14,5],
+"namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71":[1,0,14,1],
+"namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd":[1,0,14,11],
+"namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8":[1,0,14,7],
+"namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d":[1,0,14,12],
+"namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6":[1,0,14,10],
+"namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7":[1,0,14,9],
+"namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf":[1,0,14,3],
+"namespaceip__mercator__grid__mod.html":[1,0,15],
+"namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f":[1,0,15,7],
+"namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732":[1,0,15,8],
+"namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d":[1,0,15,2],
+"namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd":[1,0,15,4],
+"namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82":[1,0,15,3],
+"namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a":[1,0,15,5],
+"namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e":[1,0,15,1],
+"namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419":[1,0,15,9],
+"namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17":[1,0,15,6],
+"namespaceip__mod.html":[1,0,16],
+"namespaceip__polar__stereo__grid__mod.html":[1,0,17],
+"namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c":[1,0,17,12],
+"namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2":[1,0,17,4],
+"namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5":[1,0,17,14],
+"namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223":[1,0,17,5],
+"namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7":[1,0,17,3],
+"namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645":[1,0,17,11],
+"namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962":[1,0,17,7],
+"namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f":[1,0,17,2],
+"namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18":[1,0,17,13],
+"namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462":[1,0,17,6],
+"namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b":[1,0,17,10],
+"namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354":[1,0,17,8],
+"namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5":[1,0,17,1],
+"namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f":[1,0,17,9],
+"namespaceip__rot__equid__cylind__egrid__mod.html":[1,0,18],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68":[1,0,18,12],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6":[1,0,18,17],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e":[1,0,18,6],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900":[1,0,18,20],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640":[1,0,18,5],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e":[1,0,18,15],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec":[1,0,18,11],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48":[1,0,18,4],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d":[1,0,18,19],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142":[1,0,18,9],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571":[1,0,18,14],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888":[1,0,18,7],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399":[1,0,18,1],
+"namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab":[1,0,18,2],
+"namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416":[1,0,18,8],
+"namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30":[1,0,18,10],
+"namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b":[1,0,18,18],
+"namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb":[1,0,18,16],
+"namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc":[1,0,18,13],
+"namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0":[1,0,18,3],
+"namespaceip__rot__equid__cylind__grid__mod.html":[1,0,19],
+"namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f":[1,0,19,4],
+"namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10":[1,0,19,7],
+"namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b":[1,0,19,1],
+"namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df":[1,0,19,14],
+"namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1":[1,0,19,15],
+"namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b":[1,0,19,6],
+"namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702":[1,0,19,10],
+"namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d":[1,0,19,9],
+"namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1":[1,0,19,11],
+"namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee":[1,0,19,2],
+"namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd":[1,0,19,5],
+"namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d":[1,0,19,3],
+"namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b":[1,0,19,13],
+"namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6":[1,0,19,12],
+"namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852":[1,0,19,8],
+"namespaceip__station__points__grid__mod.html":[1,0,20],
+"namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff":[1,0,20,2]
 };
diff --git a/navtreeindex2.js b/navtreeindex2.js
index a335f5ed..85efd140 100644
--- a/navtreeindex2.js
+++ b/navtreeindex2.js
@@ -1,253 +1,253 @@
 var NAVTREEINDEX2 =
 {
-"namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0":[0,7,26,4],
-"namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc":[0,7,26,7],
-"neighbor__budget__interp__mod_8F90.html":[2,0,31],
-"neighbor__budget__interp__mod_8F90.html#a4309c1e6b7fc60ded40657fe6c72297e":[2,0,31,2],
-"neighbor__budget__interp__mod_8F90.html#a6d5110a9e9facf8c3132ec27d6857817":[2,0,31,1],
-"neighbor__budget__interp__mod_8F90_source.html":[2,0,31],
-"neighbor__interp__mod_8F90.html":[2,0,32],
-"neighbor__interp__mod_8F90.html#a744ccffd8cd6c13d360e634db4851756":[2,0,32,2],
-"neighbor__interp__mod_8F90.html#a78452d1527c6974ad54091f0318e4b1f":[2,0,32,1],
-"neighbor__interp__mod_8F90_source.html":[2,0,32],
+"namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197":[1,0,20,1],
+"namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d":[1,0,20,3],
+"namespaceipolates__mod.html":[1,0,21],
+"namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104":[1,0,21,5],
+"namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856":[1,0,21,4],
+"namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac":[1,0,21,3],
+"namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269":[1,0,21,1],
+"namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d":[1,0,21,2],
+"namespaceipolatev__mod.html":[1,0,22],
+"namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272":[1,0,22,3],
+"namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7":[1,0,22,4],
+"namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1":[1,0,22,5],
+"namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f":[1,0,22,1],
+"namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58":[1,0,22,2],
+"namespacemembers.html":[1,1,0],
+"namespacemembers_func.html":[1,1,1],
+"namespacemembers_vars.html":[1,1,2],
+"namespaceneighbor__budget__interp__mod.html":[1,0,23],
+"namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e":[1,0,23,2],
+"namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817":[1,0,23,1],
+"namespaceneighbor__interp__mod.html":[1,0,24],
+"namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756":[1,0,24,2],
+"namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f":[1,0,24,1],
+"namespacepolfix__mod.html":[1,0,25],
+"namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6":[1,0,25,0],
+"namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d":[1,0,25,1],
+"namespaces.html":[1,0],
+"namespacespectral__interp__mod.html":[1,0,26],
+"namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3":[1,0,26,8],
+"namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618":[1,0,26,3],
+"namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a":[1,0,26,6],
+"namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366":[1,0,26,5],
+"namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0":[1,0,26,4],
+"namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc":[1,0,26,7],
+"ncpus_8F.html":[3,0,33],
+"ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd":[3,0,33,0],
+"ncpus_8F_source.html":[3,0,33],
+"neighbor__budget__interp__mod_8F90.html":[3,0,34],
+"neighbor__budget__interp__mod_8F90.html#a4309c1e6b7fc60ded40657fe6c72297e":[3,0,34,2],
+"neighbor__budget__interp__mod_8F90.html#a6d5110a9e9facf8c3132ec27d6857817":[3,0,34,1],
+"neighbor__budget__interp__mod_8F90_source.html":[3,0,34],
+"neighbor__interp__mod_8F90.html":[3,0,35],
+"neighbor__interp__mod_8F90.html#a744ccffd8cd6c13d360e634db4851756":[3,0,35,2],
+"neighbor__interp__mod_8F90.html#a78452d1527c6974ad54091f0318e4b1f":[3,0,35,1],
+"neighbor__interp__mod_8F90_source.html":[3,0,35],
 "pages.html":[],
-"polfix__mod_8F90.html":[2,0,33],
-"polfix__mod_8F90.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6":[2,0,33,0],
-"polfix__mod_8F90.html#aeefc8f045777f6d962d9ec539ef6007d":[2,0,33,1],
-"polfix__mod_8F90_source.html":[2,0,33],
-"spectral__interp__mod_8F90.html":[2,0,34],
-"spectral__interp__mod_8F90.html#a2f76e9900554d90753ca788c2ddf9ac3":[2,0,34,8],
-"spectral__interp__mod_8F90.html#a438646d69e941def0ada00d5ca19f618":[2,0,34,3],
-"spectral__interp__mod_8F90.html#a54dfd0ea8368242a1053d64770bd295a":[2,0,34,6],
-"spectral__interp__mod_8F90.html#ab9fb87d87f2f9d578a5ade6b512ff366":[2,0,34,5],
-"spectral__interp__mod_8F90.html#acb61ad529b7decc2a6ff58dd12fbadd0":[2,0,34,4],
-"spectral__interp__mod_8F90.html#af4ce7638750e787dd69c7fe3ff2335cc":[2,0,34,7],
-"spectral__interp__mod_8F90_source.html":[2,0,34],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html":[1,0,4,0],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,4,0,18],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,4,0,15],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,4,0,8],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,4,0,17],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea":[1,0,4,0,23],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,4,0,2],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,4,0,16],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,4,0,19],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,4,0,12],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7":[1,0,4,0,20],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,4,0,5],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,4,0,10],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70":[1,0,4,0,3],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719":[1,0,4,0,6],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db":[1,0,4,0,4],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,4,0,13],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3":[1,0,4,0,1],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871":[1,0,4,0,22],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,4,0,0],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42":[1,0,4,0,21],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,4,0,11],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7":[1,0,4,0,7],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,4,0,14],
-"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc":[1,0,4,0,9],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html":[1,0,5,0],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,5,0,20],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,5,0,17],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34":[1,0,5,0,11],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,5,0,7],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,5,0,19],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,5,0,2],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,5,0,18],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,5,0,21],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8":[1,0,5,0,6],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a":[1,0,5,0,4],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44":[1,0,5,0,24],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903":[1,0,5,0,14],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,5,0,13],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,5,0,5],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,5,0,9],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4":[1,0,5,0,12],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d":[1,0,5,0,23],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885":[1,0,5,0,1],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,5,0,15],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,5,0,0],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc":[1,0,5,0,22],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,5,0,10],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,5,0,16],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc":[1,0,5,0,8],
-"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7":[1,0,5,0,3],
-"structip__grid__descriptor__mod_1_1grib1__descriptor.html":[1,0,6,0],
-"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9":[1,0,6,0,2],
-"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95":[1,0,6,0,1],
-"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1":[1,0,6,0,3],
-"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a9da102dac348a63ffce6556ed5da81b6":[1,0,6,0,0],
-"structip__grid__descriptor__mod_1_1grib2__descriptor.html":[1,0,6,1],
-"structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe":[1,0,6,1,4],
-"structip__grid__descriptor__mod_1_1grib2__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1":[1,0,6,1,5],
-"structip__grid__descriptor__mod_1_1grib2__descriptor.html#a9da102dac348a63ffce6556ed5da81b6":[1,0,6,1,0],
-"structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19":[1,0,6,1,3],
-"structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06":[1,0,6,1,2],
-"structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013":[1,0,6,1,1],
-"structip__grid__descriptor__mod_1_1ip__grid__descriptor.html":[1,0,6,3],
-"structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1":[1,0,6,3,1],
-"structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6":[1,0,6,3,0],
-"structip__grid__mod_1_1ip__grid.html":[1,0,8,3],
-"structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,8,3,15],
-"structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,8,3,12],
-"structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,8,3,6],
-"structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,8,3,14],
-"structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,8,3,2],
-"structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,8,3,13],
-"structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,8,3,16],
-"structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,8,3,9],
-"structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,8,3,5],
-"structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,8,3,7],
-"structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806":[1,0,8,3,3],
-"structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080":[1,0,8,3,1],
-"structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,8,3,10],
-"structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,8,3,0],
-"structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9":[1,0,8,3,4],
-"structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,8,3,8],
-"structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,8,3,11],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html":[1,0,9,0],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a":[1,0,9,0,20],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,9,0,19],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,9,0,16],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf":[1,0,9,0,11],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,9,0,8],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,9,0,18],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,9,0,2],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,9,0,17],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,9,0,21],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370":[1,0,9,0,3],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,9,0,13],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc":[1,0,9,0,7],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,9,0,5],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,9,0,10],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932":[1,0,9,0,22],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a":[1,0,9,0,4],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03":[1,0,9,0,9],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4":[1,0,9,0,23],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,9,0,14],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc":[1,0,9,0,6],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc":[1,0,9,0,1],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f":[1,0,9,0,25],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,9,0,0],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,9,0,12],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,9,0,15],
-"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b":[1,0,9,0,24],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html":[1,0,10,0],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,10,0,18],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,10,0,15],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c":[1,0,10,0,23],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,10,0,8],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,10,0,17],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,10,0,2],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7":[1,0,10,0,20],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,10,0,16],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,10,0,19],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef":[1,0,10,0,21],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5":[1,0,10,0,7],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c":[1,0,10,0,3],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,10,0,12],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee":[1,0,10,0,6],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,10,0,5],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0":[1,0,10,0,4],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,10,0,10],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2":[1,0,10,0,9],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,10,0,13],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a":[1,0,10,0,1],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,10,0,0],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723":[1,0,10,0,22],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,10,0,11],
-"structip__mercator__grid__mod_1_1ip__mercator__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,10,0,14],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html":[1,0,11,0],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640":[1,0,11,0,23],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,11,0,20],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,11,0,17],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10":[1,0,11,0,12],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,11,0,8],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,11,0,19],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f":[1,0,11,0,9],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,11,0,2],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,11,0,18],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,11,0,22],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,11,0,14],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,11,0,5],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,11,0,11],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728":[1,0,11,0,24],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f":[1,0,11,0,10],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,11,0,15],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b":[1,0,11,0,7],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c":[1,0,11,0,4],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21":[1,0,11,0,1],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b":[1,0,11,0,25],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1":[1,0,11,0,6],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,11,0,0],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,11,0,13],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce":[1,0,11,0,3],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,11,0,16],
-"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4":[1,0,11,0,21],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html":[1,0,12,0],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c":[1,0,12,0,7],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,12,0,20],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,12,0,17],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,12,0,9],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,12,0,19],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,12,0,2],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206":[1,0,12,0,8],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,12,0,18],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,12,0,21],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121":[1,0,12,0,24],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a41a2a38288864520d8c50854d1843f87":[1,0,12,0,14],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,12,0,6],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,12,0,11],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e":[1,0,12,0,12],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780":[1,0,12,0,1],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e":[1,0,12,0,23],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda":[1,0,12,0,5],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08":[1,0,12,0,22],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a92976f110dd7e823799991137ac970a1":[1,0,12,0,15],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5":[1,0,12,0,10],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a":[1,0,12,0,3],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,12,0,0],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66":[1,0,12,0,25],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4":[1,0,12,0,4],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,12,0,13],
-"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,12,0,16],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html":[1,0,13,0],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,13,0,19],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,13,0,16],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4":[1,0,13,0,1],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,13,0,9],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,13,0,18],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,13,0,2],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f":[1,0,13,0,22],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,13,0,17],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,13,0,20],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634":[1,0,13,0,4],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a":[1,0,13,0,24],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,13,0,13],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5":[1,0,13,0,5],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,13,0,6],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,13,0,10],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85":[1,0,13,0,8],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c":[1,0,13,0,21],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc":[1,0,13,0,23],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,13,0,14],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca":[1,0,13,0,3],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,13,0,0],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,13,0,12],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f":[1,0,13,0,11],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,13,0,15],
-"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6":[1,0,13,0,7],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html":[1,0,14,0],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,14,0,15],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,14,0,12],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,14,0,6],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,14,0,14],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,14,0,2],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,14,0,13],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,14,0,16],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,14,0,9],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,14,0,5],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,14,0,7]
+"polfix__mod_8F90.html":[3,0,36],
+"polfix__mod_8F90.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6":[3,0,36,0],
+"polfix__mod_8F90.html#aeefc8f045777f6d962d9ec539ef6007d":[3,0,36,1],
+"polfix__mod_8F90_source.html":[3,0,36],
+"spanaly_8f.html":[3,0,37],
+"spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a":[3,0,37,0],
+"spanaly_8f_source.html":[3,0,37],
+"spdz2uv_8f.html":[3,0,38],
+"spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692":[3,0,38,0],
+"spdz2uv_8f_source.html":[3,0,38],
+"spectral__interp__mod_8F90.html":[3,0,39],
+"spectral__interp__mod_8F90.html#a2f76e9900554d90753ca788c2ddf9ac3":[3,0,39,8],
+"spectral__interp__mod_8F90.html#a438646d69e941def0ada00d5ca19f618":[3,0,39,3],
+"spectral__interp__mod_8F90.html#a54dfd0ea8368242a1053d64770bd295a":[3,0,39,6],
+"spectral__interp__mod_8F90.html#ab9fb87d87f2f9d578a5ade6b512ff366":[3,0,39,5],
+"spectral__interp__mod_8F90.html#acb61ad529b7decc2a6ff58dd12fbadd0":[3,0,39,4],
+"spectral__interp__mod_8F90.html#af4ce7638750e787dd69c7fe3ff2335cc":[3,0,39,7],
+"spectral__interp__mod_8F90_source.html":[3,0,39],
+"speps_8f.html":[3,0,40],
+"speps_8f.html#a0ab523ec5e1393ffca970897e63a9131":[3,0,40,0],
+"speps_8f_source.html":[3,0,40],
+"spfft1_8f.html":[3,0,42],
+"spfft1_8f.html#ac63643472eda83948c0b249b611346d6":[3,0,42,0],
+"spfft1_8f_source.html":[3,0,42],
+"spfft_8f.html":[3,0,41],
+"spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d":[3,0,41,0],
+"spfft_8f_source.html":[3,0,41],
+"spffte_8f.html":[3,0,43],
+"spffte_8f.html#af06489254bd3e99030b39744fce32233":[3,0,43,0],
+"spffte_8f_source.html":[3,0,43],
+"spfftpt_8f.html":[3,0,44],
+"spfftpt_8f.html#ad16e674ce87bd762a714853967f81356":[3,0,44,0],
+"spfftpt_8f_source.html":[3,0,44],
+"spgradq_8f.html":[3,0,45],
+"spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849":[3,0,45,0],
+"spgradq_8f_source.html":[3,0,45],
+"spgradx_8f.html":[3,0,46],
+"spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4":[3,0,46,0],
+"spgradx_8f_source.html":[3,0,46],
+"spgrady_8f.html":[3,0,47],
+"spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1":[3,0,47,0],
+"spgrady_8f_source.html":[3,0,47],
+"splaplac_8f.html":[3,0,48],
+"splaplac_8f.html#a64338955857a3cf58283146940e7ae42":[3,0,48,0],
+"splaplac_8f_source.html":[3,0,48],
+"splat_8F.html":[3,0,49],
+"splat_8F.html#aa6db21451bb67635e7e4426546140e11":[3,0,49,0],
+"splat_8F_source.html":[3,0,49],
+"splegend_8f.html":[3,0,50],
+"splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac":[3,0,50,0],
+"splegend_8f_source.html":[3,0,50],
+"sppad_8f.html":[3,0,51],
+"sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e":[3,0,51,0],
+"sppad_8f_source.html":[3,0,51],
+"spsynth_8f.html":[3,0,52],
+"spsynth_8f.html#aa6a8113a459918728c876673520126bf":[3,0,52,0],
+"spsynth_8f_source.html":[3,0,52],
+"sptez_8f.html":[3,0,53],
+"sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc":[3,0,53,0],
+"sptez_8f_source.html":[3,0,53],
+"sptezd_8f.html":[3,0,54],
+"sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7":[3,0,54,0],
+"sptezd_8f_source.html":[3,0,54],
+"sptezm_8f.html":[3,0,55],
+"sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1":[3,0,55,0],
+"sptezm_8f_source.html":[3,0,55],
+"sptezmd_8f.html":[3,0,56],
+"sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996":[3,0,56,0],
+"sptezmd_8f_source.html":[3,0,56],
+"sptezmv_8f.html":[3,0,57],
+"sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e":[3,0,57,0],
+"sptezmv_8f_source.html":[3,0,57],
+"sptezv_8f.html":[3,0,58],
+"sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226":[3,0,58,0],
+"sptezv_8f_source.html":[3,0,58],
+"sptgpm_8f.html":[3,0,59],
+"sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d":[3,0,59,0],
+"sptgpm_8f_source.html":[3,0,59],
+"sptgpmd_8f.html":[3,0,60],
+"sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539":[3,0,60,0],
+"sptgpmd_8f_source.html":[3,0,60],
+"sptgpmv_8f.html":[3,0,61],
+"sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17":[3,0,61,0],
+"sptgpmv_8f_source.html":[3,0,61],
+"sptgps_8f.html":[3,0,62],
+"sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2":[3,0,62,0],
+"sptgps_8f_source.html":[3,0,62],
+"sptgpsd_8f.html":[3,0,63],
+"sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30":[3,0,63,0],
+"sptgpsd_8f_source.html":[3,0,63],
+"sptgpsv_8f.html":[3,0,64],
+"sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079":[3,0,64,0],
+"sptgpsv_8f_source.html":[3,0,64],
+"sptgpt_8f.html":[3,0,65],
+"sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1":[3,0,65,0],
+"sptgpt_8f_source.html":[3,0,65],
+"sptgptd_8f.html":[3,0,66],
+"sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3":[3,0,66,0],
+"sptgptd_8f_source.html":[3,0,66],
+"sptgptsd_8f.html":[3,0,67],
+"sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f":[3,0,67,0],
+"sptgptsd_8f_source.html":[3,0,67],
+"sptgptv_8f.html":[3,0,68],
+"sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13":[3,0,68,0],
+"sptgptv_8f_source.html":[3,0,68],
+"sptgptvd_8f.html":[3,0,69],
+"sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753":[3,0,69,0],
+"sptgptvd_8f_source.html":[3,0,69],
+"sptran_8f.html":[3,0,70],
+"sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0":[3,0,70,0],
+"sptran_8f_source.html":[3,0,70],
+"sptrand_8f.html":[3,0,71],
+"sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef":[3,0,71,0],
+"sptrand_8f_source.html":[3,0,71],
+"sptranf0_8f.html":[3,0,73],
+"sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0":[3,0,73,0],
+"sptranf0_8f_source.html":[3,0,73],
+"sptranf1_8f.html":[3,0,74],
+"sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6":[3,0,74,0],
+"sptranf1_8f_source.html":[3,0,74],
+"sptranf_8f.html":[3,0,72],
+"sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c":[3,0,72,0],
+"sptranf_8f_source.html":[3,0,72],
+"sptranfv_8f.html":[3,0,75],
+"sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106":[3,0,75,0],
+"sptranfv_8f_source.html":[3,0,75],
+"sptranv_8f.html":[3,0,76],
+"sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1":[3,0,76,0],
+"sptranv_8f_source.html":[3,0,76],
+"sptrun_8f.html":[3,0,77],
+"sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473":[3,0,77,0],
+"sptrun_8f_source.html":[3,0,77],
+"sptrund_8f.html":[3,0,78],
+"sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480":[3,0,78,0],
+"sptrund_8f_source.html":[3,0,78],
+"sptrung_8f.html":[3,0,79],
+"sptrung_8f.html#af41b64dad4789617a315515ef885912c":[3,0,79,0],
+"sptrung_8f_source.html":[3,0,79],
+"sptrungv_8f.html":[3,0,80],
+"sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164":[3,0,80,0],
+"sptrungv_8f_source.html":[3,0,80],
+"sptrunl_8f.html":[3,0,81],
+"sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8":[3,0,81,0],
+"sptrunl_8f_source.html":[3,0,81],
+"sptrunm_8f.html":[3,0,82],
+"sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6":[3,0,82,0],
+"sptrunm_8f_source.html":[3,0,82],
+"sptrunmv_8f.html":[3,0,83],
+"sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd":[3,0,83,0],
+"sptrunmv_8f_source.html":[3,0,83],
+"sptruns_8f.html":[3,0,84],
+"sptruns_8f.html#a34f156e2049105d012e445f8aa215444":[3,0,84,0],
+"sptruns_8f_source.html":[3,0,84],
+"sptrunsv_8f.html":[3,0,85],
+"sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656":[3,0,85,0],
+"sptrunsv_8f_source.html":[3,0,85],
+"sptrunv_8f.html":[3,0,86],
+"sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f":[3,0,86,0],
+"sptrunv_8f_source.html":[3,0,86],
+"spuv2dz_8f.html":[3,0,87],
+"spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9":[3,0,87,0],
+"spuv2dz_8f_source.html":[3,0,87],
+"spvar_8f.html":[3,0,88],
+"spvar_8f.html#a840f95e09b8d930b38638a391933bee4":[3,0,88,0],
+"spvar_8f_source.html":[3,0,88],
+"spwget_8f.html":[3,0,89],
+"spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6":[3,0,89,0],
+"spwget_8f_source.html":[3,0,89],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html":[2,0,4,0],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a0640093c52461763f904cc2f12c96b6c":[2,0,4,0,18],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a084603b1c052e76c3335fea2e887cfce":[2,0,4,0,15],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[2,0,4,0,8],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[2,0,4,0,17],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea":[2,0,4,0,23],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[2,0,4,0,2],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[2,0,4,0,16],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[2,0,4,0,19],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a41a2a38288864520d8c50854d1843f87":[2,0,4,0,12],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7":[2,0,4,0,20],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[2,0,4,0,5],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[2,0,4,0,10],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70":[2,0,4,0,3],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719":[2,0,4,0,6],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db":[2,0,4,0,4],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a92976f110dd7e823799991137ac970a1":[2,0,4,0,13],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3":[2,0,4,0,1],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871":[2,0,4,0,22],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[2,0,4,0,0],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42":[2,0,4,0,21],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae179622b9a4c764a5ca90385330941ed":[2,0,4,0,11],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7":[2,0,4,0,7],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[2,0,4,0,14],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc":[2,0,4,0,9],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html":[2,0,5,0],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a0640093c52461763f904cc2f12c96b6c":[2,0,5,0,20],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a084603b1c052e76c3335fea2e887cfce":[2,0,5,0,17],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34":[2,0,5,0,11],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[2,0,5,0,7],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[2,0,5,0,19],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[2,0,5,0,2],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[2,0,5,0,18],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[2,0,5,0,21],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8":[2,0,5,0,6],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a":[2,0,5,0,4]
 };
diff --git a/navtreeindex3.js b/navtreeindex3.js
index edc06e23..6796090e 100644
--- a/navtreeindex3.js
+++ b/navtreeindex3.js
@@ -1,10 +1,201 @@
 var NAVTREEINDEX3 =
 {
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e":[1,0,14,0,4],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,14,0,10],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f":[1,0,14,0,1],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32":[1,0,14,0,3],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,14,0,0],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,14,0,8],
-"structip__station__points__grid__mod_1_1ip__station__points__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,14,0,11]
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44":[2,0,5,0,24],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903":[2,0,5,0,14],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a41a2a38288864520d8c50854d1843f87":[2,0,5,0,13],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[2,0,5,0,5],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[2,0,5,0,9],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4":[2,0,5,0,12],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d":[2,0,5,0,23],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885":[2,0,5,0,1],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a92976f110dd7e823799991137ac970a1":[2,0,5,0,15],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[2,0,5,0,0],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc":[2,0,5,0,22],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae179622b9a4c764a5ca90385330941ed":[2,0,5,0,10],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[2,0,5,0,16],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc":[2,0,5,0,8],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7":[2,0,5,0,3],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html":[2,0,6,0],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9":[2,0,6,0,2],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95":[2,0,6,0,1],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1":[2,0,6,0,3],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a9da102dac348a63ffce6556ed5da81b6":[2,0,6,0,0],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html":[2,0,6,1],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe":[2,0,6,1,4],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1":[2,0,6,1,5],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#a9da102dac348a63ffce6556ed5da81b6":[2,0,6,1,0],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19":[2,0,6,1,3],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06":[2,0,6,1,2],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013":[2,0,6,1,1],
+"structip__grid__descriptor__mod_1_1ip__grid__descriptor.html":[2,0,6,3],
+"structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1":[2,0,6,3,1],
+"structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6":[2,0,6,3,0],
+"structip__grid__mod_1_1ip__grid.html":[2,0,8,3],
+"structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c":[2,0,8,3,15],
+"structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce":[2,0,8,3,12],
+"structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[2,0,8,3,6],
+"structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[2,0,8,3,14],
+"structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[2,0,8,3,2],
+"structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[2,0,8,3,13],
+"structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[2,0,8,3,16],
+"structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87":[2,0,8,3,9],
+"structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[2,0,8,3,5],
+"structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[2,0,8,3,7],
+"structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806":[2,0,8,3,3],
+"structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080":[2,0,8,3,1],
+"structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1":[2,0,8,3,10],
+"structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[2,0,8,3,0],
+"structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9":[2,0,8,3,4],
+"structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed":[2,0,8,3,8],
+"structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[2,0,8,3,11],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html":[2,0,9,0],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a":[2,0,9,0,20],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0640093c52461763f904cc2f12c96b6c":[2,0,9,0,19],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a084603b1c052e76c3335fea2e887cfce":[2,0,9,0,16],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf":[2,0,9,0,11],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[2,0,9,0,8],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[2,0,9,0,18],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[2,0,9,0,2],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[2,0,9,0,17],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[2,0,9,0,21],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370":[2,0,9,0,3],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a41a2a38288864520d8c50854d1843f87":[2,0,9,0,13],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc":[2,0,9,0,7],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[2,0,9,0,5],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[2,0,9,0,10],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932":[2,0,9,0,22],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a":[2,0,9,0,4],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03":[2,0,9,0,9],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4":[2,0,9,0,23],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a92976f110dd7e823799991137ac970a1":[2,0,9,0,14],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc":[2,0,9,0,6],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc":[2,0,9,0,1],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f":[2,0,9,0,25],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[2,0,9,0,0],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae179622b9a4c764a5ca90385330941ed":[2,0,9,0,12],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[2,0,9,0,15],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b":[2,0,9,0,24],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html":[2,0,10,0],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0640093c52461763f904cc2f12c96b6c":[2,0,10,0,18],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a084603b1c052e76c3335fea2e887cfce":[2,0,10,0,15],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c":[2,0,10,0,23],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[2,0,10,0,8],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[2,0,10,0,17],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[2,0,10,0,2],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7":[2,0,10,0,20],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[2,0,10,0,16],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[2,0,10,0,19],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef":[2,0,10,0,21],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5":[2,0,10,0,7],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c":[2,0,10,0,3],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a41a2a38288864520d8c50854d1843f87":[2,0,10,0,12],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee":[2,0,10,0,6],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[2,0,10,0,5],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0":[2,0,10,0,4],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[2,0,10,0,10],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2":[2,0,10,0,9],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a92976f110dd7e823799991137ac970a1":[2,0,10,0,13],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a":[2,0,10,0,1],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[2,0,10,0,0],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723":[2,0,10,0,22],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#ae179622b9a4c764a5ca90385330941ed":[2,0,10,0,11],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[2,0,10,0,14],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html":[2,0,11,0],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640":[2,0,11,0,23],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a0640093c52461763f904cc2f12c96b6c":[2,0,11,0,20],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a084603b1c052e76c3335fea2e887cfce":[2,0,11,0,17],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10":[2,0,11,0,12],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[2,0,11,0,8],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[2,0,11,0,19],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f":[2,0,11,0,9],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[2,0,11,0,2],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[2,0,11,0,18],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[2,0,11,0,22],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a41a2a38288864520d8c50854d1843f87":[2,0,11,0,14],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[2,0,11,0,5],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[2,0,11,0,11],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728":[2,0,11,0,24],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f":[2,0,11,0,10],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a92976f110dd7e823799991137ac970a1":[2,0,11,0,15],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b":[2,0,11,0,7],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c":[2,0,11,0,4],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21":[2,0,11,0,1],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b":[2,0,11,0,25],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1":[2,0,11,0,6],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[2,0,11,0,0],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae179622b9a4c764a5ca90385330941ed":[2,0,11,0,13],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce":[2,0,11,0,3],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[2,0,11,0,16],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4":[2,0,11,0,21],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html":[2,0,12,0],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c":[2,0,12,0,7],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a0640093c52461763f904cc2f12c96b6c":[2,0,12,0,20],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a084603b1c052e76c3335fea2e887cfce":[2,0,12,0,17],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a180a5da6c470fac34b8439d4c0a32d2a":[2,0,12,0,9],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[2,0,12,0,19],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[2,0,12,0,2],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206":[2,0,12,0,8],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[2,0,12,0,18],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[2,0,12,0,21],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121":[2,0,12,0,24],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a41a2a38288864520d8c50854d1843f87":[2,0,12,0,14],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a4a2a0dab09f05931d12615b0ac74bc51":[2,0,12,0,6],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[2,0,12,0,11],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e":[2,0,12,0,12],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780":[2,0,12,0,1],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e":[2,0,12,0,23],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda":[2,0,12,0,5],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08":[2,0,12,0,22],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a92976f110dd7e823799991137ac970a1":[2,0,12,0,15],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5":[2,0,12,0,10],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a":[2,0,12,0,3],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[2,0,12,0,0],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66":[2,0,12,0,25],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4":[2,0,12,0,4],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ae179622b9a4c764a5ca90385330941ed":[2,0,12,0,13],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ae70be8cebcd217a49be4da1cebfc19d2":[2,0,12,0,16],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html":[2,0,13,0],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0640093c52461763f904cc2f12c96b6c":[2,0,13,0,19],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a084603b1c052e76c3335fea2e887cfce":[2,0,13,0,16],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4":[2,0,13,0,1],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[2,0,13,0,9],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[2,0,13,0,18],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[2,0,13,0,2],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f":[2,0,13,0,22],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[2,0,13,0,17],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[2,0,13,0,20],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634":[2,0,13,0,4],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a":[2,0,13,0,24],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a41a2a38288864520d8c50854d1843f87":[2,0,13,0,13],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5":[2,0,13,0,5],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[2,0,13,0,6],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[2,0,13,0,10],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85":[2,0,13,0,8],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c":[2,0,13,0,21],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc":[2,0,13,0,23],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a92976f110dd7e823799991137ac970a1":[2,0,13,0,14],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca":[2,0,13,0,3],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[2,0,13,0,0],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae179622b9a4c764a5ca90385330941ed":[2,0,13,0,12],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f":[2,0,13,0,11],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[2,0,13,0,15],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6":[2,0,13,0,7],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html":[2,0,14,0],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a0640093c52461763f904cc2f12c96b6c":[2,0,14,0,15],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a084603b1c052e76c3335fea2e887cfce":[2,0,14,0,12],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[2,0,14,0,6],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[2,0,14,0,14],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[2,0,14,0,2],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[2,0,14,0,13],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[2,0,14,0,16],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a41a2a38288864520d8c50854d1843f87":[2,0,14,0,9],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[2,0,14,0,5],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[2,0,14,0,7],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e":[2,0,14,0,4],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a92976f110dd7e823799991137ac970a1":[2,0,14,0,10],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f":[2,0,14,0,1],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32":[2,0,14,0,3],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[2,0,14,0,0],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#ae179622b9a4c764a5ca90385330941ed":[2,0,14,0,8],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[2,0,14,0,11]
 };
diff --git a/ncpus_8F.html b/ncpus_8F.html
new file mode 100644
index 00000000..d2626304
--- /dev/null
+++ b/ncpus_8F.html
@@ -0,0 +1,165 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ncpus.F File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ncpus_8F.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ncpus.F File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Set number of cpus.  
+<a href="#details">More...</a></p>
+
+<p><a href="ncpus_8F_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a821a75ee067ea31758a038c0327bd3bd"><td class="memItemLeft" align="right" valign="top">function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a> ()</td></tr>
+<tr class="memdesc:a821a75ee067ea31758a038c0327bd3bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set number of CPUs - the number of processors over which to parallelize.  <a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">More...</a><br /></td></tr>
+<tr class="separator:a821a75ee067ea31758a038c0327bd3bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Set number of cpus. </p>
+<h3><a class="anchor" id="autotoc_md43"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">94-08-19   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">98-11-09   </td><td class="markdownTableBodyNone">Vuong   </td><td class="markdownTableBodyNone">Add doc&gt;block and remove cray references.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">1998-12-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">IBM SMP version.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2010-11-16   </td><td class="markdownTableBodyNone">Slovacek   </td><td class="markdownTableBodyNone">Linux must have different call.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2012-11-01   </td><td class="markdownTableBodyNone">Mirvis   </td><td class="markdownTableBodyNone">Multi-threading on LINUX-IBM/TIDE.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>94-08-19 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ncpus_8F_source.html">ncpus.F</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a821a75ee067ea31758a038c0327bd3bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a821a75ee067ea31758a038c0327bd3bd">&#9670;&nbsp;</a></span>ncpus()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">function ncpus</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set number of CPUs - the number of processors over which to parallelize. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">ncpus</td><td>number of CPUs.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Number of CPUs assigned.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>94-08-19 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ncpus_8F_source.html#l00023">23</a> of file <a class="el" href="ncpus_8F_source.html">ncpus.F</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptez_8f_source.html#l00050">sptez()</a>, <a class="el" href="sptezd_8f_source.html#l00052">sptezd()</a>, <a class="el" href="sptezm_8f_source.html#l00051">sptezm()</a>, <a class="el" href="sptezmd_8f_source.html#l00054">sptezmd()</a>, <a class="el" href="sptezmv_8f_source.html#l00055">sptezmv()</a>, <a class="el" href="sptezv_8f_source.html#l00053">sptezv()</a>, <a class="el" href="sptran_8f_source.html#l00088">sptran()</a>, <a class="el" href="sptranv_8f_source.html#l00091">sptranv()</a>, <a class="el" href="sptrun_8f_source.html#l00058">sptrun()</a>, <a class="el" href="sptrund_8f_source.html#l00076">sptrund()</a>, <a class="el" href="sptrung_8f_source.html#l00068">sptrung()</a>, <a class="el" href="sptrungv_8f_source.html#l00085">sptrungv()</a>, <a class="el" href="sptrunl_8f_source.html#l00082">sptrunl()</a>, <a class="el" href="sptrunm_8f_source.html#l00080">sptrunm()</a>, <a class="el" href="sptrunmv_8f_source.html#l00096">sptrunmv()</a>, <a class="el" href="sptruns_8f_source.html#l00075">sptruns()</a>, <a class="el" href="sptrunsv_8f_source.html#l00094">sptrunsv()</a>, and <a class="el" href="sptrunv_8f_source.html#l00096">sptrunv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ncpus_8F.html">ncpus.F</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ncpus_8F.js b/ncpus_8F.js
new file mode 100644
index 00000000..16d02677
--- /dev/null
+++ b/ncpus_8F.js
@@ -0,0 +1,4 @@
+var ncpus_8F =
+[
+    [ "ncpus", "ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd", null ]
+];
\ No newline at end of file
diff --git a/ncpus_8F_source.html b/ncpus_8F_source.html
new file mode 100644
index 00000000..81572070
--- /dev/null
+++ b/ncpus_8F_source.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ncpus.F Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ncpus_8F_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ncpus.F</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ncpus_8F.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; Set number of cpus.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 94-08-19 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 98-11-09 | Vuong | Add doc&gt;block and remove cray references.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; 1998-12-18 | Iredell | IBM SMP version.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; 2010-11-16 | Slovacek | Linux must have different call.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; 2012-11-01 | Mirvis | Multi-threading on LINUX-IBM/TIDE.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; @author Iredell @date 94-08-19</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160; </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; Set number of CPUs - the number of processors over which</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; to parallelize.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param[out] ncpus number of CPUs.</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; @return Number of CPUs assigned.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @author Iredell @date 94-08-19</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">   23</a></span>&#160;      <span class="keyword">FUNCTION </span><a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;      <span class="keywordtype">INTEGER</span> nthreads, tid, omp_get_num_threads,omp_get_thread_num</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C    Obtain thread number</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;#ifdef openmp</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">!$OMP PARALLEL PRIVATE(TID)</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;      tid = omp_get_thread_num()</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">!      PRINT *, &#39;...............thread # &#39;, TID</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="keywordflow">if</span> (tid. eq. 0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        <a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>=omp_get_num_threads()</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">!        PRINT *, &#39;totaly #------------------- of threads = &#39;,NCPUS</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keywordflow">    endif</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">!$OMP END PARALLEL</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span>      tid = 0</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;      <a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a> = 1</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span>      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ncpus_8F.html">ncpus.F</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/neighbor__budget__interp__mod_8F90.html b/neighbor__budget__interp__mod_8F90.html
index e752391c..2eac8795 100644
--- a/neighbor__budget__interp__mod_8F90.html
+++ b/neighbor__budget__interp__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/neighbor__budget__interp__mod_8F90_source.html b/neighbor__budget__interp__mod_8F90_source.html
index eaaac4c6..f6bf4505 100644
--- a/neighbor__budget__interp__mod_8F90_source.html
+++ b/neighbor__budget__interp__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/neighbor__interp__mod_8F90.html b/neighbor__interp__mod_8F90.html
index 69480747..24479a33 100644
--- a/neighbor__interp__mod_8F90.html
+++ b/neighbor__interp__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/neighbor__interp__mod_8F90_source.html b/neighbor__interp__mod_8F90_source.html
index 8c2beb53..e874a80a 100644
--- a/neighbor__interp__mod_8F90_source.html
+++ b/neighbor__interp__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/polfix__mod_8F90.html b/polfix__mod_8F90.html
index 8940d2b5..84087536 100644
--- a/polfix__mod_8F90.html
+++ b/polfix__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/polfix__mod_8F90_source.html b/polfix__mod_8F90_source.html
index 08bb8877..8aec2a2f 100644
--- a/polfix__mod_8F90_source.html
+++ b/polfix__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/search/all_10.js b/search/all_10.js
index b6c8e486..fc9c74b6 100644
--- a/search/all_10.js
+++ b/search/all_10.js
@@ -1,24 +1,40 @@
 var searchData=
 [
-  ['rerth_227',['rerth',['../namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b',1,'ip_rot_equid_cylind_grid_mod::rerth()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb',1,'ip_rot_equid_cylind_egrid_mod::rerth()'],['../namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5',1,'ip_polar_stereo_grid_mod::rerth()'],['../namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419',1,'ip_mercator_grid_mod::rerth()'],['../namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d',1,'ip_lambert_conf_grid_mod::rerth()'],['../namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2',1,'ip_gaussian_grid_mod::rerth()'],['../namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c',1,'ip_equid_cylind_grid_mod::rerth()'],['../structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8',1,'ip_grid_mod::ip_grid::rerth()']]],
-  ['rerth_5fwgs84_228',['rerth_wgs84',['../namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb',1,'ip_constants_mod']]],
-  ['rlat1_229',['rlat1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlat1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlat1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlat1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7',1,'ip_mercator_grid_mod::ip_mercator_grid::rlat1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlat1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlat1()']]],
-  ['rlat2_230',['rlat2',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid']]],
-  ['rlati_231',['rlati',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef',1,'ip_mercator_grid_mod::ip_mercator_grid']]],
-  ['rlati1_232',['rlati1',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
-  ['rlati2_233',['rlati2',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
-  ['rlon0_234',['rlon0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6',1,'ip_rot_equid_cylind_egrid_mod::rlon0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df',1,'ip_rot_equid_cylind_grid_mod::rlon0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::rlon0()']]],
-  ['rlon1_235',['rlon1',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlon1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlon1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon1()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon1()']]],
-  ['rlon2_236',['rlon2',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon2()']]],
-  ['rot_5fequid_5fcylind_5fb_5fgrid_5fid_5fgrib1_237',['rot_equid_cylind_b_grid_id_grib1',['../namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14',1,'ip_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fe_5fgrid_5fid_5fgrib1_238',['rot_equid_cylind_e_grid_id_grib1',['../namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c',1,'ip_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fegrid_5ferror_239',['rot_equid_cylind_egrid_error',['../namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['rot_5fequid_5fcylind_5fegrid_5fgrid_5farea_240',['rot_equid_cylind_egrid_grid_area',['../namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['rot_5fequid_5fcylind_5fegrid_5fmap_5fjacob_241',['rot_equid_cylind_egrid_map_jacob',['../namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['rot_5fequid_5fcylind_5fegrid_5fvect_5frot_242',['rot_equid_cylind_egrid_vect_rot',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['rot_5fequid_5fcylind_5ferror_243',['rot_equid_cylind_error',['../namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fgrid_5farea_244',['rot_equid_cylind_grid_area',['../namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fgrid_5fid_5fgrib2_245',['rot_equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a',1,'ip_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fmap_5fjacob_246',['rot_equid_cylind_map_jacob',['../namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fvect_5frot_247',['rot_equid_cylind_vect_rot',['../namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10',1,'ip_rot_equid_cylind_grid_mod']]]
+  ['radb2_237',['radb2',['../fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda',1,'fftpack.F']]],
+  ['radb3_238',['radb3',['../fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014',1,'fftpack.F']]],
+  ['radb4_239',['radb4',['../fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef',1,'fftpack.F']]],
+  ['radb5_240',['radb5',['../fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1',1,'fftpack.F']]],
+  ['radbg_241',['radbg',['../fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b',1,'fftpack.F']]],
+  ['radf2_242',['radf2',['../fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6',1,'fftpack.F']]],
+  ['radf3_243',['radf3',['../fftpack_8F.html#a51374398f8edd5701987ce483c739592',1,'fftpack.F']]],
+  ['radf4_244',['radf4',['../fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486',1,'fftpack.F']]],
+  ['radf5_245',['radf5',['../fftpack_8F.html#a6d852c36924b038f77a24b8e22205add',1,'fftpack.F']]],
+  ['radfg_246',['radfg',['../fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2',1,'fftpack.F']]],
+  ['rerth_247',['rerth',['../namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d',1,'ip_lambert_conf_grid_mod::rerth()'],['../namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c',1,'ip_equid_cylind_grid_mod::rerth()'],['../namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2',1,'ip_gaussian_grid_mod::rerth()'],['../namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419',1,'ip_mercator_grid_mod::rerth()'],['../namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5',1,'ip_polar_stereo_grid_mod::rerth()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb',1,'ip_rot_equid_cylind_egrid_mod::rerth()'],['../namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b',1,'ip_rot_equid_cylind_grid_mod::rerth()'],['../structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8',1,'ip_grid_mod::ip_grid::rerth()']]],
+  ['rerth_5fwgs84_248',['rerth_wgs84',['../namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb',1,'ip_constants_mod']]],
+  ['rfftb_249',['rfftb',['../fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88',1,'fftpack.F']]],
+  ['rfftb1_250',['rfftb1',['../fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066',1,'fftpack.F']]],
+  ['rfftf_251',['rfftf',['../fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2',1,'fftpack.F']]],
+  ['rfftf1_252',['rfftf1',['../fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09',1,'fftpack.F']]],
+  ['rffti_253',['rffti',['../fftpack_8F.html#a50f1237ff5990436609962c0eae406db',1,'fftpack.F']]],
+  ['rffti1_254',['rffti1',['../fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b',1,'fftpack.F']]],
+  ['rlat1_255',['rlat1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlat1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlat1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlat1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7',1,'ip_mercator_grid_mod::ip_mercator_grid::rlat1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlat1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlat1()']]],
+  ['rlat2_256',['rlat2',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid']]],
+  ['rlati_257',['rlati',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef',1,'ip_mercator_grid_mod::ip_mercator_grid']]],
+  ['rlati1_258',['rlati1',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
+  ['rlati2_259',['rlati2',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
+  ['rlon0_260',['rlon0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::rlon0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6',1,'ip_rot_equid_cylind_egrid_mod::rlon0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df',1,'ip_rot_equid_cylind_grid_mod::rlon0()']]],
+  ['rlon1_261',['rlon1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlon1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlon1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon1()']]],
+  ['rlon2_262',['rlon2',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon2()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon2()']]],
+  ['rot_5fequid_5fcylind_5fb_5fgrid_5fid_5fgrib1_263',['rot_equid_cylind_b_grid_id_grib1',['../namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fe_5fgrid_5fid_5fgrib1_264',['rot_equid_cylind_e_grid_id_grib1',['../namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5ferror_265',['rot_equid_cylind_egrid_error',['../namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fgrid_5farea_266',['rot_equid_cylind_egrid_grid_area',['../namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fmap_5fjacob_267',['rot_equid_cylind_egrid_map_jacob',['../namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fvect_5frot_268',['rot_equid_cylind_egrid_vect_rot',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5ferror_269',['rot_equid_cylind_error',['../namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fgrid_5farea_270',['rot_equid_cylind_grid_area',['../namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fgrid_5fid_5fgrib2_271',['rot_equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fmap_5fjacob_272',['rot_equid_cylind_map_jacob',['../namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fvect_5frot_273',['rot_equid_cylind_vect_rot',['../namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10',1,'ip_rot_equid_cylind_grid_mod']]]
 ];
diff --git a/search/all_11.js b/search/all_11.js
index f632e449..b3911194 100644
--- a/search/all_11.js
+++ b/search/all_11.js
@@ -1,10 +1,117 @@
 var searchData=
 [
-  ['sbd_248',['sbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]],
-  ['slat_249',['slat',['../namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['slat0_250',['slat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::slat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::slat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d',1,'ip_rot_equid_cylind_egrid_mod::slat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1',1,'ip_rot_equid_cylind_grid_mod::slat0()']]],
-  ['slatr_251',['slatr',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::slatr()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900',1,'ip_rot_equid_cylind_egrid_mod::slatr()']]],
-  ['spectral_5finterp_5fid_252',['spectral_interp_id',['../namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851',1,'ip_interpolators_mod']]],
-  ['spectral_5finterp_5fmod_253',['spectral_interp_mod',['../namespacespectral__interp__mod.html',1,'']]],
-  ['spectral_5finterp_5fmod_2ef90_254',['spectral_interp_mod.F90',['../spectral__interp__mod_8F90.html',1,'']]]
+  ['sbd_274',['sbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]],
+  ['scfft_275',['scfft',['../fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33',1,'fftpack.F']]],
+  ['scrft_276',['scrft',['../fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36',1,'fftpack.F']]],
+  ['slat_277',['slat',['../namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['slat0_278',['slat0',['../namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1',1,'ip_rot_equid_cylind_grid_mod::slat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d',1,'ip_rot_equid_cylind_egrid_mod::slat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::slat0()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::slat0()']]],
+  ['slatr_279',['slatr',['../namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900',1,'ip_rot_equid_cylind_egrid_mod::slatr()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::slatr()']]],
+  ['spanaly_280',['spanaly',['../spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a',1,'spanaly.f']]],
+  ['spanaly_2ef_281',['spanaly.f',['../spanaly_8f.html',1,'']]],
+  ['spdz2uv_282',['spdz2uv',['../spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692',1,'spdz2uv.f']]],
+  ['spdz2uv_2ef_283',['spdz2uv.f',['../spdz2uv_8f.html',1,'']]],
+  ['spectral_5finterp_5fid_284',['spectral_interp_id',['../namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851',1,'ip_interpolators_mod']]],
+  ['spectral_5finterp_5fmod_285',['spectral_interp_mod',['../namespacespectral__interp__mod.html',1,'']]],
+  ['spectral_5finterp_5fmod_2ef90_286',['spectral_interp_mod.F90',['../spectral__interp__mod_8F90.html',1,'']]],
+  ['speps_287',['speps',['../speps_8f.html#a0ab523ec5e1393ffca970897e63a9131',1,'speps.f']]],
+  ['speps_2ef_288',['speps.f',['../speps_8f.html',1,'']]],
+  ['spfft_289',['spfft',['../spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d',1,'spfft.f']]],
+  ['spfft_2ef_290',['spfft.f',['../spfft_8f.html',1,'']]],
+  ['spfft1_291',['spfft1',['../spfft1_8f.html#ac63643472eda83948c0b249b611346d6',1,'spfft1.f']]],
+  ['spfft1_2ef_292',['spfft1.f',['../spfft1_8f.html',1,'']]],
+  ['spffte_293',['spffte',['../spffte_8f.html#af06489254bd3e99030b39744fce32233',1,'spffte.f']]],
+  ['spffte_2ef_294',['spffte.f',['../spffte_8f.html',1,'']]],
+  ['spfftpt_295',['spfftpt',['../spfftpt_8f.html#ad16e674ce87bd762a714853967f81356',1,'spfftpt.f']]],
+  ['spfftpt_2ef_296',['spfftpt.f',['../spfftpt_8f.html',1,'']]],
+  ['spgradq_297',['spgradq',['../spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849',1,'spgradq.f']]],
+  ['spgradq_2ef_298',['spgradq.f',['../spgradq_8f.html',1,'']]],
+  ['spgradx_299',['spgradx',['../spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4',1,'spgradx.f']]],
+  ['spgradx_2ef_300',['spgradx.f',['../spgradx_8f.html',1,'']]],
+  ['spgrady_301',['spgrady',['../spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1',1,'spgrady.f']]],
+  ['spgrady_2ef_302',['spgrady.f',['../spgrady_8f.html',1,'']]],
+  ['splaplac_303',['splaplac',['../splaplac_8f.html#a64338955857a3cf58283146940e7ae42',1,'splaplac.f']]],
+  ['splaplac_2ef_304',['splaplac.f',['../splaplac_8f.html',1,'']]],
+  ['splat_305',['splat',['../splat_8F.html#aa6db21451bb67635e7e4426546140e11',1,'splat.F']]],
+  ['splat_2ef_306',['splat.F',['../splat_8F.html',1,'']]],
+  ['splegend_307',['splegend',['../splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac',1,'splegend.f']]],
+  ['splegend_2ef_308',['splegend.f',['../splegend_8f.html',1,'']]],
+  ['sppad_309',['sppad',['../sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e',1,'sppad.f']]],
+  ['sppad_2ef_310',['sppad.f',['../sppad_8f.html',1,'']]],
+  ['spsynth_311',['spsynth',['../spsynth_8f.html#aa6a8113a459918728c876673520126bf',1,'spsynth.f']]],
+  ['spsynth_2ef_312',['spsynth.f',['../spsynth_8f.html',1,'']]],
+  ['sptez_313',['sptez',['../sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc',1,'sptez.f']]],
+  ['sptez_2ef_314',['sptez.f',['../sptez_8f.html',1,'']]],
+  ['sptezd_315',['sptezd',['../sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7',1,'sptezd.f']]],
+  ['sptezd_2ef_316',['sptezd.f',['../sptezd_8f.html',1,'']]],
+  ['sptezm_317',['sptezm',['../sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1',1,'sptezm.f']]],
+  ['sptezm_2ef_318',['sptezm.f',['../sptezm_8f.html',1,'']]],
+  ['sptezmd_319',['sptezmd',['../sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996',1,'sptezmd.f']]],
+  ['sptezmd_2ef_320',['sptezmd.f',['../sptezmd_8f.html',1,'']]],
+  ['sptezmv_321',['sptezmv',['../sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e',1,'sptezmv.f']]],
+  ['sptezmv_2ef_322',['sptezmv.f',['../sptezmv_8f.html',1,'']]],
+  ['sptezv_323',['sptezv',['../sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226',1,'sptezv.f']]],
+  ['sptezv_2ef_324',['sptezv.f',['../sptezv_8f.html',1,'']]],
+  ['sptgpm_325',['sptgpm',['../sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d',1,'sptgpm.f']]],
+  ['sptgpm_2ef_326',['sptgpm.f',['../sptgpm_8f.html',1,'']]],
+  ['sptgpmd_327',['sptgpmd',['../sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539',1,'sptgpmd.f']]],
+  ['sptgpmd_2ef_328',['sptgpmd.f',['../sptgpmd_8f.html',1,'']]],
+  ['sptgpmv_329',['sptgpmv',['../sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17',1,'sptgpmv.f']]],
+  ['sptgpmv_2ef_330',['sptgpmv.f',['../sptgpmv_8f.html',1,'']]],
+  ['sptgps_331',['sptgps',['../sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2',1,'sptgps.f']]],
+  ['sptgps_2ef_332',['sptgps.f',['../sptgps_8f.html',1,'']]],
+  ['sptgpsd_333',['sptgpsd',['../sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30',1,'sptgpsd.f']]],
+  ['sptgpsd_2ef_334',['sptgpsd.f',['../sptgpsd_8f.html',1,'']]],
+  ['sptgpsv_335',['sptgpsv',['../sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079',1,'sptgpsv.f']]],
+  ['sptgpsv_2ef_336',['sptgpsv.f',['../sptgpsv_8f.html',1,'']]],
+  ['sptgpt_337',['sptgpt',['../sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1',1,'sptgpt.f']]],
+  ['sptgpt_2ef_338',['sptgpt.f',['../sptgpt_8f.html',1,'']]],
+  ['sptgptd_339',['sptgptd',['../sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3',1,'sptgptd.f']]],
+  ['sptgptd_2ef_340',['sptgptd.f',['../sptgptd_8f.html',1,'']]],
+  ['sptgptsd_341',['sptgptsd',['../sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f',1,'sptgptsd.f']]],
+  ['sptgptsd_2ef_342',['sptgptsd.f',['../sptgptsd_8f.html',1,'']]],
+  ['sptgptv_343',['sptgptv',['../sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13',1,'sptgptv.f']]],
+  ['sptgptv_2ef_344',['sptgptv.f',['../sptgptv_8f.html',1,'']]],
+  ['sptgptvd_345',['sptgptvd',['../sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753',1,'sptgptvd.f']]],
+  ['sptgptvd_2ef_346',['sptgptvd.f',['../sptgptvd_8f.html',1,'']]],
+  ['sptran_347',['sptran',['../sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0',1,'sptran.f']]],
+  ['sptran_2ef_348',['sptran.f',['../sptran_8f.html',1,'']]],
+  ['sptrand_349',['sptrand',['../sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef',1,'sptrand.f']]],
+  ['sptrand_2ef_350',['sptrand.f',['../sptrand_8f.html',1,'']]],
+  ['sptranf_351',['sptranf',['../sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c',1,'sptranf.f']]],
+  ['sptranf_2ef_352',['sptranf.f',['../sptranf_8f.html',1,'']]],
+  ['sptranf0_353',['sptranf0',['../sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0',1,'sptranf0.f']]],
+  ['sptranf0_2ef_354',['sptranf0.f',['../sptranf0_8f.html',1,'']]],
+  ['sptranf1_355',['sptranf1',['../sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6',1,'sptranf1.f']]],
+  ['sptranf1_2ef_356',['sptranf1.f',['../sptranf1_8f.html',1,'']]],
+  ['sptranfv_357',['sptranfv',['../sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106',1,'sptranfv.f']]],
+  ['sptranfv_2ef_358',['sptranfv.f',['../sptranfv_8f.html',1,'']]],
+  ['sptranv_359',['sptranv',['../sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1',1,'sptranv.f']]],
+  ['sptranv_2ef_360',['sptranv.f',['../sptranv_8f.html',1,'']]],
+  ['sptrun_361',['sptrun',['../sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473',1,'sptrun.f']]],
+  ['sptrun_2ef_362',['sptrun.f',['../sptrun_8f.html',1,'']]],
+  ['sptrund_363',['sptrund',['../sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480',1,'sptrund.f']]],
+  ['sptrund_2ef_364',['sptrund.f',['../sptrund_8f.html',1,'']]],
+  ['sptrung_365',['sptrung',['../sptrung_8f.html#af41b64dad4789617a315515ef885912c',1,'sptrung.f']]],
+  ['sptrung_2ef_366',['sptrung.f',['../sptrung_8f.html',1,'']]],
+  ['sptrungv_367',['sptrungv',['../sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164',1,'sptrungv.f']]],
+  ['sptrungv_2ef_368',['sptrungv.f',['../sptrungv_8f.html',1,'']]],
+  ['sptrunl_369',['sptrunl',['../sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8',1,'sptrunl.f']]],
+  ['sptrunl_2ef_370',['sptrunl.f',['../sptrunl_8f.html',1,'']]],
+  ['sptrunm_371',['sptrunm',['../sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6',1,'sptrunm.f']]],
+  ['sptrunm_2ef_372',['sptrunm.f',['../sptrunm_8f.html',1,'']]],
+  ['sptrunmv_373',['sptrunmv',['../sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd',1,'sptrunmv.f']]],
+  ['sptrunmv_2ef_374',['sptrunmv.f',['../sptrunmv_8f.html',1,'']]],
+  ['sptruns_375',['sptruns',['../sptruns_8f.html#a34f156e2049105d012e445f8aa215444',1,'sptruns.f']]],
+  ['sptruns_2ef_376',['sptruns.f',['../sptruns_8f.html',1,'']]],
+  ['sptrunsv_377',['sptrunsv',['../sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656',1,'sptrunsv.f']]],
+  ['sptrunsv_2ef_378',['sptrunsv.f',['../sptrunsv_8f.html',1,'']]],
+  ['sptrunv_379',['sptrunv',['../sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f',1,'sptrunv.f']]],
+  ['sptrunv_2ef_380',['sptrunv.f',['../sptrunv_8f.html',1,'']]],
+  ['spuv2dz_381',['spuv2dz',['../spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9',1,'spuv2dz.f']]],
+  ['spuv2dz_2ef_382',['spuv2dz.f',['../spuv2dz_8f.html',1,'']]],
+  ['spvar_383',['spvar',['../spvar_8f.html#a840f95e09b8d930b38638a391933bee4',1,'spvar.f']]],
+  ['spvar_2ef_384',['spvar.f',['../spvar_8f.html',1,'']]],
+  ['spwget_385',['spwget',['../spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6',1,'spwget.f']]],
+  ['spwget_2ef_386',['spwget.f',['../spwget_8f.html',1,'']]],
+  ['srcft_387',['srcft',['../fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742',1,'fftpack.F']]]
 ];
diff --git a/search/all_12.js b/search/all_12.js
index 497dd64f..c15dac75 100644
--- a/search/all_12.js
+++ b/search/all_12.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['wbd_255',['wbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]]
+  ['wbd_388',['wbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]]
 ];
diff --git a/search/all_13.js b/search/all_13.js
index c7d61e86..b9f18bc0 100644
--- a/search/all_13.js
+++ b/search/all_13.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['ylat_5frow_256',['ylat_row',['../namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc',1,'ip_gaussian_grid_mod']]]
+  ['ylat_5frow_389',['ylat_row',['../namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc',1,'ip_gaussian_grid_mod']]]
 ];
diff --git a/search/all_2.js b/search/all_2.js
index d110ce5e..d92ac7fb 100644
--- a/search/all_2.js
+++ b/search/all_2.js
@@ -3,5 +3,6 @@ var searchData=
   ['clat_11',['clat',['../namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416',1,'ip_rot_equid_cylind_egrid_mod']]],
   ['clat0_12',['clat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::clat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::clat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142',1,'ip_rot_equid_cylind_egrid_mod::clat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852',1,'ip_rot_equid_cylind_grid_mod::clat0()']]],
   ['clatr_13',['clatr',['../namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['clon_14',['clon',['../namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec',1,'ip_rot_equid_cylind_egrid_mod']]]
+  ['clon_14',['clon',['../namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['csfft_15',['csfft',['../fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5',1,'fftpack.F']]]
 ];
diff --git a/search/all_3.js b/search/all_3.js
index dd75091d..a345b7ae 100644
--- a/search/all_3.js
+++ b/search/all_3.js
@@ -1,13 +1,15 @@
 var searchData=
 [
-  ['de2_15',['de2',['../namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962',1,'ip_polar_stereo_grid_mod']]],
-  ['descriptor_16',['descriptor',['../structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51',1,'ip_grid_mod::ip_grid']]],
-  ['dlat_17',['dlat',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlat()'],['../namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb',1,'ip_equid_cylind_grid_mod::dlat()']]],
-  ['dlats_18',['dlats',['../namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d',1,'ip_rot_equid_cylind_grid_mod::dlats()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68',1,'ip_rot_equid_cylind_egrid_mod::dlats()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlats()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlats()']]],
-  ['dlon_19',['dlon',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8',1,'ip_gaussian_grid_mod::ip_gaussian_grid::dlon()'],['../namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f',1,'ip_mercator_grid_mod::dlon()'],['../namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d',1,'ip_gaussian_grid_mod::dlon()'],['../namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f',1,'ip_equid_cylind_grid_mod::dlon()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee',1,'ip_mercator_grid_mod::ip_mercator_grid::dlon()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlon()']]],
-  ['dlons_20',['dlons',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlons()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlons()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc',1,'ip_rot_equid_cylind_egrid_mod::dlons()'],['../namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702',1,'ip_rot_equid_cylind_grid_mod::dlons()']]],
-  ['dphi_21',['dphi',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5',1,'ip_mercator_grid_mod::ip_mercator_grid::dphi()'],['../namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732',1,'ip_mercator_grid_mod::dphi()']]],
-  ['dpr_22',['dpr',['../namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011',1,'ip_constants_mod']]],
-  ['dxs_23',['dxs',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dxs()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dxs()'],['../namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81',1,'ip_lambert_conf_grid_mod::dxs()'],['../namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354',1,'ip_polar_stereo_grid_mod::dxs()']]],
-  ['dys_24',['dys',['../namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f',1,'ip_polar_stereo_grid_mod::dys()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dys()'],['../namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7',1,'ip_lambert_conf_grid_mod::dys()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dys()']]]
+  ['dcrft_16',['dcrft',['../fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225',1,'fftpack.F']]],
+  ['de2_17',['de2',['../namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962',1,'ip_polar_stereo_grid_mod']]],
+  ['descriptor_18',['descriptor',['../structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51',1,'ip_grid_mod::ip_grid']]],
+  ['dlat_19',['dlat',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlat()'],['../namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb',1,'ip_equid_cylind_grid_mod::dlat()']]],
+  ['dlats_20',['dlats',['../namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d',1,'ip_rot_equid_cylind_grid_mod::dlats()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68',1,'ip_rot_equid_cylind_egrid_mod::dlats()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlats()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlats()']]],
+  ['dlon_21',['dlon',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee',1,'ip_mercator_grid_mod::ip_mercator_grid::dlon()'],['../namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f',1,'ip_mercator_grid_mod::dlon()'],['../namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d',1,'ip_gaussian_grid_mod::dlon()'],['../namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f',1,'ip_equid_cylind_grid_mod::dlon()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlon()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8',1,'ip_gaussian_grid_mod::ip_gaussian_grid::dlon()']]],
+  ['dlons_22',['dlons',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlons()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlons()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc',1,'ip_rot_equid_cylind_egrid_mod::dlons()'],['../namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702',1,'ip_rot_equid_cylind_grid_mod::dlons()']]],
+  ['dphi_23',['dphi',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5',1,'ip_mercator_grid_mod::ip_mercator_grid::dphi()'],['../namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732',1,'ip_mercator_grid_mod::dphi()']]],
+  ['dpr_24',['dpr',['../namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011',1,'ip_constants_mod']]],
+  ['drcft_25',['drcft',['../fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8',1,'fftpack.F']]],
+  ['dxs_26',['dxs',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dxs()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dxs()'],['../namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81',1,'ip_lambert_conf_grid_mod::dxs()'],['../namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354',1,'ip_polar_stereo_grid_mod::dxs()']]],
+  ['dys_27',['dys',['../namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f',1,'ip_polar_stereo_grid_mod::dys()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dys()'],['../namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7',1,'ip_lambert_conf_grid_mod::dys()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dys()']]]
 ];
diff --git a/search/all_4.js b/search/all_4.js
index e4d501d5..254b4c31 100644
--- a/search/all_4.js
+++ b/search/all_4.js
@@ -1,15 +1,15 @@
 var searchData=
 [
-  ['e2_25',['e2',['../namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b',1,'ip_polar_stereo_grid_mod']]],
-  ['e2_5fwgs84_26',['e2_wgs84',['../namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545',1,'ip_constants_mod']]],
-  ['earth_5fradius_27',['earth_radius',['../namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54',1,'earth_radius_mod']]],
-  ['earth_5fradius_5fmod_28',['earth_radius_mod',['../namespaceearth__radius__mod.html',1,'']]],
-  ['earth_5fradius_5fmod_2ef90_29',['earth_radius_mod.F90',['../earth__radius__mod_8F90.html',1,'']]],
-  ['eccen_5fsquared_30',['eccen_squared',['../structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a',1,'ip_grid_mod::ip_grid']]],
-  ['elliptical_31',['elliptical',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid']]],
-  ['equid_5fcylind_5fgrid_5farea_32',['equid_cylind_grid_area',['../namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2',1,'ip_equid_cylind_grid_mod']]],
-  ['equid_5fcylind_5fgrid_5fid_5fgrib1_33',['equid_cylind_grid_id_grib1',['../namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb',1,'ip_grid_mod']]],
-  ['equid_5fcylind_5fgrid_5fid_5fgrib2_34',['equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6',1,'ip_grid_mod']]],
-  ['equid_5fcylind_5fmap_5fjacob_35',['equid_cylind_map_jacob',['../namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd',1,'ip_equid_cylind_grid_mod']]],
-  ['equid_5fcylind_5fvect_5frot_36',['equid_cylind_vect_rot',['../namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d',1,'ip_equid_cylind_grid_mod']]]
+  ['e2_28',['e2',['../namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b',1,'ip_polar_stereo_grid_mod']]],
+  ['e2_5fwgs84_29',['e2_wgs84',['../namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545',1,'ip_constants_mod']]],
+  ['earth_5fradius_30',['earth_radius',['../namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54',1,'earth_radius_mod']]],
+  ['earth_5fradius_5fmod_31',['earth_radius_mod',['../namespaceearth__radius__mod.html',1,'']]],
+  ['earth_5fradius_5fmod_2ef90_32',['earth_radius_mod.F90',['../earth__radius__mod_8F90.html',1,'']]],
+  ['eccen_5fsquared_33',['eccen_squared',['../structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a',1,'ip_grid_mod::ip_grid']]],
+  ['elliptical_34',['elliptical',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid']]],
+  ['equid_5fcylind_5fgrid_5farea_35',['equid_cylind_grid_area',['../namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2',1,'ip_equid_cylind_grid_mod']]],
+  ['equid_5fcylind_5fgrid_5fid_5fgrib1_36',['equid_cylind_grid_id_grib1',['../namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb',1,'ip_grid_mod']]],
+  ['equid_5fcylind_5fgrid_5fid_5fgrib2_37',['equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6',1,'ip_grid_mod']]],
+  ['equid_5fcylind_5fmap_5fjacob_38',['equid_cylind_map_jacob',['../namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd',1,'ip_equid_cylind_grid_mod']]],
+  ['equid_5fcylind_5fvect_5frot_39',['equid_cylind_vect_rot',['../namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d',1,'ip_equid_cylind_grid_mod']]]
 ];
diff --git a/search/all_5.js b/search/all_5.js
index e6a8298f..cd3eac50 100644
--- a/search/all_5.js
+++ b/search/all_5.js
@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['field_5fpos_37',['field_pos',['../structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179',1,'ip_grid_mod::ip_grid::field_pos()'],['../namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442',1,'ip_grid_mod::field_pos()']]]
+  ['fftpack_2ef_40',['fftpack.F',['../fftpack_8F.html',1,'']]],
+  ['field_5fpos_41',['field_pos',['../structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179',1,'ip_grid_mod::ip_grid::field_pos()'],['../namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442',1,'ip_grid_mod::field_pos()']]]
 ];
diff --git a/search/all_6.js b/search/all_6.js
index 6bf0f486..c46a7671 100644
--- a/search/all_6.js
+++ b/search/all_6.js
@@ -1,37 +1,37 @@
 var searchData=
 [
-  ['gaussian_5fgrid_5farea_38',['gaussian_grid_area',['../namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780',1,'ip_gaussian_grid_mod']]],
-  ['gaussian_5fgrid_5fid_5fgrib1_39',['gaussian_grid_id_grib1',['../namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3',1,'ip_grid_mod']]],
-  ['gaussian_5fgrid_5fid_5fgrib2_40',['gaussian_grid_id_grib2',['../namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316',1,'ip_grid_mod']]],
-  ['gaussian_5fmap_5fjacob_41',['gaussian_map_jacob',['../namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d',1,'ip_gaussian_grid_mod']]],
-  ['gaussian_5fvect_5frot_42',['gaussian_vect_rot',['../namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad',1,'ip_gaussian_grid_mod']]],
-  ['gds_43',['gds',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9',1,'ip_grid_descriptor_mod::grib1_descriptor']]],
-  ['gdswzd_44',['gdswzd',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a',1,'ip_mercator_grid_mod::ip_mercator_grid::gdswzd()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f',1,'ip_station_points_grid_mod::ip_station_points_grid::gdswzd()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::gdswzd()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::gdswzd()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::gdswzd()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::gdswzd()'],['../structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080',1,'ip_grid_mod::ip_grid::gdswzd()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885',1,'ip_gaussian_grid_mod::ip_gaussian_grid::gdswzd()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::gdswzd()'],['../iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area):&#160;iplib_4.h'],['../iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4',1,'gdswzd(long igdtnum, long *igdtmpl, long igdtlen, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h'],['../interfacegdswzd__mod_1_1gdswzd.html',1,'gdswzd_mod::gdswzd']]],
-  ['gdswzd_5f1d_5farray_45',['gdswzd_1d_array',['../interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b',1,'gdswzd_mod::gdswzd::gdswzd_1d_array()'],['../namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76',1,'gdswzd_mod::gdswzd_1d_array()']]],
-  ['gdswzd_5f2d_5farray_46',['gdswzd_2d_array',['../interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31',1,'gdswzd_mod::gdswzd::gdswzd_2d_array()'],['../namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25',1,'gdswzd_mod::gdswzd_2d_array()']]],
-  ['gdswzd_5f2d_5farray_5fgrib1_47',['gdswzd_2d_array_grib1',['../interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5',1,'gdswzd_mod::gdswzd::gdswzd_2d_array_grib1()'],['../namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4',1,'gdswzd_mod::gdswzd_2d_array_grib1()']]],
-  ['gdswzd_5fc_48',['gdswzd_c',['../namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4',1,'gdswzd_c_mod']]],
-  ['gdswzd_5fc_2ef90_49',['gdswzd_c.F90',['../gdswzd__c_8F90.html',1,'']]],
-  ['gdswzd_5fc_5fgrib1_50',['gdswzd_c_grib1',['../namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504',1,'gdswzd_c_mod']]],
-  ['gdswzd_5fc_5fmod_51',['gdswzd_c_mod',['../namespacegdswzd__c__mod.html',1,'']]],
-  ['gdswzd_5fequid_5fcylind_52',['gdswzd_equid_cylind',['../namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727',1,'ip_equid_cylind_grid_mod']]],
-  ['gdswzd_5fgaussian_53',['gdswzd_gaussian',['../namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9',1,'ip_gaussian_grid_mod']]],
-  ['gdswzd_5fgrib1_54',['gdswzd_grib1',['../namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37',1,'gdswzd_mod::gdswzd_grib1()'],['../iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1',1,'gdswzd_grib1():&#160;iplib_4.h'],['../interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a',1,'gdswzd_mod::gdswzd::gdswzd_grib1()'],['../iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93',1,'gdswzd_grib1(long *kgds, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691',1,'gdswzd_grib1(int *kgds, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h']]],
-  ['gdswzd_5fgrid_55',['gdswzd_grid',['../interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16',1,'gdswzd_mod::gdswzd::gdswzd_grid()'],['../namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45',1,'gdswzd_mod::gdswzd_grid()']]],
-  ['gdswzd_5finterface_56',['gdswzd_interface',['../interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369',1,'ip_grid_mod::gdswzd_interface::gdswzd_interface()'],['../interfaceip__grid__mod_1_1gdswzd__interface.html',1,'ip_grid_mod::gdswzd_interface']]],
-  ['gdswzd_5flambert_5fconf_57',['gdswzd_lambert_conf',['../namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71',1,'ip_lambert_conf_grid_mod']]],
-  ['gdswzd_5fmercator_58',['gdswzd_mercator',['../namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e',1,'ip_mercator_grid_mod']]],
-  ['gdswzd_5fmod_59',['gdswzd_mod',['../namespacegdswzd__mod.html',1,'']]],
-  ['gdswzd_5fmod_2ef90_60',['gdswzd_mod.F90',['../gdswzd__mod_8F90.html',1,'']]],
-  ['gdswzd_5fpolar_5fstereo_61',['gdswzd_polar_stereo',['../namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5',1,'ip_polar_stereo_grid_mod']]],
-  ['gdswzd_5frot_5fequid_5fcylind_62',['gdswzd_rot_equid_cylind',['../namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['gdswzd_5frot_5fequid_5fcylind_5fegrid_63',['gdswzd_rot_equid_cylind_egrid',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['gdswzd_5fscalar_64',['gdswzd_scalar',['../interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd',1,'gdswzd_mod::gdswzd::gdswzd_scalar()'],['../namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861',1,'gdswzd_mod::gdswzd_scalar()']]],
-  ['gdswzd_5fstation_5fpoints_65',['gdswzd_station_points',['../namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197',1,'ip_station_points_grid_mod']]],
-  ['gdt_5flen_66',['gdt_len',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
-  ['gdt_5fnum_67',['gdt_num',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
-  ['gdt_5ftmpl_68',['gdt_tmpl',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
-  ['grib1_5fdescriptor_69',['grib1_descriptor',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html',1,'ip_grid_descriptor_mod']]],
-  ['grib2_5fdescriptor_70',['grib2_descriptor',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html',1,'ip_grid_descriptor_mod']]],
-  ['grid_5fnum_71',['grid_num',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1',1,'ip_grid_descriptor_mod::ip_grid_descriptor']]]
+  ['gaussian_5fgrid_5farea_42',['gaussian_grid_area',['../namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780',1,'ip_gaussian_grid_mod']]],
+  ['gaussian_5fgrid_5fid_5fgrib1_43',['gaussian_grid_id_grib1',['../namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3',1,'ip_grid_mod']]],
+  ['gaussian_5fgrid_5fid_5fgrib2_44',['gaussian_grid_id_grib2',['../namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316',1,'ip_grid_mod']]],
+  ['gaussian_5fmap_5fjacob_45',['gaussian_map_jacob',['../namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d',1,'ip_gaussian_grid_mod']]],
+  ['gaussian_5fvect_5frot_46',['gaussian_vect_rot',['../namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad',1,'ip_gaussian_grid_mod']]],
+  ['gds_47',['gds',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9',1,'ip_grid_descriptor_mod::grib1_descriptor']]],
+  ['gdswzd_48',['gdswzd',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a',1,'ip_mercator_grid_mod::ip_mercator_grid::gdswzd()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f',1,'ip_station_points_grid_mod::ip_station_points_grid::gdswzd()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::gdswzd()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::gdswzd()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::gdswzd()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::gdswzd()'],['../structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080',1,'ip_grid_mod::ip_grid::gdswzd()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885',1,'ip_gaussian_grid_mod::ip_gaussian_grid::gdswzd()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::gdswzd()'],['../iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area):&#160;iplib_4.h'],['../iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4',1,'gdswzd(long igdtnum, long *igdtmpl, long igdtlen, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h'],['../interfacegdswzd__mod_1_1gdswzd.html',1,'gdswzd_mod::gdswzd']]],
+  ['gdswzd_5f1d_5farray_49',['gdswzd_1d_array',['../interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b',1,'gdswzd_mod::gdswzd::gdswzd_1d_array()'],['../namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76',1,'gdswzd_mod::gdswzd_1d_array()']]],
+  ['gdswzd_5f2d_5farray_50',['gdswzd_2d_array',['../interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31',1,'gdswzd_mod::gdswzd::gdswzd_2d_array()'],['../namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25',1,'gdswzd_mod::gdswzd_2d_array()']]],
+  ['gdswzd_5f2d_5farray_5fgrib1_51',['gdswzd_2d_array_grib1',['../interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5',1,'gdswzd_mod::gdswzd::gdswzd_2d_array_grib1()'],['../namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4',1,'gdswzd_mod::gdswzd_2d_array_grib1()']]],
+  ['gdswzd_5fc_52',['gdswzd_c',['../namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4',1,'gdswzd_c_mod']]],
+  ['gdswzd_5fc_2ef90_53',['gdswzd_c.F90',['../gdswzd__c_8F90.html',1,'']]],
+  ['gdswzd_5fc_5fgrib1_54',['gdswzd_c_grib1',['../namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504',1,'gdswzd_c_mod']]],
+  ['gdswzd_5fc_5fmod_55',['gdswzd_c_mod',['../namespacegdswzd__c__mod.html',1,'']]],
+  ['gdswzd_5fequid_5fcylind_56',['gdswzd_equid_cylind',['../namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727',1,'ip_equid_cylind_grid_mod']]],
+  ['gdswzd_5fgaussian_57',['gdswzd_gaussian',['../namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9',1,'ip_gaussian_grid_mod']]],
+  ['gdswzd_5fgrib1_58',['gdswzd_grib1',['../namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37',1,'gdswzd_mod::gdswzd_grib1()'],['../iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1',1,'gdswzd_grib1():&#160;iplib_4.h'],['../interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a',1,'gdswzd_mod::gdswzd::gdswzd_grib1()'],['../iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93',1,'gdswzd_grib1(long *kgds, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691',1,'gdswzd_grib1(int *kgds, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h']]],
+  ['gdswzd_5fgrid_59',['gdswzd_grid',['../interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16',1,'gdswzd_mod::gdswzd::gdswzd_grid()'],['../namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45',1,'gdswzd_mod::gdswzd_grid()']]],
+  ['gdswzd_5finterface_60',['gdswzd_interface',['../interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369',1,'ip_grid_mod::gdswzd_interface::gdswzd_interface()'],['../interfaceip__grid__mod_1_1gdswzd__interface.html',1,'ip_grid_mod::gdswzd_interface']]],
+  ['gdswzd_5flambert_5fconf_61',['gdswzd_lambert_conf',['../namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71',1,'ip_lambert_conf_grid_mod']]],
+  ['gdswzd_5fmercator_62',['gdswzd_mercator',['../namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e',1,'ip_mercator_grid_mod']]],
+  ['gdswzd_5fmod_63',['gdswzd_mod',['../namespacegdswzd__mod.html',1,'']]],
+  ['gdswzd_5fmod_2ef90_64',['gdswzd_mod.F90',['../gdswzd__mod_8F90.html',1,'']]],
+  ['gdswzd_5fpolar_5fstereo_65',['gdswzd_polar_stereo',['../namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5',1,'ip_polar_stereo_grid_mod']]],
+  ['gdswzd_5frot_5fequid_5fcylind_66',['gdswzd_rot_equid_cylind',['../namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['gdswzd_5frot_5fequid_5fcylind_5fegrid_67',['gdswzd_rot_equid_cylind_egrid',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['gdswzd_5fscalar_68',['gdswzd_scalar',['../interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd',1,'gdswzd_mod::gdswzd::gdswzd_scalar()'],['../namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861',1,'gdswzd_mod::gdswzd_scalar()']]],
+  ['gdswzd_5fstation_5fpoints_69',['gdswzd_station_points',['../namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197',1,'ip_station_points_grid_mod']]],
+  ['gdt_5flen_70',['gdt_len',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['gdt_5fnum_71',['gdt_num',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['gdt_5ftmpl_72',['gdt_tmpl',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['grib1_5fdescriptor_73',['grib1_descriptor',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['grib2_5fdescriptor_74',['grib2_descriptor',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['grid_5fnum_75',['grid_num',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1',1,'ip_grid_descriptor_mod::ip_grid_descriptor']]]
 ];
diff --git a/search/all_7.js b/search/all_7.js
index 6d09738c..028e2c11 100644
--- a/search/all_7.js
+++ b/search/all_7.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['h_72',['h',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::h()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::h()'],['../namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6',1,'ip_lambert_conf_grid_mod::h()'],['../namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645',1,'ip_polar_stereo_grid_mod::h()']]],
-  ['hi_73',['hi',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::hi()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::hi()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2',1,'ip_mercator_grid_mod::ip_mercator_grid::hi()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::hi()']]]
+  ['h_76',['h',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::h()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::h()'],['../namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6',1,'ip_lambert_conf_grid_mod::h()'],['../namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645',1,'ip_polar_stereo_grid_mod::h()']]],
+  ['hi_77',['hi',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::hi()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::hi()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2',1,'ip_mercator_grid_mod::ip_mercator_grid::hi()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::hi()']]]
 ];
diff --git a/search/all_8.js b/search/all_8.js
index a71457e1..3d35463c 100644
--- a/search/all_8.js
+++ b/search/all_8.js
@@ -1,106 +1,107 @@
 var searchData=
 [
-  ['im_74',['im',['../structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc',1,'ip_grid_mod::ip_grid']]],
-  ['init_75',['init',['../structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c',1,'ip_grid_mod::ip_grid']]],
-  ['init_5fdescriptor_76',['init_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html',1,'ip_grid_descriptor_mod']]],
-  ['init_5fgrib1_77',['init_grib1',['../namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff',1,'ip_station_points_grid_mod::init_grib1()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib1()'],['../namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477',1,'ip_equid_cylind_grid_mod::init_grib1()'],['../namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01',1,'ip_gaussian_grid_mod::init_grib1()'],['../namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea',1,'ip_lambert_conf_grid_mod::init_grib1()'],['../namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d',1,'ip_mercator_grid_mod::init_grib1()'],['../namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f',1,'ip_polar_stereo_grid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab',1,'ip_rot_equid_cylind_egrid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee',1,'ip_rot_equid_cylind_grid_mod::init_grib1()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib1()'],['../structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806',1,'ip_grid_mod::ip_grid::init_grib1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib1()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib1()']]],
-  ['init_5fgrib1_5fdescriptor_78',['init_grib1_descriptor',['../namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98',1,'ip_grid_descriptor_mod::init_grib1_descriptor()'],['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e',1,'ip_grid_descriptor_mod::init_descriptor::init_grib1_descriptor()']]],
-  ['init_5fgrib1_5finterface_79',['init_grib1_interface',['../interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb',1,'ip_grid_mod::init_grib1_interface::init_grib1_interface()'],['../interfaceip__grid__mod_1_1init__grib1__interface.html',1,'ip_grid_mod::init_grib1_interface']]],
-  ['init_5fgrib2_80',['init_grib2',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib2()'],['../namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d',1,'ip_station_points_grid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d',1,'ip_rot_equid_cylind_grid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0',1,'ip_rot_equid_cylind_egrid_mod::init_grib2()'],['../namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7',1,'ip_polar_stereo_grid_mod::init_grib2()'],['../namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82',1,'ip_mercator_grid_mod::init_grib2()'],['../namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf',1,'ip_lambert_conf_grid_mod::init_grib2()'],['../namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2',1,'ip_gaussian_grid_mod::init_grib2()'],['../namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a',1,'ip_equid_cylind_grid_mod::init_grib2()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib2()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib2()'],['../structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9',1,'ip_grid_mod::ip_grid::init_grib2()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib2()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib2()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib2()']]],
-  ['init_5fgrib2_5fdescriptor_81',['init_grib2_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c',1,'ip_grid_descriptor_mod::init_descriptor::init_grib2_descriptor()'],['../namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451',1,'ip_grid_descriptor_mod::init_grib2_descriptor()']]],
-  ['init_5fgrib2_5finterface_82',['init_grib2_interface',['../interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c',1,'ip_grid_mod::init_grib2_interface::init_grib2_interface()'],['../interfaceip__grid__mod_1_1init__grib2__interface.html',1,'ip_grid_mod::init_grib2_interface']]],
-  ['init_5fgrid_83',['init_grid',['../interfaceip__grid__factory__mod_1_1init__grid.html',1,'ip_grid_factory_mod']]],
-  ['init_5fgrid_5fgeneric_84',['init_grid_generic',['../interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72',1,'ip_grid_factory_mod::init_grid::init_grid_generic()'],['../namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46',1,'ip_grid_factory_mod::init_grid_generic(grid, grid_desc)']]],
-  ['init_5fgrid_5fgrib1_85',['init_grid_grib1',['../namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5',1,'ip_grid_factory_mod']]],
-  ['init_5fgrid_5fgrib2_86',['init_grid_grib2',['../namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225',1,'ip_grid_factory_mod']]],
-  ['interpolate_5fbicubic_87',['interpolate_bicubic',['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html',1,'bicubic_interp_mod']]],
-  ['interpolate_5fbicubic_5fscalar_88',['interpolate_bicubic_scalar',['../namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1',1,'bicubic_interp_mod::interpolate_bicubic_scalar()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_scalar()']]],
-  ['interpolate_5fbicubic_5fvector_89',['interpolate_bicubic_vector',['../namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16',1,'bicubic_interp_mod::interpolate_bicubic_vector()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_vector()']]],
-  ['interpolate_5fbilinear_90',['interpolate_bilinear',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html',1,'bilinear_interp_mod']]],
-  ['interpolate_5fbilinear_5fscalar_91',['interpolate_bilinear_scalar',['../namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398',1,'bilinear_interp_mod::interpolate_bilinear_scalar()'],['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
-  ['interpolate_5fbilinear_5fvector_92',['interpolate_bilinear_vector',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_vector()'],['../namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04',1,'bilinear_interp_mod::interpolate_bilinear_vector()']]],
-  ['interpolate_5fbudget_93',['interpolate_budget',['../interfacebudget__interp__mod_1_1interpolate__budget.html',1,'budget_interp_mod']]],
-  ['interpolate_5fbudget_5fscalar_94',['interpolate_budget_scalar',['../interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0',1,'budget_interp_mod::interpolate_budget::interpolate_budget_scalar()'],['../namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466',1,'budget_interp_mod::interpolate_budget_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
-  ['interpolate_5fbudget_5fvector_95',['interpolate_budget_vector',['../namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803',1,'budget_interp_mod::interpolate_budget_vector()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6',1,'budget_interp_mod::interpolate_budget::interpolate_budget_vector()']]],
-  ['interpolate_5fneighbor_96',['interpolate_neighbor',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html',1,'neighbor_interp_mod']]],
-  ['interpolate_5fneighbor_5fbudget_97',['interpolate_neighbor_budget',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html',1,'neighbor_budget_interp_mod']]],
-  ['interpolate_5fneighbor_5fbudget_5fscalar_98',['interpolate_neighbor_budget_scalar',['../namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_scalar()'],['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
-  ['interpolate_5fneighbor_5fbudget_5fvector_99',['interpolate_neighbor_budget_vector',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_vector()'],['../namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_vector()']]],
-  ['interpolate_5fneighbor_5fscalar_100',['interpolate_neighbor_scalar',['../namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f',1,'neighbor_interp_mod::interpolate_neighbor_scalar()'],['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_scalar()']]],
-  ['interpolate_5fneighbor_5fvector_101',['interpolate_neighbor_vector',['../namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756',1,'neighbor_interp_mod::interpolate_neighbor_vector()'],['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_vector()']]],
-  ['interpolate_5fspectral_102',['interpolate_spectral',['../interfacespectral__interp__mod_1_1interpolate__spectral.html',1,'spectral_interp_mod']]],
-  ['interpolate_5fspectral_5fscalar_103',['interpolate_spectral_scalar',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_scalar()'],['../namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618',1,'spectral_interp_mod::interpolate_spectral_scalar()']]],
-  ['interpolate_5fspectral_5fvector_104',['interpolate_spectral_vector',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_vector()'],['../namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0',1,'spectral_interp_mod::interpolate_spectral_vector()']]],
-  ['ip_5fconstants_5fmod_105',['ip_constants_mod',['../namespaceip__constants__mod.html',1,'']]],
-  ['ip_5fconstants_5fmod_2ef90_106',['ip_constants_mod.F90',['../ip__constants__mod_8F90.html',1,'']]],
-  ['ip_5fequid_5fcylind_5fgrid_107',['ip_equid_cylind_grid',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html',1,'ip_equid_cylind_grid_mod']]],
-  ['ip_5fequid_5fcylind_5fgrid_5fmod_108',['ip_equid_cylind_grid_mod',['../namespaceip__equid__cylind__grid__mod.html',1,'']]],
-  ['ip_5fequid_5fcylind_5fgrid_5fmod_2ef90_109',['ip_equid_cylind_grid_mod.F90',['../ip__equid__cylind__grid__mod_8F90.html',1,'']]],
-  ['ip_5fgaussian_5fgrid_110',['ip_gaussian_grid',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html',1,'ip_gaussian_grid_mod']]],
-  ['ip_5fgaussian_5fgrid_5fmod_111',['ip_gaussian_grid_mod',['../namespaceip__gaussian__grid__mod.html',1,'']]],
-  ['ip_5fgaussian_5fgrid_5fmod_2ef90_112',['ip_gaussian_grid_mod.F90',['../ip__gaussian__grid__mod_8F90.html',1,'']]],
-  ['ip_5fgrid_113',['ip_grid',['../structip__grid__mod_1_1ip__grid.html',1,'ip_grid_mod']]],
-  ['ip_5fgrid_5fdescriptor_114',['ip_grid_descriptor',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html',1,'ip_grid_descriptor_mod']]],
-  ['ip_5fgrid_5fdescriptor_5fmod_115',['ip_grid_descriptor_mod',['../namespaceip__grid__descriptor__mod.html',1,'']]],
-  ['ip_5fgrid_5fdescriptor_5fmod_2ef90_116',['ip_grid_descriptor_mod.F90',['../ip__grid__descriptor__mod_8F90.html',1,'']]],
-  ['ip_5fgrid_5ffactory_5fmod_117',['ip_grid_factory_mod',['../namespaceip__grid__factory__mod.html',1,'']]],
-  ['ip_5fgrid_5ffactory_5fmod_2ef90_118',['ip_grid_factory_mod.F90',['../ip__grid__factory__mod_8F90.html',1,'']]],
-  ['ip_5fgrid_5fmod_119',['ip_grid_mod',['../namespaceip__grid__mod.html',1,'']]],
-  ['ip_5fgrid_5fmod_2ef90_120',['ip_grid_mod.F90',['../ip__grid__mod_8F90.html',1,'']]],
-  ['ip_5fgrids_5fmod_121',['ip_grids_mod',['../namespaceip__grids__mod.html',1,'']]],
-  ['ip_5fgrids_5fmod_2ef90_122',['ip_grids_mod.F90',['../ip__grids__mod_8F90.html',1,'']]],
-  ['ip_5finterpolators_5fmod_123',['ip_interpolators_mod',['../namespaceip__interpolators__mod.html',1,'']]],
-  ['ip_5finterpolators_5fmod_2ef90_124',['ip_interpolators_mod.F90',['../ip__interpolators__mod_8F90.html',1,'']]],
-  ['ip_5flambert_5fconf_5fgrid_125',['ip_lambert_conf_grid',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html',1,'ip_lambert_conf_grid_mod']]],
-  ['ip_5flambert_5fconf_5fgrid_5fmod_126',['ip_lambert_conf_grid_mod',['../namespaceip__lambert__conf__grid__mod.html',1,'']]],
-  ['ip_5flambert_5fconf_5fgrid_5fmod_2ef90_127',['ip_lambert_conf_grid_mod.F90',['../ip__lambert__conf__grid__mod_8F90.html',1,'']]],
-  ['ip_5fmercator_5fgrid_128',['ip_mercator_grid',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html',1,'ip_mercator_grid_mod']]],
-  ['ip_5fmercator_5fgrid_5fmod_129',['ip_mercator_grid_mod',['../namespaceip__mercator__grid__mod.html',1,'']]],
-  ['ip_5fmercator_5fgrid_5fmod_2ef90_130',['ip_mercator_grid_mod.F90',['../ip__mercator__grid__mod_8F90.html',1,'']]],
-  ['ip_5fmod_131',['ip_mod',['../namespaceip__mod.html',1,'']]],
-  ['ip_5fmod_2ef90_132',['ip_mod.F90',['../ip__mod_8F90.html',1,'']]],
-  ['ip_5fpolar_5fstereo_5fgrid_133',['ip_polar_stereo_grid',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html',1,'ip_polar_stereo_grid_mod']]],
-  ['ip_5fpolar_5fstereo_5fgrid_5fmod_134',['ip_polar_stereo_grid_mod',['../namespaceip__polar__stereo__grid__mod.html',1,'']]],
-  ['ip_5fpolar_5fstereo_5fgrid_5fmod_2ef90_135',['ip_polar_stereo_grid_mod.F90',['../ip__polar__stereo__grid__mod_8F90.html',1,'']]],
-  ['ip_5frot_5fequid_5fcylind_5fegrid_136',['ip_rot_equid_cylind_egrid',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_137',['ip_rot_equid_cylind_egrid_mod',['../namespaceip__rot__equid__cylind__egrid__mod.html',1,'']]],
-  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_2ef90_138',['ip_rot_equid_cylind_egrid_mod.F90',['../ip__rot__equid__cylind__egrid__mod_8F90.html',1,'']]],
-  ['ip_5frot_5fequid_5fcylind_5fgrid_139',['ip_rot_equid_cylind_grid',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_140',['ip_rot_equid_cylind_grid_mod',['../namespaceip__rot__equid__cylind__grid__mod.html',1,'']]],
-  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_2ef90_141',['ip_rot_equid_cylind_grid_mod.F90',['../ip__rot__equid__cylind__grid__mod_8F90.html',1,'']]],
-  ['ip_5fstation_5fpoints_5fgrid_142',['ip_station_points_grid',['../structip__station__points__grid__mod_1_1ip__station__points__grid.html',1,'ip_station_points_grid_mod']]],
-  ['ip_5fstation_5fpoints_5fgrid_5fmod_143',['ip_station_points_grid_mod',['../namespaceip__station__points__grid__mod.html',1,'']]],
-  ['ip_5fstation_5fpoints_5fgrid_5fmod_2ef90_144',['ip_station_points_grid_mod.F90',['../ip__station__points__grid__mod_8F90.html',1,'']]],
-  ['iplib_5f4_2eh_145',['iplib_4.h',['../iplib__4_8h.html',1,'']]],
-  ['iplib_5f8_2eh_146',['iplib_8.h',['../iplib__8_8h.html',1,'']]],
-  ['iplib_5fd_2eh_147',['iplib_d.h',['../iplib__d_8h.html',1,'']]],
-  ['ipolates_148',['ipolates',['../interfaceipolates__mod_1_1ipolates.html',1,'ipolates_mod']]],
-  ['ipolates_2ef90_149',['ipolates.F90',['../ipolates_8F90.html',1,'']]],
-  ['ipolates_5fgrib1_150',['ipolates_grib1',['../interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b',1,'ipolates_mod::ipolates::ipolates_grib1()'],['../namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269',1,'ipolates_mod::ipolates_grib1()']]],
-  ['ipolates_5fgrib1_5fsingle_5ffield_151',['ipolates_grib1_single_field',['../interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d',1,'ipolates_mod::ipolates::ipolates_grib1_single_field()'],['../namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d',1,'ipolates_mod::ipolates_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)']]],
-  ['ipolates_5fgrib2_152',['ipolates_grib2',['../namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac',1,'ipolates_mod::ipolates_grib2()'],['../interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b',1,'ipolates_mod::ipolates::ipolates_grib2(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
-  ['ipolates_5fgrib2_5fsingle_5ffield_153',['ipolates_grib2_single_field',['../interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240',1,'ipolates_mod::ipolates::ipolates_grib2_single_field()'],['../namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856',1,'ipolates_mod::ipolates_grib2_single_field(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
-  ['ipolates_5fgrid_154',['ipolates_grid',['../namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104',1,'ipolates_mod']]],
-  ['ipolates_5fmod_155',['ipolates_mod',['../namespaceipolates__mod.html',1,'']]],
-  ['ipolatev_156',['ipolatev',['../interfaceipolatev__mod_1_1ipolatev.html',1,'ipolatev_mod']]],
-  ['ipolatev_2ef90_157',['ipolatev.F90',['../ipolatev_8F90.html',1,'']]],
-  ['ipolatev_5fgrib1_158',['ipolatev_grib1',['../namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f',1,'ipolatev_mod::ipolatev_grib1()'],['../interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53',1,'ipolatev_mod::ipolatev::ipolatev_grib1()']]],
-  ['ipolatev_5fgrib1_5fsingle_5ffield_159',['ipolatev_grib1_single_field',['../namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58',1,'ipolatev_mod::ipolatev_grib1_single_field()'],['../interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5',1,'ipolatev_mod::ipolatev::ipolatev_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
-  ['ipolatev_5fgrib2_160',['ipolatev_grib2',['../interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe',1,'ipolatev_mod::ipolatev::ipolatev_grib2()'],['../namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272',1,'ipolatev_mod::ipolatev_grib2()']]],
-  ['ipolatev_5fgrib2_5fsingle_5ffield_161',['ipolatev_grib2_single_field',['../interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd',1,'ipolatev_mod::ipolatev::ipolatev_grib2_single_field()'],['../namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7',1,'ipolatev_mod::ipolatev_grib2_single_field(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
-  ['ipolatev_5fgrid_162',['ipolatev_grid',['../namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1',1,'ipolatev_mod']]],
-  ['ipolatev_5fmod_163',['ipolatev_mod',['../namespaceipolatev__mod.html',1,'']]],
-  ['ipxetas_164',['ipxetas',['../ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1',1,'ipxetas.F90']]],
-  ['ipxetas_2ef90_165',['ipxetas.F90',['../ipxetas_8F90.html',1,'']]],
-  ['ipxwafs_166',['ipxwafs',['../ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12',1,'ipxwafs.F90']]],
-  ['ipxwafs_2ef90_167',['ipxwafs.F90',['../ipxwafs_8F90.html',1,'']]],
-  ['ipxwafs2_168',['ipxwafs2',['../ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894',1,'ipxwafs2.F90']]],
-  ['ipxwafs2_2ef90_169',['ipxwafs2.F90',['../ipxwafs2_8F90.html',1,'']]],
-  ['ipxwafs3_170',['ipxwafs3',['../ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d',1,'ipxwafs3.F90']]],
-  ['ipxwafs3_2ef90_171',['ipxwafs3.F90',['../ipxwafs3_8F90.html',1,'']]],
-  ['irot_172',['irot',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::irot()'],['../namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1',1,'ip_rot_equid_cylind_grid_mod::irot()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571',1,'ip_rot_equid_cylind_egrid_mod::irot()'],['../namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c',1,'ip_polar_stereo_grid_mod::irot()'],['../namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd',1,'ip_lambert_conf_grid_mod::irot()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::irot()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::irot()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::irot()']]],
-  ['is_5fsame_5fgrid_173',['is_same_grid',['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b',1,'ip_grid_mod::operator(==)::is_same_grid()'],['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c',1,'ip_grid_descriptor_mod::operator(==)::is_same_grid()'],['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6',1,'ip_grid_descriptor_mod::ip_grid_descriptor::is_same_grid()'],['../namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec',1,'ip_grid_descriptor_mod::is_same_grid()'],['../namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045',1,'ip_grid_mod::is_same_grid()']]],
-  ['is_5fsame_5fgrid_5fgrib1_174',['is_same_grid_grib1',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95',1,'ip_grid_descriptor_mod::grib1_descriptor::is_same_grid_grib1()'],['../namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019',1,'ip_grid_descriptor_mod::is_same_grid_grib1()']]],
-  ['is_5fsame_5fgrid_5fgrib2_175',['is_same_grid_grib2',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013',1,'ip_grid_descriptor_mod::grib2_descriptor::is_same_grid_grib2()'],['../namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988',1,'ip_grid_descriptor_mod::is_same_grid_grib2()']]],
-  ['iwrap_176',['iwrap',['../structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed',1,'ip_grid_mod::ip_grid']]]
+  ['im_78',['im',['../structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc',1,'ip_grid_mod::ip_grid']]],
+  ['init_79',['init',['../structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c',1,'ip_grid_mod::ip_grid']]],
+  ['init_5fdescriptor_80',['init_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['init_5fgrib1_81',['init_grib1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib1()'],['../namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477',1,'ip_equid_cylind_grid_mod::init_grib1()'],['../namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01',1,'ip_gaussian_grid_mod::init_grib1()'],['../namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea',1,'ip_lambert_conf_grid_mod::init_grib1()'],['../namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d',1,'ip_mercator_grid_mod::init_grib1()'],['../namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f',1,'ip_polar_stereo_grid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab',1,'ip_rot_equid_cylind_egrid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee',1,'ip_rot_equid_cylind_grid_mod::init_grib1()'],['../namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff',1,'ip_station_points_grid_mod::init_grib1()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib1()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib1()'],['../structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806',1,'ip_grid_mod::ip_grid::init_grib1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib1()']]],
+  ['init_5fgrib1_5fdescriptor_82',['init_grib1_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e',1,'ip_grid_descriptor_mod::init_descriptor::init_grib1_descriptor()'],['../namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98',1,'ip_grid_descriptor_mod::init_grib1_descriptor()']]],
+  ['init_5fgrib1_5finterface_83',['init_grib1_interface',['../interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb',1,'ip_grid_mod::init_grib1_interface::init_grib1_interface()'],['../interfaceip__grid__mod_1_1init__grib1__interface.html',1,'ip_grid_mod::init_grib1_interface']]],
+  ['init_5fgrib2_84',['init_grib2',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib2()'],['../namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d',1,'ip_station_points_grid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d',1,'ip_rot_equid_cylind_grid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0',1,'ip_rot_equid_cylind_egrid_mod::init_grib2()'],['../namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7',1,'ip_polar_stereo_grid_mod::init_grib2()'],['../namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82',1,'ip_mercator_grid_mod::init_grib2()'],['../namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf',1,'ip_lambert_conf_grid_mod::init_grib2()'],['../namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2',1,'ip_gaussian_grid_mod::init_grib2()'],['../namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a',1,'ip_equid_cylind_grid_mod::init_grib2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib2()'],['../structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9',1,'ip_grid_mod::ip_grid::init_grib2()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib2()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib2()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib2()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib2()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib2()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib2()']]],
+  ['init_5fgrib2_5fdescriptor_85',['init_grib2_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c',1,'ip_grid_descriptor_mod::init_descriptor::init_grib2_descriptor()'],['../namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451',1,'ip_grid_descriptor_mod::init_grib2_descriptor()']]],
+  ['init_5fgrib2_5finterface_86',['init_grib2_interface',['../interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c',1,'ip_grid_mod::init_grib2_interface::init_grib2_interface()'],['../interfaceip__grid__mod_1_1init__grib2__interface.html',1,'ip_grid_mod::init_grib2_interface']]],
+  ['init_5fgrid_87',['init_grid',['../interfaceip__grid__factory__mod_1_1init__grid.html',1,'ip_grid_factory_mod']]],
+  ['init_5fgrid_5fgeneric_88',['init_grid_generic',['../namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46',1,'ip_grid_factory_mod::init_grid_generic()'],['../interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72',1,'ip_grid_factory_mod::init_grid::init_grid_generic()']]],
+  ['init_5fgrid_5fgrib1_89',['init_grid_grib1',['../namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5',1,'ip_grid_factory_mod']]],
+  ['init_5fgrid_5fgrib2_90',['init_grid_grib2',['../namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225',1,'ip_grid_factory_mod']]],
+  ['interpolate_5fbicubic_91',['interpolate_bicubic',['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html',1,'bicubic_interp_mod']]],
+  ['interpolate_5fbicubic_5fscalar_92',['interpolate_bicubic_scalar',['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_scalar()'],['../namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1',1,'bicubic_interp_mod::interpolate_bicubic_scalar()']]],
+  ['interpolate_5fbicubic_5fvector_93',['interpolate_bicubic_vector',['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_vector()'],['../namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16',1,'bicubic_interp_mod::interpolate_bicubic_vector()']]],
+  ['interpolate_5fbilinear_94',['interpolate_bilinear',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html',1,'bilinear_interp_mod']]],
+  ['interpolate_5fbilinear_5fscalar_95',['interpolate_bilinear_scalar',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_scalar()'],['../namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398',1,'bilinear_interp_mod::interpolate_bilinear_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['interpolate_5fbilinear_5fvector_96',['interpolate_bilinear_vector',['../namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04',1,'bilinear_interp_mod::interpolate_bilinear_vector()'],['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_vector()']]],
+  ['interpolate_5fbudget_97',['interpolate_budget',['../interfacebudget__interp__mod_1_1interpolate__budget.html',1,'budget_interp_mod']]],
+  ['interpolate_5fbudget_5fscalar_98',['interpolate_budget_scalar',['../namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466',1,'budget_interp_mod::interpolate_budget_scalar()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0',1,'budget_interp_mod::interpolate_budget::interpolate_budget_scalar()']]],
+  ['interpolate_5fbudget_5fvector_99',['interpolate_budget_vector',['../namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803',1,'budget_interp_mod::interpolate_budget_vector()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6',1,'budget_interp_mod::interpolate_budget::interpolate_budget_vector()']]],
+  ['interpolate_5fneighbor_100',['interpolate_neighbor',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html',1,'neighbor_interp_mod']]],
+  ['interpolate_5fneighbor_5fbudget_101',['interpolate_neighbor_budget',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html',1,'neighbor_budget_interp_mod']]],
+  ['interpolate_5fneighbor_5fbudget_5fscalar_102',['interpolate_neighbor_budget_scalar',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_scalar()'],['../namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_scalar()']]],
+  ['interpolate_5fneighbor_5fbudget_5fvector_103',['interpolate_neighbor_budget_vector',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_vector()'],['../namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_vector()']]],
+  ['interpolate_5fneighbor_5fscalar_104',['interpolate_neighbor_scalar',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_scalar()'],['../namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f',1,'neighbor_interp_mod::interpolate_neighbor_scalar()']]],
+  ['interpolate_5fneighbor_5fvector_105',['interpolate_neighbor_vector',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_vector()'],['../namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756',1,'neighbor_interp_mod::interpolate_neighbor_vector()']]],
+  ['interpolate_5fspectral_106',['interpolate_spectral',['../interfacespectral__interp__mod_1_1interpolate__spectral.html',1,'spectral_interp_mod']]],
+  ['interpolate_5fspectral_5fscalar_107',['interpolate_spectral_scalar',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_scalar()'],['../namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618',1,'spectral_interp_mod::interpolate_spectral_scalar()']]],
+  ['interpolate_5fspectral_5fvector_108',['interpolate_spectral_vector',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_vector()'],['../namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0',1,'spectral_interp_mod::interpolate_spectral_vector()']]],
+  ['introduction_109',['Introduction',['../index.html',1,'']]],
+  ['ip_5fconstants_5fmod_110',['ip_constants_mod',['../namespaceip__constants__mod.html',1,'']]],
+  ['ip_5fconstants_5fmod_2ef90_111',['ip_constants_mod.F90',['../ip__constants__mod_8F90.html',1,'']]],
+  ['ip_5fequid_5fcylind_5fgrid_112',['ip_equid_cylind_grid',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html',1,'ip_equid_cylind_grid_mod']]],
+  ['ip_5fequid_5fcylind_5fgrid_5fmod_113',['ip_equid_cylind_grid_mod',['../namespaceip__equid__cylind__grid__mod.html',1,'']]],
+  ['ip_5fequid_5fcylind_5fgrid_5fmod_2ef90_114',['ip_equid_cylind_grid_mod.F90',['../ip__equid__cylind__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgaussian_5fgrid_115',['ip_gaussian_grid',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html',1,'ip_gaussian_grid_mod']]],
+  ['ip_5fgaussian_5fgrid_5fmod_116',['ip_gaussian_grid_mod',['../namespaceip__gaussian__grid__mod.html',1,'']]],
+  ['ip_5fgaussian_5fgrid_5fmod_2ef90_117',['ip_gaussian_grid_mod.F90',['../ip__gaussian__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_118',['ip_grid',['../structip__grid__mod_1_1ip__grid.html',1,'ip_grid_mod']]],
+  ['ip_5fgrid_5fdescriptor_119',['ip_grid_descriptor',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['ip_5fgrid_5fdescriptor_5fmod_120',['ip_grid_descriptor_mod',['../namespaceip__grid__descriptor__mod.html',1,'']]],
+  ['ip_5fgrid_5fdescriptor_5fmod_2ef90_121',['ip_grid_descriptor_mod.F90',['../ip__grid__descriptor__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5ffactory_5fmod_122',['ip_grid_factory_mod',['../namespaceip__grid__factory__mod.html',1,'']]],
+  ['ip_5fgrid_5ffactory_5fmod_2ef90_123',['ip_grid_factory_mod.F90',['../ip__grid__factory__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5fmod_124',['ip_grid_mod',['../namespaceip__grid__mod.html',1,'']]],
+  ['ip_5fgrid_5fmod_2ef90_125',['ip_grid_mod.F90',['../ip__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgrids_5fmod_126',['ip_grids_mod',['../namespaceip__grids__mod.html',1,'']]],
+  ['ip_5fgrids_5fmod_2ef90_127',['ip_grids_mod.F90',['../ip__grids__mod_8F90.html',1,'']]],
+  ['ip_5finterpolators_5fmod_128',['ip_interpolators_mod',['../namespaceip__interpolators__mod.html',1,'']]],
+  ['ip_5finterpolators_5fmod_2ef90_129',['ip_interpolators_mod.F90',['../ip__interpolators__mod_8F90.html',1,'']]],
+  ['ip_5flambert_5fconf_5fgrid_130',['ip_lambert_conf_grid',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html',1,'ip_lambert_conf_grid_mod']]],
+  ['ip_5flambert_5fconf_5fgrid_5fmod_131',['ip_lambert_conf_grid_mod',['../namespaceip__lambert__conf__grid__mod.html',1,'']]],
+  ['ip_5flambert_5fconf_5fgrid_5fmod_2ef90_132',['ip_lambert_conf_grid_mod.F90',['../ip__lambert__conf__grid__mod_8F90.html',1,'']]],
+  ['ip_5fmercator_5fgrid_133',['ip_mercator_grid',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html',1,'ip_mercator_grid_mod']]],
+  ['ip_5fmercator_5fgrid_5fmod_134',['ip_mercator_grid_mod',['../namespaceip__mercator__grid__mod.html',1,'']]],
+  ['ip_5fmercator_5fgrid_5fmod_2ef90_135',['ip_mercator_grid_mod.F90',['../ip__mercator__grid__mod_8F90.html',1,'']]],
+  ['ip_5fmod_136',['ip_mod',['../namespaceip__mod.html',1,'']]],
+  ['ip_5fmod_2ef90_137',['ip_mod.F90',['../ip__mod_8F90.html',1,'']]],
+  ['ip_5fpolar_5fstereo_5fgrid_138',['ip_polar_stereo_grid',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html',1,'ip_polar_stereo_grid_mod']]],
+  ['ip_5fpolar_5fstereo_5fgrid_5fmod_139',['ip_polar_stereo_grid_mod',['../namespaceip__polar__stereo__grid__mod.html',1,'']]],
+  ['ip_5fpolar_5fstereo_5fgrid_5fmod_2ef90_140',['ip_polar_stereo_grid_mod.F90',['../ip__polar__stereo__grid__mod_8F90.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_141',['ip_rot_equid_cylind_egrid',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_142',['ip_rot_equid_cylind_egrid_mod',['../namespaceip__rot__equid__cylind__egrid__mod.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_2ef90_143',['ip_rot_equid_cylind_egrid_mod.F90',['../ip__rot__equid__cylind__egrid__mod_8F90.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_144',['ip_rot_equid_cylind_grid',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_145',['ip_rot_equid_cylind_grid_mod',['../namespaceip__rot__equid__cylind__grid__mod.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_2ef90_146',['ip_rot_equid_cylind_grid_mod.F90',['../ip__rot__equid__cylind__grid__mod_8F90.html',1,'']]],
+  ['ip_5fstation_5fpoints_5fgrid_147',['ip_station_points_grid',['../structip__station__points__grid__mod_1_1ip__station__points__grid.html',1,'ip_station_points_grid_mod']]],
+  ['ip_5fstation_5fpoints_5fgrid_5fmod_148',['ip_station_points_grid_mod',['../namespaceip__station__points__grid__mod.html',1,'']]],
+  ['ip_5fstation_5fpoints_5fgrid_5fmod_2ef90_149',['ip_station_points_grid_mod.F90',['../ip__station__points__grid__mod_8F90.html',1,'']]],
+  ['iplib_5f4_2eh_150',['iplib_4.h',['../iplib__4_8h.html',1,'']]],
+  ['iplib_5f8_2eh_151',['iplib_8.h',['../iplib__8_8h.html',1,'']]],
+  ['iplib_5fd_2eh_152',['iplib_d.h',['../iplib__d_8h.html',1,'']]],
+  ['ipolates_153',['ipolates',['../interfaceipolates__mod_1_1ipolates.html',1,'ipolates_mod']]],
+  ['ipolates_2ef90_154',['ipolates.F90',['../ipolates_8F90.html',1,'']]],
+  ['ipolates_5fgrib1_155',['ipolates_grib1',['../namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269',1,'ipolates_mod::ipolates_grib1()'],['../interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b',1,'ipolates_mod::ipolates::ipolates_grib1()']]],
+  ['ipolates_5fgrib1_5fsingle_5ffield_156',['ipolates_grib1_single_field',['../namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d',1,'ipolates_mod::ipolates_grib1_single_field()'],['../interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d',1,'ipolates_mod::ipolates::ipolates_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)']]],
+  ['ipolates_5fgrib2_157',['ipolates_grib2',['../interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b',1,'ipolates_mod::ipolates::ipolates_grib2()'],['../namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac',1,'ipolates_mod::ipolates_grib2()']]],
+  ['ipolates_5fgrib2_5fsingle_5ffield_158',['ipolates_grib2_single_field',['../interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240',1,'ipolates_mod::ipolates::ipolates_grib2_single_field()'],['../namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856',1,'ipolates_mod::ipolates_grib2_single_field(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['ipolates_5fgrid_159',['ipolates_grid',['../namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104',1,'ipolates_mod']]],
+  ['ipolates_5fmod_160',['ipolates_mod',['../namespaceipolates__mod.html',1,'']]],
+  ['ipolatev_161',['ipolatev',['../interfaceipolatev__mod_1_1ipolatev.html',1,'ipolatev_mod']]],
+  ['ipolatev_2ef90_162',['ipolatev.F90',['../ipolatev_8F90.html',1,'']]],
+  ['ipolatev_5fgrib1_163',['ipolatev_grib1',['../interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53',1,'ipolatev_mod::ipolatev::ipolatev_grib1()'],['../namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f',1,'ipolatev_mod::ipolatev_grib1()']]],
+  ['ipolatev_5fgrib1_5fsingle_5ffield_164',['ipolatev_grib1_single_field',['../interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5',1,'ipolatev_mod::ipolatev::ipolatev_grib1_single_field()'],['../namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58',1,'ipolatev_mod::ipolatev_grib1_single_field()']]],
+  ['ipolatev_5fgrib2_165',['ipolatev_grib2',['../interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe',1,'ipolatev_mod::ipolatev::ipolatev_grib2()'],['../namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272',1,'ipolatev_mod::ipolatev_grib2()']]],
+  ['ipolatev_5fgrib2_5fsingle_5ffield_166',['ipolatev_grib2_single_field',['../interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd',1,'ipolatev_mod::ipolatev::ipolatev_grib2_single_field()'],['../namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7',1,'ipolatev_mod::ipolatev_grib2_single_field(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
+  ['ipolatev_5fgrid_167',['ipolatev_grid',['../namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1',1,'ipolatev_mod']]],
+  ['ipolatev_5fmod_168',['ipolatev_mod',['../namespaceipolatev__mod.html',1,'']]],
+  ['ipxetas_169',['ipxetas',['../ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1',1,'ipxetas.F90']]],
+  ['ipxetas_2ef90_170',['ipxetas.F90',['../ipxetas_8F90.html',1,'']]],
+  ['ipxwafs_171',['ipxwafs',['../ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12',1,'ipxwafs.F90']]],
+  ['ipxwafs_2ef90_172',['ipxwafs.F90',['../ipxwafs_8F90.html',1,'']]],
+  ['ipxwafs2_173',['ipxwafs2',['../ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894',1,'ipxwafs2.F90']]],
+  ['ipxwafs2_2ef90_174',['ipxwafs2.F90',['../ipxwafs2_8F90.html',1,'']]],
+  ['ipxwafs3_175',['ipxwafs3',['../ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d',1,'ipxwafs3.F90']]],
+  ['ipxwafs3_2ef90_176',['ipxwafs3.F90',['../ipxwafs3_8F90.html',1,'']]],
+  ['irot_177',['irot',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::irot()'],['../namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1',1,'ip_rot_equid_cylind_grid_mod::irot()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571',1,'ip_rot_equid_cylind_egrid_mod::irot()'],['../namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c',1,'ip_polar_stereo_grid_mod::irot()'],['../namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd',1,'ip_lambert_conf_grid_mod::irot()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::irot()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::irot()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::irot()']]],
+  ['is_5fsame_5fgrid_178',['is_same_grid',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6',1,'ip_grid_descriptor_mod::ip_grid_descriptor::is_same_grid()'],['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c',1,'ip_grid_descriptor_mod::operator(==)::is_same_grid()'],['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b',1,'ip_grid_mod::operator(==)::is_same_grid()'],['../namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec',1,'ip_grid_descriptor_mod::is_same_grid()'],['../namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045',1,'ip_grid_mod::is_same_grid()']]],
+  ['is_5fsame_5fgrid_5fgrib1_179',['is_same_grid_grib1',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95',1,'ip_grid_descriptor_mod::grib1_descriptor::is_same_grid_grib1()'],['../namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019',1,'ip_grid_descriptor_mod::is_same_grid_grib1()']]],
+  ['is_5fsame_5fgrid_5fgrib2_180',['is_same_grid_grib2',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013',1,'ip_grid_descriptor_mod::grib2_descriptor::is_same_grid_grib2()'],['../namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988',1,'ip_grid_descriptor_mod::is_same_grid_grib2()']]],
+  ['iwrap_181',['iwrap',['../structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed',1,'ip_grid_mod::ip_grid']]]
 ];
diff --git a/search/all_9.js b/search/all_9.js
index 30c115e1..da246a14 100644
--- a/search/all_9.js
+++ b/search/all_9.js
@@ -1,10 +1,10 @@
 var searchData=
 [
-  ['j1_177',['j1',['../namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a',1,'ip_gaussian_grid_mod']]],
-  ['jg_178',['jg',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
-  ['jh_179',['jh',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4',1,'ip_gaussian_grid_mod::ip_gaussian_grid::jh()'],['../namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028',1,'ip_gaussian_grid_mod::jh()']]],
-  ['jm_180',['jm',['../structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87',1,'ip_grid_mod::ip_grid']]],
-  ['jscan_181',['jscan',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
-  ['jwrap1_182',['jwrap1',['../structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1',1,'ip_grid_mod::ip_grid']]],
-  ['jwrap2_183',['jwrap2',['../structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2',1,'ip_grid_mod::ip_grid']]]
+  ['j1_182',['j1',['../namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a',1,'ip_gaussian_grid_mod']]],
+  ['jg_183',['jg',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
+  ['jh_184',['jh',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4',1,'ip_gaussian_grid_mod::ip_gaussian_grid::jh()'],['../namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028',1,'ip_gaussian_grid_mod::jh()']]],
+  ['jm_185',['jm',['../structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87',1,'ip_grid_mod::ip_grid']]],
+  ['jscan_186',['jscan',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
+  ['jwrap1_187',['jwrap1',['../structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1',1,'ip_grid_mod::ip_grid']]],
+  ['jwrap2_188',['jwrap2',['../structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2',1,'ip_grid_mod::ip_grid']]]
 ];
diff --git a/search/all_a.js b/search/all_a.js
index 0d356f58..e5519d13 100644
--- a/search/all_a.js
+++ b/search/all_a.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['kd_184',['kd',['../namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e',1,'ip_rot_equid_cylind_egrid_mod::kd()'],['../namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6',1,'ip_rot_equid_cylind_grid_mod::kd()']]],
-  ['kscan_185',['kscan',['../structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce',1,'ip_grid_mod::ip_grid']]]
+  ['kd_189',['kd',['../namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e',1,'ip_rot_equid_cylind_egrid_mod::kd()'],['../namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6',1,'ip_rot_equid_cylind_grid_mod::kd()']]],
+  ['kscan_190',['kscan',['../structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce',1,'ip_grid_mod::ip_grid']]]
 ];
diff --git a/search/all_b.js b/search/all_b.js
index 7cc3d8c6..610c4342 100644
--- a/search/all_b.js
+++ b/search/all_b.js
@@ -1,8 +1,11 @@
 var searchData=
 [
-  ['lambert_5fconf_5fgrid_5farea_186',['lambert_conf_grid_area',['../namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c',1,'ip_lambert_conf_grid_mod']]],
-  ['lambert_5fconf_5fgrid_5fid_5fgrib1_187',['lambert_conf_grid_id_grib1',['../namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16',1,'ip_grid_mod']]],
-  ['lambert_5fconf_5fgrid_5fid_5fgrib2_188',['lambert_conf_grid_id_grib2',['../namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe',1,'ip_grid_mod']]],
-  ['lambert_5fconf_5fmap_5fjacob_189',['lambert_conf_map_jacob',['../namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae',1,'ip_lambert_conf_grid_mod']]],
-  ['lambert_5fconf_5fvect_5frot_190',['lambert_conf_vect_rot',['../namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71',1,'ip_lambert_conf_grid_mod']]]
+  ['lambert_5fconf_5fgrid_5farea_191',['lambert_conf_grid_area',['../namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c',1,'ip_lambert_conf_grid_mod']]],
+  ['lambert_5fconf_5fgrid_5fid_5fgrib1_192',['lambert_conf_grid_id_grib1',['../namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16',1,'ip_grid_mod']]],
+  ['lambert_5fconf_5fgrid_5fid_5fgrib2_193',['lambert_conf_grid_id_grib2',['../namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe',1,'ip_grid_mod']]],
+  ['lambert_5fconf_5fmap_5fjacob_194',['lambert_conf_map_jacob',['../namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae',1,'ip_lambert_conf_grid_mod']]],
+  ['lambert_5fconf_5fvect_5frot_195',['lambert_conf_vect_rot',['../namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71',1,'ip_lambert_conf_grid_mod']]],
+  ['lapack_5fgen_2ef_196',['lapack_gen.F',['../lapack__gen_8F.html',1,'']]],
+  ['lubksb_197',['lubksb',['../lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547',1,'lapack_gen.F']]],
+  ['ludcmp_198',['ludcmp',['../lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781',1,'lapack_gen.F']]]
 ];
diff --git a/search/all_c.js b/search/all_c.js
index 39deed48..9d635abc 100644
--- a/search/all_c.js
+++ b/search/all_c.js
@@ -1,10 +1,10 @@
 var searchData=
 [
-  ['mercator_5fgrid_5farea_191',['mercator_grid_area',['../namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd',1,'ip_mercator_grid_mod']]],
-  ['mercator_5fgrid_5fid_5fgrib1_192',['mercator_grid_id_grib1',['../namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682',1,'ip_grid_mod']]],
-  ['mercator_5fgrid_5fid_5fgrib2_193',['mercator_grid_id_grib2',['../namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856',1,'ip_grid_mod']]],
-  ['mercator_5fmap_5fjacob_194',['mercator_map_jacob',['../namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a',1,'ip_mercator_grid_mod']]],
-  ['mercator_5fvect_5frot_195',['mercator_vect_rot',['../namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17',1,'ip_mercator_grid_mod']]],
-  ['movect_196',['movect',['../movect_8F90.html#a5974e32c0cf90a65b39c68460d761882',1,'movect.F90']]],
-  ['movect_2ef90_197',['movect.F90',['../movect_8F90.html',1,'']]]
+  ['mercator_5fgrid_5farea_199',['mercator_grid_area',['../namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd',1,'ip_mercator_grid_mod']]],
+  ['mercator_5fgrid_5fid_5fgrib1_200',['mercator_grid_id_grib1',['../namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682',1,'ip_grid_mod']]],
+  ['mercator_5fgrid_5fid_5fgrib2_201',['mercator_grid_id_grib2',['../namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856',1,'ip_grid_mod']]],
+  ['mercator_5fmap_5fjacob_202',['mercator_map_jacob',['../namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a',1,'ip_mercator_grid_mod']]],
+  ['mercator_5fvect_5frot_203',['mercator_vect_rot',['../namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17',1,'ip_mercator_grid_mod']]],
+  ['movect_204',['movect',['../movect_8F90.html#a5974e32c0cf90a65b39c68460d761882',1,'movect.F90']]],
+  ['movect_2ef90_205',['movect.F90',['../movect_8F90.html',1,'']]]
 ];
diff --git a/search/all_d.js b/search/all_d.js
index 4ce592d2..478fd976 100644
--- a/search/all_d.js
+++ b/search/all_d.js
@@ -1,12 +1,14 @@
 var searchData=
 [
-  ['neighbor_5fbudget_5finterp_5fid_198',['neighbor_budget_interp_id',['../namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c',1,'ip_interpolators_mod']]],
-  ['neighbor_5fbudget_5finterp_5fmod_199',['neighbor_budget_interp_mod',['../namespaceneighbor__budget__interp__mod.html',1,'']]],
-  ['neighbor_5fbudget_5finterp_5fmod_2ef90_200',['neighbor_budget_interp_mod.F90',['../neighbor__budget__interp__mod_8F90.html',1,'']]],
-  ['neighbor_5finterp_5fid_201',['neighbor_interp_id',['../namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258',1,'ip_interpolators_mod']]],
-  ['neighbor_5finterp_5fmod_202',['neighbor_interp_mod',['../namespaceneighbor__interp__mod.html',1,'']]],
-  ['neighbor_5finterp_5fmod_2ef90_203',['neighbor_interp_mod.F90',['../neighbor__interp__mod_8F90.html',1,'']]],
-  ['nm_204',['nm',['../structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30',1,'ip_grid_mod::ip_grid']]],
-  ['nscan_205',['nscan',['../structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18',1,'ip_grid_mod::ip_grid']]],
-  ['nscan_5ffield_5fpos_206',['nscan_field_pos',['../structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c',1,'ip_grid_mod::ip_grid']]]
+  ['ncpus_206',['ncpus',['../ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd',1,'ncpus.F']]],
+  ['ncpus_2ef_207',['ncpus.F',['../ncpus_8F.html',1,'']]],
+  ['neighbor_5fbudget_5finterp_5fid_208',['neighbor_budget_interp_id',['../namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c',1,'ip_interpolators_mod']]],
+  ['neighbor_5fbudget_5finterp_5fmod_209',['neighbor_budget_interp_mod',['../namespaceneighbor__budget__interp__mod.html',1,'']]],
+  ['neighbor_5fbudget_5finterp_5fmod_2ef90_210',['neighbor_budget_interp_mod.F90',['../neighbor__budget__interp__mod_8F90.html',1,'']]],
+  ['neighbor_5finterp_5fid_211',['neighbor_interp_id',['../namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258',1,'ip_interpolators_mod']]],
+  ['neighbor_5finterp_5fmod_212',['neighbor_interp_mod',['../namespaceneighbor__interp__mod.html',1,'']]],
+  ['neighbor_5finterp_5fmod_2ef90_213',['neighbor_interp_mod.F90',['../neighbor__interp__mod_8F90.html',1,'']]],
+  ['nm_214',['nm',['../structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30',1,'ip_grid_mod::ip_grid']]],
+  ['nscan_215',['nscan',['../structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18',1,'ip_grid_mod::ip_grid']]],
+  ['nscan_5ffield_5fpos_216',['nscan_field_pos',['../structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c',1,'ip_grid_mod::ip_grid']]]
 ];
diff --git a/search/all_e.js b/search/all_e.js
index 65e3b557..30900898 100644
--- a/search/all_e.js
+++ b/search/all_e.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['operator_28_3d_3d_29_207',['operator(==)',['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_descriptor_mod::operator(==)'],['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_mod::operator(==)']]],
-  ['orient_208',['orient',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::orient()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::orient()'],['../namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18',1,'ip_polar_stereo_grid_mod::orient()']]]
+  ['operator_28_3d_3d_29_217',['operator(==)',['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_descriptor_mod::operator(==)'],['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_mod::operator(==)']]],
+  ['orient_218',['orient',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::orient()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::orient()'],['../namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18',1,'ip_polar_stereo_grid_mod::orient()']]]
 ];
diff --git a/search/all_f.js b/search/all_f.js
index c413a722..f39c5e13 100644
--- a/search/all_f.js
+++ b/search/all_f.js
@@ -1,21 +1,21 @@
 var searchData=
 [
-  ['pi_209',['pi',['../namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4',1,'ip_constants_mod']]],
-  ['pi2_210',['pi2',['../namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5',1,'ip_constants_mod']]],
-  ['pi4_211',['pi4',['../namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15',1,'ip_constants_mod']]],
-  ['polar_5fstereo_5fgrid_5farea_212',['polar_stereo_grid_area',['../namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2',1,'ip_polar_stereo_grid_mod']]],
-  ['polar_5fstereo_5fgrid_5fid_5fgrib1_213',['polar_stereo_grid_id_grib1',['../namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1',1,'ip_grid_mod']]],
-  ['polar_5fstereo_5fgrid_5fid_5fgrib2_214',['polar_stereo_grid_id_grib2',['../namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3',1,'ip_grid_mod']]],
-  ['polar_5fstereo_5fmap_5fjacob_215',['polar_stereo_map_jacob',['../namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223',1,'ip_polar_stereo_grid_mod']]],
-  ['polar_5fstereo_5fvect_5frot_216',['polar_stereo_vect_rot',['../namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462',1,'ip_polar_stereo_grid_mod']]],
-  ['polates4_217',['polates4',['../interfacespectral__interp__mod_1_1polates4.html',1,'spectral_interp_mod']]],
-  ['polates4_5fgrib1_218',['polates4_grib1',['../namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366',1,'spectral_interp_mod::polates4_grib1()'],['../interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4',1,'spectral_interp_mod::polates4::polates4_grib1()']]],
-  ['polates4_5fgrib2_219',['polates4_grib2',['../namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a',1,'spectral_interp_mod::polates4_grib2()'],['../interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9',1,'spectral_interp_mod::polates4::polates4_grib2()']]],
-  ['polatev4_220',['polatev4',['../interfacespectral__interp__mod_1_1polatev4.html',1,'spectral_interp_mod']]],
-  ['polatev4_5fgrib1_221',['polatev4_grib1',['../interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8',1,'spectral_interp_mod::polatev4::polatev4_grib1()'],['../namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc',1,'spectral_interp_mod::polatev4_grib1()']]],
-  ['polatev4_5fgrib2_222',['polatev4_grib2',['../interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b',1,'spectral_interp_mod::polatev4::polatev4_grib2()'],['../namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3',1,'spectral_interp_mod::polatev4_grib2()']]],
-  ['polfix_5fmod_223',['polfix_mod',['../namespacepolfix__mod.html',1,'']]],
-  ['polfix_5fmod_2ef90_224',['polfix_mod.F90',['../polfix__mod_8F90.html',1,'']]],
-  ['polfixs_225',['polfixs',['../namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6',1,'polfix_mod']]],
-  ['polfixv_226',['polfixv',['../namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d',1,'polfix_mod']]]
+  ['pi_219',['pi',['../namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4',1,'ip_constants_mod']]],
+  ['pi2_220',['pi2',['../namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5',1,'ip_constants_mod']]],
+  ['pi4_221',['pi4',['../namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15',1,'ip_constants_mod']]],
+  ['polar_5fstereo_5fgrid_5farea_222',['polar_stereo_grid_area',['../namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2',1,'ip_polar_stereo_grid_mod']]],
+  ['polar_5fstereo_5fgrid_5fid_5fgrib1_223',['polar_stereo_grid_id_grib1',['../namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1',1,'ip_grid_mod']]],
+  ['polar_5fstereo_5fgrid_5fid_5fgrib2_224',['polar_stereo_grid_id_grib2',['../namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3',1,'ip_grid_mod']]],
+  ['polar_5fstereo_5fmap_5fjacob_225',['polar_stereo_map_jacob',['../namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223',1,'ip_polar_stereo_grid_mod']]],
+  ['polar_5fstereo_5fvect_5frot_226',['polar_stereo_vect_rot',['../namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462',1,'ip_polar_stereo_grid_mod']]],
+  ['polates4_227',['polates4',['../interfacespectral__interp__mod_1_1polates4.html',1,'spectral_interp_mod']]],
+  ['polates4_5fgrib1_228',['polates4_grib1',['../namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366',1,'spectral_interp_mod::polates4_grib1()'],['../interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4',1,'spectral_interp_mod::polates4::polates4_grib1()']]],
+  ['polates4_5fgrib2_229',['polates4_grib2',['../namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a',1,'spectral_interp_mod::polates4_grib2()'],['../interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9',1,'spectral_interp_mod::polates4::polates4_grib2()']]],
+  ['polatev4_230',['polatev4',['../interfacespectral__interp__mod_1_1polatev4.html',1,'spectral_interp_mod']]],
+  ['polatev4_5fgrib1_231',['polatev4_grib1',['../interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8',1,'spectral_interp_mod::polatev4::polatev4_grib1()'],['../namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc',1,'spectral_interp_mod::polatev4_grib1()']]],
+  ['polatev4_5fgrib2_232',['polatev4_grib2',['../interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b',1,'spectral_interp_mod::polatev4::polatev4_grib2()'],['../namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3',1,'spectral_interp_mod::polatev4_grib2()']]],
+  ['polfix_5fmod_233',['polfix_mod',['../namespacepolfix__mod.html',1,'']]],
+  ['polfix_5fmod_2ef90_234',['polfix_mod.F90',['../polfix__mod_8F90.html',1,'']]],
+  ['polfixs_235',['polfixs',['../namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6',1,'polfix_mod']]],
+  ['polfixv_236',['polfixv',['../namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d',1,'polfix_mod']]]
 ];
diff --git a/search/classes_0.js b/search/classes_0.js
index 4fdd10ec..6c15aca2 100644
--- a/search/classes_0.js
+++ b/search/classes_0.js
@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['gdswzd_257',['gdswzd',['../interfacegdswzd__mod_1_1gdswzd.html',1,'gdswzd_mod']]],
-  ['gdswzd_5finterface_258',['gdswzd_interface',['../interfaceip__grid__mod_1_1gdswzd__interface.html',1,'ip_grid_mod']]],
-  ['grib1_5fdescriptor_259',['grib1_descriptor',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html',1,'ip_grid_descriptor_mod']]],
-  ['grib2_5fdescriptor_260',['grib2_descriptor',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html',1,'ip_grid_descriptor_mod']]]
+  ['gdswzd_390',['gdswzd',['../interfacegdswzd__mod_1_1gdswzd.html',1,'gdswzd_mod']]],
+  ['gdswzd_5finterface_391',['gdswzd_interface',['../interfaceip__grid__mod_1_1gdswzd__interface.html',1,'ip_grid_mod']]],
+  ['grib1_5fdescriptor_392',['grib1_descriptor',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['grib2_5fdescriptor_393',['grib2_descriptor',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html',1,'ip_grid_descriptor_mod']]]
 ];
diff --git a/search/classes_1.js b/search/classes_1.js
index 8849198d..52cb1c46 100644
--- a/search/classes_1.js
+++ b/search/classes_1.js
@@ -1,25 +1,25 @@
 var searchData=
 [
-  ['init_5fdescriptor_261',['init_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html',1,'ip_grid_descriptor_mod']]],
-  ['init_5fgrib1_5finterface_262',['init_grib1_interface',['../interfaceip__grid__mod_1_1init__grib1__interface.html',1,'ip_grid_mod']]],
-  ['init_5fgrib2_5finterface_263',['init_grib2_interface',['../interfaceip__grid__mod_1_1init__grib2__interface.html',1,'ip_grid_mod']]],
-  ['init_5fgrid_264',['init_grid',['../interfaceip__grid__factory__mod_1_1init__grid.html',1,'ip_grid_factory_mod']]],
-  ['interpolate_5fbicubic_265',['interpolate_bicubic',['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html',1,'bicubic_interp_mod']]],
-  ['interpolate_5fbilinear_266',['interpolate_bilinear',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html',1,'bilinear_interp_mod']]],
-  ['interpolate_5fbudget_267',['interpolate_budget',['../interfacebudget__interp__mod_1_1interpolate__budget.html',1,'budget_interp_mod']]],
-  ['interpolate_5fneighbor_268',['interpolate_neighbor',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html',1,'neighbor_interp_mod']]],
-  ['interpolate_5fneighbor_5fbudget_269',['interpolate_neighbor_budget',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html',1,'neighbor_budget_interp_mod']]],
-  ['interpolate_5fspectral_270',['interpolate_spectral',['../interfacespectral__interp__mod_1_1interpolate__spectral.html',1,'spectral_interp_mod']]],
-  ['ip_5fequid_5fcylind_5fgrid_271',['ip_equid_cylind_grid',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html',1,'ip_equid_cylind_grid_mod']]],
-  ['ip_5fgaussian_5fgrid_272',['ip_gaussian_grid',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html',1,'ip_gaussian_grid_mod']]],
-  ['ip_5fgrid_273',['ip_grid',['../structip__grid__mod_1_1ip__grid.html',1,'ip_grid_mod']]],
-  ['ip_5fgrid_5fdescriptor_274',['ip_grid_descriptor',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html',1,'ip_grid_descriptor_mod']]],
-  ['ip_5flambert_5fconf_5fgrid_275',['ip_lambert_conf_grid',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html',1,'ip_lambert_conf_grid_mod']]],
-  ['ip_5fmercator_5fgrid_276',['ip_mercator_grid',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html',1,'ip_mercator_grid_mod']]],
-  ['ip_5fpolar_5fstereo_5fgrid_277',['ip_polar_stereo_grid',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html',1,'ip_polar_stereo_grid_mod']]],
-  ['ip_5frot_5fequid_5fcylind_5fegrid_278',['ip_rot_equid_cylind_egrid',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['ip_5frot_5fequid_5fcylind_5fgrid_279',['ip_rot_equid_cylind_grid',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['ip_5fstation_5fpoints_5fgrid_280',['ip_station_points_grid',['../structip__station__points__grid__mod_1_1ip__station__points__grid.html',1,'ip_station_points_grid_mod']]],
-  ['ipolates_281',['ipolates',['../interfaceipolates__mod_1_1ipolates.html',1,'ipolates_mod']]],
-  ['ipolatev_282',['ipolatev',['../interfaceipolatev__mod_1_1ipolatev.html',1,'ipolatev_mod']]]
+  ['init_5fdescriptor_394',['init_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['init_5fgrib1_5finterface_395',['init_grib1_interface',['../interfaceip__grid__mod_1_1init__grib1__interface.html',1,'ip_grid_mod']]],
+  ['init_5fgrib2_5finterface_396',['init_grib2_interface',['../interfaceip__grid__mod_1_1init__grib2__interface.html',1,'ip_grid_mod']]],
+  ['init_5fgrid_397',['init_grid',['../interfaceip__grid__factory__mod_1_1init__grid.html',1,'ip_grid_factory_mod']]],
+  ['interpolate_5fbicubic_398',['interpolate_bicubic',['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html',1,'bicubic_interp_mod']]],
+  ['interpolate_5fbilinear_399',['interpolate_bilinear',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html',1,'bilinear_interp_mod']]],
+  ['interpolate_5fbudget_400',['interpolate_budget',['../interfacebudget__interp__mod_1_1interpolate__budget.html',1,'budget_interp_mod']]],
+  ['interpolate_5fneighbor_401',['interpolate_neighbor',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html',1,'neighbor_interp_mod']]],
+  ['interpolate_5fneighbor_5fbudget_402',['interpolate_neighbor_budget',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html',1,'neighbor_budget_interp_mod']]],
+  ['interpolate_5fspectral_403',['interpolate_spectral',['../interfacespectral__interp__mod_1_1interpolate__spectral.html',1,'spectral_interp_mod']]],
+  ['ip_5fequid_5fcylind_5fgrid_404',['ip_equid_cylind_grid',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html',1,'ip_equid_cylind_grid_mod']]],
+  ['ip_5fgaussian_5fgrid_405',['ip_gaussian_grid',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html',1,'ip_gaussian_grid_mod']]],
+  ['ip_5fgrid_406',['ip_grid',['../structip__grid__mod_1_1ip__grid.html',1,'ip_grid_mod']]],
+  ['ip_5fgrid_5fdescriptor_407',['ip_grid_descriptor',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['ip_5flambert_5fconf_5fgrid_408',['ip_lambert_conf_grid',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html',1,'ip_lambert_conf_grid_mod']]],
+  ['ip_5fmercator_5fgrid_409',['ip_mercator_grid',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html',1,'ip_mercator_grid_mod']]],
+  ['ip_5fpolar_5fstereo_5fgrid_410',['ip_polar_stereo_grid',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html',1,'ip_polar_stereo_grid_mod']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_411',['ip_rot_equid_cylind_egrid',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_412',['ip_rot_equid_cylind_grid',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['ip_5fstation_5fpoints_5fgrid_413',['ip_station_points_grid',['../structip__station__points__grid__mod_1_1ip__station__points__grid.html',1,'ip_station_points_grid_mod']]],
+  ['ipolates_414',['ipolates',['../interfaceipolates__mod_1_1ipolates.html',1,'ipolates_mod']]],
+  ['ipolatev_415',['ipolatev',['../interfaceipolatev__mod_1_1ipolatev.html',1,'ipolatev_mod']]]
 ];
diff --git a/search/classes_2.js b/search/classes_2.js
index d39bf9dc..6689b41d 100644
--- a/search/classes_2.js
+++ b/search/classes_2.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['operator_28_3d_3d_29_283',['operator(==)',['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_descriptor_mod::operator(==)'],['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_mod::operator(==)']]]
+  ['operator_28_3d_3d_29_416',['operator(==)',['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_descriptor_mod::operator(==)'],['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_mod::operator(==)']]]
 ];
diff --git a/search/classes_3.js b/search/classes_3.js
index b9c3d42a..eb67d0de 100644
--- a/search/classes_3.js
+++ b/search/classes_3.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['polates4_284',['polates4',['../interfacespectral__interp__mod_1_1polates4.html',1,'spectral_interp_mod']]],
-  ['polatev4_285',['polatev4',['../interfacespectral__interp__mod_1_1polatev4.html',1,'spectral_interp_mod']]]
+  ['polates4_417',['polates4',['../interfacespectral__interp__mod_1_1polates4.html',1,'spectral_interp_mod']]],
+  ['polatev4_418',['polatev4',['../interfacespectral__interp__mod_1_1polatev4.html',1,'spectral_interp_mod']]]
 ];
diff --git a/search/files_0.js b/search/files_0.js
index 7fdccd35..a22a711b 100644
--- a/search/files_0.js
+++ b/search/files_0.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['bicubic_5finterp_5fmod_2ef90_313',['bicubic_interp_mod.F90',['../bicubic__interp__mod_8F90.html',1,'']]],
-  ['bilinear_5finterp_5fmod_2ef90_314',['bilinear_interp_mod.F90',['../bilinear__interp__mod_8F90.html',1,'']]],
-  ['budget_5finterp_5fmod_2ef90_315',['budget_interp_mod.F90',['../budget__interp__mod_8F90.html',1,'']]]
+  ['bicubic_5finterp_5fmod_2ef90_446',['bicubic_interp_mod.F90',['../bicubic__interp__mod_8F90.html',1,'']]],
+  ['bilinear_5finterp_5fmod_2ef90_447',['bilinear_interp_mod.F90',['../bilinear__interp__mod_8F90.html',1,'']]],
+  ['budget_5finterp_5fmod_2ef90_448',['budget_interp_mod.F90',['../budget__interp__mod_8F90.html',1,'']]]
 ];
diff --git a/search/files_1.js b/search/files_1.js
index 80e87058..85fdfeee 100644
--- a/search/files_1.js
+++ b/search/files_1.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['earth_5fradius_5fmod_2ef90_316',['earth_radius_mod.F90',['../earth__radius__mod_8F90.html',1,'']]]
+  ['earth_5fradius_5fmod_2ef90_449',['earth_radius_mod.F90',['../earth__radius__mod_8F90.html',1,'']]]
 ];
diff --git a/search/files_2.js b/search/files_2.js
index 42ec3ef1..bc31b066 100644
--- a/search/files_2.js
+++ b/search/files_2.js
@@ -1,5 +1,4 @@
 var searchData=
 [
-  ['gdswzd_5fc_2ef90_317',['gdswzd_c.F90',['../gdswzd__c_8F90.html',1,'']]],
-  ['gdswzd_5fmod_2ef90_318',['gdswzd_mod.F90',['../gdswzd__mod_8F90.html',1,'']]]
+  ['fftpack_2ef_450',['fftpack.F',['../fftpack_8F.html',1,'']]]
 ];
diff --git a/search/files_3.js b/search/files_3.js
index de45d7a7..87d2cd84 100644
--- a/search/files_3.js
+++ b/search/files_3.js
@@ -1,27 +1,5 @@
 var searchData=
 [
-  ['ip_5fconstants_5fmod_2ef90_319',['ip_constants_mod.F90',['../ip__constants__mod_8F90.html',1,'']]],
-  ['ip_5fequid_5fcylind_5fgrid_5fmod_2ef90_320',['ip_equid_cylind_grid_mod.F90',['../ip__equid__cylind__grid__mod_8F90.html',1,'']]],
-  ['ip_5fgaussian_5fgrid_5fmod_2ef90_321',['ip_gaussian_grid_mod.F90',['../ip__gaussian__grid__mod_8F90.html',1,'']]],
-  ['ip_5fgrid_5fdescriptor_5fmod_2ef90_322',['ip_grid_descriptor_mod.F90',['../ip__grid__descriptor__mod_8F90.html',1,'']]],
-  ['ip_5fgrid_5ffactory_5fmod_2ef90_323',['ip_grid_factory_mod.F90',['../ip__grid__factory__mod_8F90.html',1,'']]],
-  ['ip_5fgrid_5fmod_2ef90_324',['ip_grid_mod.F90',['../ip__grid__mod_8F90.html',1,'']]],
-  ['ip_5fgrids_5fmod_2ef90_325',['ip_grids_mod.F90',['../ip__grids__mod_8F90.html',1,'']]],
-  ['ip_5finterpolators_5fmod_2ef90_326',['ip_interpolators_mod.F90',['../ip__interpolators__mod_8F90.html',1,'']]],
-  ['ip_5flambert_5fconf_5fgrid_5fmod_2ef90_327',['ip_lambert_conf_grid_mod.F90',['../ip__lambert__conf__grid__mod_8F90.html',1,'']]],
-  ['ip_5fmercator_5fgrid_5fmod_2ef90_328',['ip_mercator_grid_mod.F90',['../ip__mercator__grid__mod_8F90.html',1,'']]],
-  ['ip_5fmod_2ef90_329',['ip_mod.F90',['../ip__mod_8F90.html',1,'']]],
-  ['ip_5fpolar_5fstereo_5fgrid_5fmod_2ef90_330',['ip_polar_stereo_grid_mod.F90',['../ip__polar__stereo__grid__mod_8F90.html',1,'']]],
-  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_2ef90_331',['ip_rot_equid_cylind_egrid_mod.F90',['../ip__rot__equid__cylind__egrid__mod_8F90.html',1,'']]],
-  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_2ef90_332',['ip_rot_equid_cylind_grid_mod.F90',['../ip__rot__equid__cylind__grid__mod_8F90.html',1,'']]],
-  ['ip_5fstation_5fpoints_5fgrid_5fmod_2ef90_333',['ip_station_points_grid_mod.F90',['../ip__station__points__grid__mod_8F90.html',1,'']]],
-  ['iplib_5f4_2eh_334',['iplib_4.h',['../iplib__4_8h.html',1,'']]],
-  ['iplib_5f8_2eh_335',['iplib_8.h',['../iplib__8_8h.html',1,'']]],
-  ['iplib_5fd_2eh_336',['iplib_d.h',['../iplib__d_8h.html',1,'']]],
-  ['ipolates_2ef90_337',['ipolates.F90',['../ipolates_8F90.html',1,'']]],
-  ['ipolatev_2ef90_338',['ipolatev.F90',['../ipolatev_8F90.html',1,'']]],
-  ['ipxetas_2ef90_339',['ipxetas.F90',['../ipxetas_8F90.html',1,'']]],
-  ['ipxwafs_2ef90_340',['ipxwafs.F90',['../ipxwafs_8F90.html',1,'']]],
-  ['ipxwafs2_2ef90_341',['ipxwafs2.F90',['../ipxwafs2_8F90.html',1,'']]],
-  ['ipxwafs3_2ef90_342',['ipxwafs3.F90',['../ipxwafs3_8F90.html',1,'']]]
+  ['gdswzd_5fc_2ef90_451',['gdswzd_c.F90',['../gdswzd__c_8F90.html',1,'']]],
+  ['gdswzd_5fmod_2ef90_452',['gdswzd_mod.F90',['../gdswzd__mod_8F90.html',1,'']]]
 ];
diff --git a/search/files_4.js b/search/files_4.js
index 53cbae3d..18055cf1 100644
--- a/search/files_4.js
+++ b/search/files_4.js
@@ -1,4 +1,27 @@
 var searchData=
 [
-  ['movect_2ef90_343',['movect.F90',['../movect_8F90.html',1,'']]]
+  ['ip_5fconstants_5fmod_2ef90_453',['ip_constants_mod.F90',['../ip__constants__mod_8F90.html',1,'']]],
+  ['ip_5fequid_5fcylind_5fgrid_5fmod_2ef90_454',['ip_equid_cylind_grid_mod.F90',['../ip__equid__cylind__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgaussian_5fgrid_5fmod_2ef90_455',['ip_gaussian_grid_mod.F90',['../ip__gaussian__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5fdescriptor_5fmod_2ef90_456',['ip_grid_descriptor_mod.F90',['../ip__grid__descriptor__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5ffactory_5fmod_2ef90_457',['ip_grid_factory_mod.F90',['../ip__grid__factory__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5fmod_2ef90_458',['ip_grid_mod.F90',['../ip__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgrids_5fmod_2ef90_459',['ip_grids_mod.F90',['../ip__grids__mod_8F90.html',1,'']]],
+  ['ip_5finterpolators_5fmod_2ef90_460',['ip_interpolators_mod.F90',['../ip__interpolators__mod_8F90.html',1,'']]],
+  ['ip_5flambert_5fconf_5fgrid_5fmod_2ef90_461',['ip_lambert_conf_grid_mod.F90',['../ip__lambert__conf__grid__mod_8F90.html',1,'']]],
+  ['ip_5fmercator_5fgrid_5fmod_2ef90_462',['ip_mercator_grid_mod.F90',['../ip__mercator__grid__mod_8F90.html',1,'']]],
+  ['ip_5fmod_2ef90_463',['ip_mod.F90',['../ip__mod_8F90.html',1,'']]],
+  ['ip_5fpolar_5fstereo_5fgrid_5fmod_2ef90_464',['ip_polar_stereo_grid_mod.F90',['../ip__polar__stereo__grid__mod_8F90.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_2ef90_465',['ip_rot_equid_cylind_egrid_mod.F90',['../ip__rot__equid__cylind__egrid__mod_8F90.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_2ef90_466',['ip_rot_equid_cylind_grid_mod.F90',['../ip__rot__equid__cylind__grid__mod_8F90.html',1,'']]],
+  ['ip_5fstation_5fpoints_5fgrid_5fmod_2ef90_467',['ip_station_points_grid_mod.F90',['../ip__station__points__grid__mod_8F90.html',1,'']]],
+  ['iplib_5f4_2eh_468',['iplib_4.h',['../iplib__4_8h.html',1,'']]],
+  ['iplib_5f8_2eh_469',['iplib_8.h',['../iplib__8_8h.html',1,'']]],
+  ['iplib_5fd_2eh_470',['iplib_d.h',['../iplib__d_8h.html',1,'']]],
+  ['ipolates_2ef90_471',['ipolates.F90',['../ipolates_8F90.html',1,'']]],
+  ['ipolatev_2ef90_472',['ipolatev.F90',['../ipolatev_8F90.html',1,'']]],
+  ['ipxetas_2ef90_473',['ipxetas.F90',['../ipxetas_8F90.html',1,'']]],
+  ['ipxwafs_2ef90_474',['ipxwafs.F90',['../ipxwafs_8F90.html',1,'']]],
+  ['ipxwafs2_2ef90_475',['ipxwafs2.F90',['../ipxwafs2_8F90.html',1,'']]],
+  ['ipxwafs3_2ef90_476',['ipxwafs3.F90',['../ipxwafs3_8F90.html',1,'']]]
 ];
diff --git a/search/files_5.js b/search/files_5.js
index 56643bdd..f9c80028 100644
--- a/search/files_5.js
+++ b/search/files_5.js
@@ -1,5 +1,4 @@
 var searchData=
 [
-  ['neighbor_5fbudget_5finterp_5fmod_2ef90_344',['neighbor_budget_interp_mod.F90',['../neighbor__budget__interp__mod_8F90.html',1,'']]],
-  ['neighbor_5finterp_5fmod_2ef90_345',['neighbor_interp_mod.F90',['../neighbor__interp__mod_8F90.html',1,'']]]
+  ['lapack_5fgen_2ef_477',['lapack_gen.F',['../lapack__gen_8F.html',1,'']]]
 ];
diff --git a/search/files_6.js b/search/files_6.js
index 16cec1c2..f9eeb6a6 100644
--- a/search/files_6.js
+++ b/search/files_6.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['polfix_5fmod_2ef90_346',['polfix_mod.F90',['../polfix__mod_8F90.html',1,'']]]
+  ['movect_2ef90_478',['movect.F90',['../movect_8F90.html',1,'']]]
 ];
diff --git a/search/files_7.js b/search/files_7.js
index fabf7ddc..aba62e4f 100644
--- a/search/files_7.js
+++ b/search/files_7.js
@@ -1,4 +1,6 @@
 var searchData=
 [
-  ['spectral_5finterp_5fmod_2ef90_347',['spectral_interp_mod.F90',['../spectral__interp__mod_8F90.html',1,'']]]
+  ['ncpus_2ef_479',['ncpus.F',['../ncpus_8F.html',1,'']]],
+  ['neighbor_5fbudget_5finterp_5fmod_2ef90_480',['neighbor_budget_interp_mod.F90',['../neighbor__budget__interp__mod_8F90.html',1,'']]],
+  ['neighbor_5finterp_5fmod_2ef90_481',['neighbor_interp_mod.F90',['../neighbor__interp__mod_8F90.html',1,'']]]
 ];
diff --git a/search/files_8.html b/search/files_8.html
new file mode 100644
index 00000000..3df0f2fa
--- /dev/null
+++ b/search/files_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/search/files_8.js b/search/files_8.js
new file mode 100644
index 00000000..c05771bc
--- /dev/null
+++ b/search/files_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['polfix_5fmod_2ef90_482',['polfix_mod.F90',['../polfix__mod_8F90.html',1,'']]]
+];
diff --git a/search/files_9.html b/search/files_9.html
new file mode 100644
index 00000000..52f8b6c0
--- /dev/null
+++ b/search/files_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/search/files_9.js b/search/files_9.js
new file mode 100644
index 00000000..be5451b2
--- /dev/null
+++ b/search/files_9.js
@@ -0,0 +1,56 @@
+var searchData=
+[
+  ['spanaly_2ef_483',['spanaly.f',['../spanaly_8f.html',1,'']]],
+  ['spdz2uv_2ef_484',['spdz2uv.f',['../spdz2uv_8f.html',1,'']]],
+  ['spectral_5finterp_5fmod_2ef90_485',['spectral_interp_mod.F90',['../spectral__interp__mod_8F90.html',1,'']]],
+  ['speps_2ef_486',['speps.f',['../speps_8f.html',1,'']]],
+  ['spfft_2ef_487',['spfft.f',['../spfft_8f.html',1,'']]],
+  ['spfft1_2ef_488',['spfft1.f',['../spfft1_8f.html',1,'']]],
+  ['spffte_2ef_489',['spffte.f',['../spffte_8f.html',1,'']]],
+  ['spfftpt_2ef_490',['spfftpt.f',['../spfftpt_8f.html',1,'']]],
+  ['spgradq_2ef_491',['spgradq.f',['../spgradq_8f.html',1,'']]],
+  ['spgradx_2ef_492',['spgradx.f',['../spgradx_8f.html',1,'']]],
+  ['spgrady_2ef_493',['spgrady.f',['../spgrady_8f.html',1,'']]],
+  ['splaplac_2ef_494',['splaplac.f',['../splaplac_8f.html',1,'']]],
+  ['splat_2ef_495',['splat.F',['../splat_8F.html',1,'']]],
+  ['splegend_2ef_496',['splegend.f',['../splegend_8f.html',1,'']]],
+  ['sppad_2ef_497',['sppad.f',['../sppad_8f.html',1,'']]],
+  ['spsynth_2ef_498',['spsynth.f',['../spsynth_8f.html',1,'']]],
+  ['sptez_2ef_499',['sptez.f',['../sptez_8f.html',1,'']]],
+  ['sptezd_2ef_500',['sptezd.f',['../sptezd_8f.html',1,'']]],
+  ['sptezm_2ef_501',['sptezm.f',['../sptezm_8f.html',1,'']]],
+  ['sptezmd_2ef_502',['sptezmd.f',['../sptezmd_8f.html',1,'']]],
+  ['sptezmv_2ef_503',['sptezmv.f',['../sptezmv_8f.html',1,'']]],
+  ['sptezv_2ef_504',['sptezv.f',['../sptezv_8f.html',1,'']]],
+  ['sptgpm_2ef_505',['sptgpm.f',['../sptgpm_8f.html',1,'']]],
+  ['sptgpmd_2ef_506',['sptgpmd.f',['../sptgpmd_8f.html',1,'']]],
+  ['sptgpmv_2ef_507',['sptgpmv.f',['../sptgpmv_8f.html',1,'']]],
+  ['sptgps_2ef_508',['sptgps.f',['../sptgps_8f.html',1,'']]],
+  ['sptgpsd_2ef_509',['sptgpsd.f',['../sptgpsd_8f.html',1,'']]],
+  ['sptgpsv_2ef_510',['sptgpsv.f',['../sptgpsv_8f.html',1,'']]],
+  ['sptgpt_2ef_511',['sptgpt.f',['../sptgpt_8f.html',1,'']]],
+  ['sptgptd_2ef_512',['sptgptd.f',['../sptgptd_8f.html',1,'']]],
+  ['sptgptsd_2ef_513',['sptgptsd.f',['../sptgptsd_8f.html',1,'']]],
+  ['sptgptv_2ef_514',['sptgptv.f',['../sptgptv_8f.html',1,'']]],
+  ['sptgptvd_2ef_515',['sptgptvd.f',['../sptgptvd_8f.html',1,'']]],
+  ['sptran_2ef_516',['sptran.f',['../sptran_8f.html',1,'']]],
+  ['sptrand_2ef_517',['sptrand.f',['../sptrand_8f.html',1,'']]],
+  ['sptranf_2ef_518',['sptranf.f',['../sptranf_8f.html',1,'']]],
+  ['sptranf0_2ef_519',['sptranf0.f',['../sptranf0_8f.html',1,'']]],
+  ['sptranf1_2ef_520',['sptranf1.f',['../sptranf1_8f.html',1,'']]],
+  ['sptranfv_2ef_521',['sptranfv.f',['../sptranfv_8f.html',1,'']]],
+  ['sptranv_2ef_522',['sptranv.f',['../sptranv_8f.html',1,'']]],
+  ['sptrun_2ef_523',['sptrun.f',['../sptrun_8f.html',1,'']]],
+  ['sptrund_2ef_524',['sptrund.f',['../sptrund_8f.html',1,'']]],
+  ['sptrung_2ef_525',['sptrung.f',['../sptrung_8f.html',1,'']]],
+  ['sptrungv_2ef_526',['sptrungv.f',['../sptrungv_8f.html',1,'']]],
+  ['sptrunl_2ef_527',['sptrunl.f',['../sptrunl_8f.html',1,'']]],
+  ['sptrunm_2ef_528',['sptrunm.f',['../sptrunm_8f.html',1,'']]],
+  ['sptrunmv_2ef_529',['sptrunmv.f',['../sptrunmv_8f.html',1,'']]],
+  ['sptruns_2ef_530',['sptruns.f',['../sptruns_8f.html',1,'']]],
+  ['sptrunsv_2ef_531',['sptrunsv.f',['../sptrunsv_8f.html',1,'']]],
+  ['sptrunv_2ef_532',['sptrunv.f',['../sptrunv_8f.html',1,'']]],
+  ['spuv2dz_2ef_533',['spuv2dz.f',['../spuv2dz_8f.html',1,'']]],
+  ['spvar_2ef_534',['spvar.f',['../spvar_8f.html',1,'']]],
+  ['spwget_2ef_535',['spwget.f',['../spwget_8f.html',1,'']]]
+];
diff --git a/search/functions_0.js b/search/functions_0.js
index fbfd1527..511dace6 100644
--- a/search/functions_0.js
+++ b/search/functions_0.js
@@ -1,7 +1,4 @@
 var searchData=
 [
-  ['earth_5fradius_348',['earth_radius',['../namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54',1,'earth_radius_mod']]],
-  ['equid_5fcylind_5fgrid_5farea_349',['equid_cylind_grid_area',['../namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2',1,'ip_equid_cylind_grid_mod']]],
-  ['equid_5fcylind_5fmap_5fjacob_350',['equid_cylind_map_jacob',['../namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd',1,'ip_equid_cylind_grid_mod']]],
-  ['equid_5fcylind_5fvect_5frot_351',['equid_cylind_vect_rot',['../namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d',1,'ip_equid_cylind_grid_mod']]]
+  ['csfft_536',['csfft',['../fftpack_8F.html#ad261879c88a7f040e43f1549e65f36e5',1,'fftpack.F']]]
 ];
diff --git a/search/functions_1.js b/search/functions_1.js
index ce73a040..2e7feb8d 100644
--- a/search/functions_1.js
+++ b/search/functions_1.js
@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['field_5fpos_352',['field_pos',['../structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179',1,'ip_grid_mod::ip_grid::field_pos()'],['../namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442',1,'ip_grid_mod::field_pos()']]]
+  ['dcrft_537',['dcrft',['../fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225',1,'fftpack.F']]],
+  ['drcft_538',['drcft',['../fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8',1,'fftpack.F']]]
 ];
diff --git a/search/functions_2.js b/search/functions_2.js
index fd83bb4b..ab7735da 100644
--- a/search/functions_2.js
+++ b/search/functions_2.js
@@ -1,24 +1,7 @@
 var searchData=
 [
-  ['gaussian_5fgrid_5farea_353',['gaussian_grid_area',['../namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780',1,'ip_gaussian_grid_mod']]],
-  ['gaussian_5fmap_5fjacob_354',['gaussian_map_jacob',['../namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d',1,'ip_gaussian_grid_mod']]],
-  ['gaussian_5fvect_5frot_355',['gaussian_vect_rot',['../namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad',1,'ip_gaussian_grid_mod']]],
-  ['gdswzd_356',['gdswzd',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885',1,'ip_gaussian_grid_mod::ip_gaussian_grid::gdswzd()'],['../iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h'],['../iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4',1,'gdswzd(long igdtnum, long *igdtmpl, long igdtlen, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area):&#160;iplib_4.h'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f',1,'ip_station_points_grid_mod::ip_station_points_grid::gdswzd()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::gdswzd()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::gdswzd()'],['../structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080',1,'ip_grid_mod::ip_grid::gdswzd()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::gdswzd()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::gdswzd()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a',1,'ip_mercator_grid_mod::ip_mercator_grid::gdswzd()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::gdswzd()']]],
-  ['gdswzd_5f1d_5farray_357',['gdswzd_1d_array',['../interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b',1,'gdswzd_mod::gdswzd::gdswzd_1d_array()'],['../namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76',1,'gdswzd_mod::gdswzd_1d_array()']]],
-  ['gdswzd_5f2d_5farray_358',['gdswzd_2d_array',['../interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31',1,'gdswzd_mod::gdswzd::gdswzd_2d_array()'],['../namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25',1,'gdswzd_mod::gdswzd_2d_array(IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)']]],
-  ['gdswzd_5f2d_5farray_5fgrib1_359',['gdswzd_2d_array_grib1',['../namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4',1,'gdswzd_mod::gdswzd_2d_array_grib1()'],['../interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5',1,'gdswzd_mod::gdswzd::gdswzd_2d_array_grib1()']]],
-  ['gdswzd_5fc_360',['gdswzd_c',['../namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4',1,'gdswzd_c_mod']]],
-  ['gdswzd_5fc_5fgrib1_361',['gdswzd_c_grib1',['../namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504',1,'gdswzd_c_mod']]],
-  ['gdswzd_5fequid_5fcylind_362',['gdswzd_equid_cylind',['../namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727',1,'ip_equid_cylind_grid_mod']]],
-  ['gdswzd_5fgaussian_363',['gdswzd_gaussian',['../namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9',1,'ip_gaussian_grid_mod']]],
-  ['gdswzd_5fgrib1_364',['gdswzd_grib1',['../interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a',1,'gdswzd_mod::gdswzd::gdswzd_grib1()'],['../namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37',1,'gdswzd_mod::gdswzd_grib1()'],['../iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1',1,'gdswzd_grib1(int *kgds, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area):&#160;iplib_4.h'],['../iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93',1,'gdswzd_grib1(long *kgds, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691',1,'gdswzd_grib1(int *kgds, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h']]],
-  ['gdswzd_5fgrid_365',['gdswzd_grid',['../namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45',1,'gdswzd_mod::gdswzd_grid()'],['../interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16',1,'gdswzd_mod::gdswzd::gdswzd_grid()']]],
-  ['gdswzd_5finterface_366',['gdswzd_interface',['../interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369',1,'ip_grid_mod::gdswzd_interface']]],
-  ['gdswzd_5flambert_5fconf_367',['gdswzd_lambert_conf',['../namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71',1,'ip_lambert_conf_grid_mod']]],
-  ['gdswzd_5fmercator_368',['gdswzd_mercator',['../namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e',1,'ip_mercator_grid_mod']]],
-  ['gdswzd_5fpolar_5fstereo_369',['gdswzd_polar_stereo',['../namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5',1,'ip_polar_stereo_grid_mod']]],
-  ['gdswzd_5frot_5fequid_5fcylind_370',['gdswzd_rot_equid_cylind',['../namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['gdswzd_5frot_5fequid_5fcylind_5fegrid_371',['gdswzd_rot_equid_cylind_egrid',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['gdswzd_5fscalar_372',['gdswzd_scalar',['../interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd',1,'gdswzd_mod::gdswzd::gdswzd_scalar()'],['../namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861',1,'gdswzd_mod::gdswzd_scalar()']]],
-  ['gdswzd_5fstation_5fpoints_373',['gdswzd_station_points',['../namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197',1,'ip_station_points_grid_mod']]]
+  ['earth_5fradius_539',['earth_radius',['../namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54',1,'earth_radius_mod']]],
+  ['equid_5fcylind_5fgrid_5farea_540',['equid_cylind_grid_area',['../namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2',1,'ip_equid_cylind_grid_mod']]],
+  ['equid_5fcylind_5fmap_5fjacob_541',['equid_cylind_map_jacob',['../namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd',1,'ip_equid_cylind_grid_mod']]],
+  ['equid_5fcylind_5fvect_5frot_542',['equid_cylind_vect_rot',['../namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d',1,'ip_equid_cylind_grid_mod']]]
 ];
diff --git a/search/functions_3.js b/search/functions_3.js
index 52622e34..2559a58d 100644
--- a/search/functions_3.js
+++ b/search/functions_3.js
@@ -1,42 +1,4 @@
 var searchData=
 [
-  ['init_374',['init',['../structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c',1,'ip_grid_mod::ip_grid']]],
-  ['init_5fgrib1_375',['init_grib1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib1()'],['../namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff',1,'ip_station_points_grid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee',1,'ip_rot_equid_cylind_grid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab',1,'ip_rot_equid_cylind_egrid_mod::init_grib1()'],['../namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f',1,'ip_polar_stereo_grid_mod::init_grib1()'],['../namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d',1,'ip_mercator_grid_mod::init_grib1()'],['../namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea',1,'ip_lambert_conf_grid_mod::init_grib1()'],['../namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01',1,'ip_gaussian_grid_mod::init_grib1()'],['../namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477',1,'ip_equid_cylind_grid_mod::init_grib1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib1()'],['../structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806',1,'ip_grid_mod::ip_grid::init_grib1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib1()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib1()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib1()']]],
-  ['init_5fgrib1_5fdescriptor_376',['init_grib1_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e',1,'ip_grid_descriptor_mod::init_descriptor::init_grib1_descriptor()'],['../namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98',1,'ip_grid_descriptor_mod::init_grib1_descriptor()']]],
-  ['init_5fgrib1_5finterface_377',['init_grib1_interface',['../interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb',1,'ip_grid_mod::init_grib1_interface']]],
-  ['init_5fgrib2_378',['init_grib2',['../namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a',1,'ip_equid_cylind_grid_mod::init_grib2()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib2()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib2()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib2()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib2()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib2()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib2()'],['../structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9',1,'ip_grid_mod::ip_grid::init_grib2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib2()'],['../namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2',1,'ip_gaussian_grid_mod::init_grib2()'],['../namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf',1,'ip_lambert_conf_grid_mod::init_grib2()'],['../namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82',1,'ip_mercator_grid_mod::init_grib2()'],['../namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7',1,'ip_polar_stereo_grid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0',1,'ip_rot_equid_cylind_egrid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d',1,'ip_rot_equid_cylind_grid_mod::init_grib2()'],['../namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d',1,'ip_station_points_grid_mod::init_grib2()']]],
-  ['init_5fgrib2_5fdescriptor_379',['init_grib2_descriptor',['../namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451',1,'ip_grid_descriptor_mod::init_grib2_descriptor()'],['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c',1,'ip_grid_descriptor_mod::init_descriptor::init_grib2_descriptor()']]],
-  ['init_5fgrib2_5finterface_380',['init_grib2_interface',['../interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c',1,'ip_grid_mod::init_grib2_interface']]],
-  ['init_5fgrid_5fgeneric_381',['init_grid_generic',['../interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72',1,'ip_grid_factory_mod::init_grid::init_grid_generic()'],['../namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46',1,'ip_grid_factory_mod::init_grid_generic(grid, grid_desc)']]],
-  ['init_5fgrid_5fgrib1_382',['init_grid_grib1',['../namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5',1,'ip_grid_factory_mod']]],
-  ['init_5fgrid_5fgrib2_383',['init_grid_grib2',['../namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225',1,'ip_grid_factory_mod']]],
-  ['interpolate_5fbicubic_5fscalar_384',['interpolate_bicubic_scalar',['../namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1',1,'bicubic_interp_mod::interpolate_bicubic_scalar()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_scalar()']]],
-  ['interpolate_5fbicubic_5fvector_385',['interpolate_bicubic_vector',['../namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16',1,'bicubic_interp_mod::interpolate_bicubic_vector()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_vector()']]],
-  ['interpolate_5fbilinear_5fscalar_386',['interpolate_bilinear_scalar',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_scalar()'],['../namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398',1,'bilinear_interp_mod::interpolate_bilinear_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
-  ['interpolate_5fbilinear_5fvector_387',['interpolate_bilinear_vector',['../namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04',1,'bilinear_interp_mod::interpolate_bilinear_vector()'],['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_vector()']]],
-  ['interpolate_5fbudget_5fscalar_388',['interpolate_budget_scalar',['../namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466',1,'budget_interp_mod::interpolate_budget_scalar()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0',1,'budget_interp_mod::interpolate_budget::interpolate_budget_scalar()']]],
-  ['interpolate_5fbudget_5fvector_389',['interpolate_budget_vector',['../namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803',1,'budget_interp_mod::interpolate_budget_vector()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6',1,'budget_interp_mod::interpolate_budget::interpolate_budget_vector()']]],
-  ['interpolate_5fneighbor_5fbudget_5fscalar_390',['interpolate_neighbor_budget_scalar',['../namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_scalar()'],['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_scalar()']]],
-  ['interpolate_5fneighbor_5fbudget_5fvector_391',['interpolate_neighbor_budget_vector',['../namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_vector()'],['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_vector()']]],
-  ['interpolate_5fneighbor_5fscalar_392',['interpolate_neighbor_scalar',['../namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f',1,'neighbor_interp_mod::interpolate_neighbor_scalar()'],['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
-  ['interpolate_5fneighbor_5fvector_393',['interpolate_neighbor_vector',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_vector()'],['../namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756',1,'neighbor_interp_mod::interpolate_neighbor_vector()']]],
-  ['interpolate_5fspectral_5fscalar_394',['interpolate_spectral_scalar',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_scalar()'],['../namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618',1,'spectral_interp_mod::interpolate_spectral_scalar()']]],
-  ['interpolate_5fspectral_5fvector_395',['interpolate_spectral_vector',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_vector()'],['../namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0',1,'spectral_interp_mod::interpolate_spectral_vector()']]],
-  ['ipolates_5fgrib1_396',['ipolates_grib1',['../interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b',1,'ipolates_mod::ipolates::ipolates_grib1()'],['../namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269',1,'ipolates_mod::ipolates_grib1(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)']]],
-  ['ipolates_5fgrib1_5fsingle_5ffield_397',['ipolates_grib1_single_field',['../namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d',1,'ipolates_mod::ipolates_grib1_single_field()'],['../interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d',1,'ipolates_mod::ipolates::ipolates_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)']]],
-  ['ipolates_5fgrib2_398',['ipolates_grib2',['../interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b',1,'ipolates_mod::ipolates::ipolates_grib2()'],['../namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac',1,'ipolates_mod::ipolates_grib2()']]],
-  ['ipolates_5fgrib2_5fsingle_5ffield_399',['ipolates_grib2_single_field',['../interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240',1,'ipolates_mod::ipolates::ipolates_grib2_single_field()'],['../namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856',1,'ipolates_mod::ipolates_grib2_single_field(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
-  ['ipolates_5fgrid_400',['ipolates_grid',['../namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104',1,'ipolates_mod']]],
-  ['ipolatev_5fgrib1_401',['ipolatev_grib1',['../interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53',1,'ipolatev_mod::ipolatev::ipolatev_grib1()'],['../namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f',1,'ipolatev_mod::ipolatev_grib1(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
-  ['ipolatev_5fgrib1_5fsingle_5ffield_402',['ipolatev_grib1_single_field',['../namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58',1,'ipolatev_mod::ipolatev_grib1_single_field()'],['../interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5',1,'ipolatev_mod::ipolatev::ipolatev_grib1_single_field()']]],
-  ['ipolatev_5fgrib2_403',['ipolatev_grib2',['../namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272',1,'ipolatev_mod::ipolatev_grib2()'],['../interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe',1,'ipolatev_mod::ipolatev::ipolatev_grib2(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
-  ['ipolatev_5fgrib2_5fsingle_5ffield_404',['ipolatev_grib2_single_field',['../interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd',1,'ipolatev_mod::ipolatev::ipolatev_grib2_single_field()'],['../namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7',1,'ipolatev_mod::ipolatev_grib2_single_field(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
-  ['ipolatev_5fgrid_405',['ipolatev_grid',['../namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1',1,'ipolatev_mod']]],
-  ['ipxetas_406',['ipxetas',['../ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1',1,'ipxetas.F90']]],
-  ['ipxwafs_407',['ipxwafs',['../ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12',1,'ipxwafs.F90']]],
-  ['ipxwafs2_408',['ipxwafs2',['../ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894',1,'ipxwafs2.F90']]],
-  ['ipxwafs3_409',['ipxwafs3',['../ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d',1,'ipxwafs3.F90']]],
-  ['is_5fsame_5fgrid_410',['is_same_grid',['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b',1,'ip_grid_mod::operator(==)::is_same_grid()'],['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c',1,'ip_grid_descriptor_mod::operator(==)::is_same_grid()'],['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6',1,'ip_grid_descriptor_mod::ip_grid_descriptor::is_same_grid()'],['../namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec',1,'ip_grid_descriptor_mod::is_same_grid()'],['../namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045',1,'ip_grid_mod::is_same_grid()']]],
-  ['is_5fsame_5fgrid_5fgrib1_411',['is_same_grid_grib1',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95',1,'ip_grid_descriptor_mod::grib1_descriptor::is_same_grid_grib1()'],['../namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019',1,'ip_grid_descriptor_mod::is_same_grid_grib1()']]],
-  ['is_5fsame_5fgrid_5fgrib2_412',['is_same_grid_grib2',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013',1,'ip_grid_descriptor_mod::grib2_descriptor::is_same_grid_grib2()'],['../namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988',1,'ip_grid_descriptor_mod::is_same_grid_grib2()']]]
+  ['field_5fpos_543',['field_pos',['../structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179',1,'ip_grid_mod::ip_grid::field_pos()'],['../namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442',1,'ip_grid_mod::field_pos()']]]
 ];
diff --git a/search/functions_4.js b/search/functions_4.js
index 92c9b205..a588d793 100644
--- a/search/functions_4.js
+++ b/search/functions_4.js
@@ -1,6 +1,24 @@
 var searchData=
 [
-  ['lambert_5fconf_5fgrid_5farea_413',['lambert_conf_grid_area',['../namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c',1,'ip_lambert_conf_grid_mod']]],
-  ['lambert_5fconf_5fmap_5fjacob_414',['lambert_conf_map_jacob',['../namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae',1,'ip_lambert_conf_grid_mod']]],
-  ['lambert_5fconf_5fvect_5frot_415',['lambert_conf_vect_rot',['../namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71',1,'ip_lambert_conf_grid_mod']]]
+  ['gaussian_5fgrid_5farea_544',['gaussian_grid_area',['../namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780',1,'ip_gaussian_grid_mod']]],
+  ['gaussian_5fmap_5fjacob_545',['gaussian_map_jacob',['../namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d',1,'ip_gaussian_grid_mod']]],
+  ['gaussian_5fvect_5frot_546',['gaussian_vect_rot',['../namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad',1,'ip_gaussian_grid_mod']]],
+  ['gdswzd_547',['gdswzd',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885',1,'ip_gaussian_grid_mod::ip_gaussian_grid::gdswzd()'],['../iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h'],['../iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4',1,'gdswzd(long igdtnum, long *igdtmpl, long igdtlen, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area):&#160;iplib_4.h'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f',1,'ip_station_points_grid_mod::ip_station_points_grid::gdswzd()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::gdswzd()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::gdswzd()'],['../structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080',1,'ip_grid_mod::ip_grid::gdswzd()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::gdswzd()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::gdswzd()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a',1,'ip_mercator_grid_mod::ip_mercator_grid::gdswzd()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::gdswzd()']]],
+  ['gdswzd_5f1d_5farray_548',['gdswzd_1d_array',['../interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b',1,'gdswzd_mod::gdswzd::gdswzd_1d_array()'],['../namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76',1,'gdswzd_mod::gdswzd_1d_array()']]],
+  ['gdswzd_5f2d_5farray_549',['gdswzd_2d_array',['../interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31',1,'gdswzd_mod::gdswzd::gdswzd_2d_array()'],['../namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25',1,'gdswzd_mod::gdswzd_2d_array(IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)']]],
+  ['gdswzd_5f2d_5farray_5fgrib1_550',['gdswzd_2d_array_grib1',['../namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4',1,'gdswzd_mod::gdswzd_2d_array_grib1()'],['../interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5',1,'gdswzd_mod::gdswzd::gdswzd_2d_array_grib1()']]],
+  ['gdswzd_5fc_551',['gdswzd_c',['../namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4',1,'gdswzd_c_mod']]],
+  ['gdswzd_5fc_5fgrib1_552',['gdswzd_c_grib1',['../namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504',1,'gdswzd_c_mod']]],
+  ['gdswzd_5fequid_5fcylind_553',['gdswzd_equid_cylind',['../namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727',1,'ip_equid_cylind_grid_mod']]],
+  ['gdswzd_5fgaussian_554',['gdswzd_gaussian',['../namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9',1,'ip_gaussian_grid_mod']]],
+  ['gdswzd_5fgrib1_555',['gdswzd_grib1',['../interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a',1,'gdswzd_mod::gdswzd::gdswzd_grib1()'],['../namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37',1,'gdswzd_mod::gdswzd_grib1()'],['../iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1',1,'gdswzd_grib1(int *kgds, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area):&#160;iplib_4.h'],['../iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93',1,'gdswzd_grib1(long *kgds, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691',1,'gdswzd_grib1(int *kgds, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h']]],
+  ['gdswzd_5fgrid_556',['gdswzd_grid',['../namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45',1,'gdswzd_mod::gdswzd_grid()'],['../interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16',1,'gdswzd_mod::gdswzd::gdswzd_grid()']]],
+  ['gdswzd_5finterface_557',['gdswzd_interface',['../interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369',1,'ip_grid_mod::gdswzd_interface']]],
+  ['gdswzd_5flambert_5fconf_558',['gdswzd_lambert_conf',['../namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71',1,'ip_lambert_conf_grid_mod']]],
+  ['gdswzd_5fmercator_559',['gdswzd_mercator',['../namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e',1,'ip_mercator_grid_mod']]],
+  ['gdswzd_5fpolar_5fstereo_560',['gdswzd_polar_stereo',['../namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5',1,'ip_polar_stereo_grid_mod']]],
+  ['gdswzd_5frot_5fequid_5fcylind_561',['gdswzd_rot_equid_cylind',['../namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['gdswzd_5frot_5fequid_5fcylind_5fegrid_562',['gdswzd_rot_equid_cylind_egrid',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['gdswzd_5fscalar_563',['gdswzd_scalar',['../interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd',1,'gdswzd_mod::gdswzd::gdswzd_scalar()'],['../namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861',1,'gdswzd_mod::gdswzd_scalar()']]],
+  ['gdswzd_5fstation_5fpoints_564',['gdswzd_station_points',['../namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197',1,'ip_station_points_grid_mod']]]
 ];
diff --git a/search/functions_5.js b/search/functions_5.js
index 00a77420..c35b2aaa 100644
--- a/search/functions_5.js
+++ b/search/functions_5.js
@@ -1,7 +1,42 @@
 var searchData=
 [
-  ['mercator_5fgrid_5farea_416',['mercator_grid_area',['../namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd',1,'ip_mercator_grid_mod']]],
-  ['mercator_5fmap_5fjacob_417',['mercator_map_jacob',['../namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a',1,'ip_mercator_grid_mod']]],
-  ['mercator_5fvect_5frot_418',['mercator_vect_rot',['../namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17',1,'ip_mercator_grid_mod']]],
-  ['movect_419',['movect',['../movect_8F90.html#a5974e32c0cf90a65b39c68460d761882',1,'movect.F90']]]
+  ['init_565',['init',['../structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c',1,'ip_grid_mod::ip_grid']]],
+  ['init_5fgrib1_566',['init_grib1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib1()'],['../namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff',1,'ip_station_points_grid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee',1,'ip_rot_equid_cylind_grid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab',1,'ip_rot_equid_cylind_egrid_mod::init_grib1()'],['../namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f',1,'ip_polar_stereo_grid_mod::init_grib1()'],['../namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d',1,'ip_mercator_grid_mod::init_grib1()'],['../namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea',1,'ip_lambert_conf_grid_mod::init_grib1()'],['../namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01',1,'ip_gaussian_grid_mod::init_grib1()'],['../namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477',1,'ip_equid_cylind_grid_mod::init_grib1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib1()'],['../structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806',1,'ip_grid_mod::ip_grid::init_grib1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib1()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib1()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib1()']]],
+  ['init_5fgrib1_5fdescriptor_567',['init_grib1_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e',1,'ip_grid_descriptor_mod::init_descriptor::init_grib1_descriptor()'],['../namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98',1,'ip_grid_descriptor_mod::init_grib1_descriptor()']]],
+  ['init_5fgrib1_5finterface_568',['init_grib1_interface',['../interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb',1,'ip_grid_mod::init_grib1_interface']]],
+  ['init_5fgrib2_569',['init_grib2',['../namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a',1,'ip_equid_cylind_grid_mod::init_grib2()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib2()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib2()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib2()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib2()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib2()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib2()'],['../structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9',1,'ip_grid_mod::ip_grid::init_grib2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib2()'],['../namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2',1,'ip_gaussian_grid_mod::init_grib2()'],['../namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf',1,'ip_lambert_conf_grid_mod::init_grib2()'],['../namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82',1,'ip_mercator_grid_mod::init_grib2()'],['../namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7',1,'ip_polar_stereo_grid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0',1,'ip_rot_equid_cylind_egrid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d',1,'ip_rot_equid_cylind_grid_mod::init_grib2()'],['../namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d',1,'ip_station_points_grid_mod::init_grib2()']]],
+  ['init_5fgrib2_5fdescriptor_570',['init_grib2_descriptor',['../namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451',1,'ip_grid_descriptor_mod::init_grib2_descriptor()'],['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c',1,'ip_grid_descriptor_mod::init_descriptor::init_grib2_descriptor()']]],
+  ['init_5fgrib2_5finterface_571',['init_grib2_interface',['../interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c',1,'ip_grid_mod::init_grib2_interface']]],
+  ['init_5fgrid_5fgeneric_572',['init_grid_generic',['../interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72',1,'ip_grid_factory_mod::init_grid::init_grid_generic()'],['../namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46',1,'ip_grid_factory_mod::init_grid_generic(grid, grid_desc)']]],
+  ['init_5fgrid_5fgrib1_573',['init_grid_grib1',['../namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5',1,'ip_grid_factory_mod']]],
+  ['init_5fgrid_5fgrib2_574',['init_grid_grib2',['../namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225',1,'ip_grid_factory_mod']]],
+  ['interpolate_5fbicubic_5fscalar_575',['interpolate_bicubic_scalar',['../namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1',1,'bicubic_interp_mod::interpolate_bicubic_scalar()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_scalar()']]],
+  ['interpolate_5fbicubic_5fvector_576',['interpolate_bicubic_vector',['../namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16',1,'bicubic_interp_mod::interpolate_bicubic_vector()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_vector()']]],
+  ['interpolate_5fbilinear_5fscalar_577',['interpolate_bilinear_scalar',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_scalar()'],['../namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398',1,'bilinear_interp_mod::interpolate_bilinear_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['interpolate_5fbilinear_5fvector_578',['interpolate_bilinear_vector',['../namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04',1,'bilinear_interp_mod::interpolate_bilinear_vector()'],['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_vector()']]],
+  ['interpolate_5fbudget_5fscalar_579',['interpolate_budget_scalar',['../namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466',1,'budget_interp_mod::interpolate_budget_scalar()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0',1,'budget_interp_mod::interpolate_budget::interpolate_budget_scalar()']]],
+  ['interpolate_5fbudget_5fvector_580',['interpolate_budget_vector',['../namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803',1,'budget_interp_mod::interpolate_budget_vector()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6',1,'budget_interp_mod::interpolate_budget::interpolate_budget_vector()']]],
+  ['interpolate_5fneighbor_5fbudget_5fscalar_581',['interpolate_neighbor_budget_scalar',['../namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_scalar()'],['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_scalar()']]],
+  ['interpolate_5fneighbor_5fbudget_5fvector_582',['interpolate_neighbor_budget_vector',['../namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_vector()'],['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_vector()']]],
+  ['interpolate_5fneighbor_5fscalar_583',['interpolate_neighbor_scalar',['../namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f',1,'neighbor_interp_mod::interpolate_neighbor_scalar()'],['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['interpolate_5fneighbor_5fvector_584',['interpolate_neighbor_vector',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_vector()'],['../namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756',1,'neighbor_interp_mod::interpolate_neighbor_vector()']]],
+  ['interpolate_5fspectral_5fscalar_585',['interpolate_spectral_scalar',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_scalar()'],['../namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618',1,'spectral_interp_mod::interpolate_spectral_scalar()']]],
+  ['interpolate_5fspectral_5fvector_586',['interpolate_spectral_vector',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_vector()'],['../namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0',1,'spectral_interp_mod::interpolate_spectral_vector()']]],
+  ['ipolates_5fgrib1_587',['ipolates_grib1',['../interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b',1,'ipolates_mod::ipolates::ipolates_grib1()'],['../namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269',1,'ipolates_mod::ipolates_grib1(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)']]],
+  ['ipolates_5fgrib1_5fsingle_5ffield_588',['ipolates_grib1_single_field',['../namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d',1,'ipolates_mod::ipolates_grib1_single_field()'],['../interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d',1,'ipolates_mod::ipolates::ipolates_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)']]],
+  ['ipolates_5fgrib2_589',['ipolates_grib2',['../interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b',1,'ipolates_mod::ipolates::ipolates_grib2()'],['../namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac',1,'ipolates_mod::ipolates_grib2()']]],
+  ['ipolates_5fgrib2_5fsingle_5ffield_590',['ipolates_grib2_single_field',['../interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240',1,'ipolates_mod::ipolates::ipolates_grib2_single_field()'],['../namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856',1,'ipolates_mod::ipolates_grib2_single_field(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['ipolates_5fgrid_591',['ipolates_grid',['../namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104',1,'ipolates_mod']]],
+  ['ipolatev_5fgrib1_592',['ipolatev_grib1',['../interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53',1,'ipolatev_mod::ipolatev::ipolatev_grib1()'],['../namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f',1,'ipolatev_mod::ipolatev_grib1(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
+  ['ipolatev_5fgrib1_5fsingle_5ffield_593',['ipolatev_grib1_single_field',['../namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58',1,'ipolatev_mod::ipolatev_grib1_single_field()'],['../interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5',1,'ipolatev_mod::ipolatev::ipolatev_grib1_single_field()']]],
+  ['ipolatev_5fgrib2_594',['ipolatev_grib2',['../namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272',1,'ipolatev_mod::ipolatev_grib2()'],['../interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe',1,'ipolatev_mod::ipolatev::ipolatev_grib2(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
+  ['ipolatev_5fgrib2_5fsingle_5ffield_595',['ipolatev_grib2_single_field',['../interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd',1,'ipolatev_mod::ipolatev::ipolatev_grib2_single_field()'],['../namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7',1,'ipolatev_mod::ipolatev_grib2_single_field(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
+  ['ipolatev_5fgrid_596',['ipolatev_grid',['../namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1',1,'ipolatev_mod']]],
+  ['ipxetas_597',['ipxetas',['../ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1',1,'ipxetas.F90']]],
+  ['ipxwafs_598',['ipxwafs',['../ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12',1,'ipxwafs.F90']]],
+  ['ipxwafs2_599',['ipxwafs2',['../ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894',1,'ipxwafs2.F90']]],
+  ['ipxwafs3_600',['ipxwafs3',['../ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d',1,'ipxwafs3.F90']]],
+  ['is_5fsame_5fgrid_601',['is_same_grid',['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b',1,'ip_grid_mod::operator(==)::is_same_grid()'],['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c',1,'ip_grid_descriptor_mod::operator(==)::is_same_grid()'],['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6',1,'ip_grid_descriptor_mod::ip_grid_descriptor::is_same_grid()'],['../namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec',1,'ip_grid_descriptor_mod::is_same_grid()'],['../namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045',1,'ip_grid_mod::is_same_grid()']]],
+  ['is_5fsame_5fgrid_5fgrib1_602',['is_same_grid_grib1',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95',1,'ip_grid_descriptor_mod::grib1_descriptor::is_same_grid_grib1()'],['../namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019',1,'ip_grid_descriptor_mod::is_same_grid_grib1()']]],
+  ['is_5fsame_5fgrid_5fgrib2_603',['is_same_grid_grib2',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013',1,'ip_grid_descriptor_mod::grib2_descriptor::is_same_grid_grib2()'],['../namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988',1,'ip_grid_descriptor_mod::is_same_grid_grib2()']]]
 ];
diff --git a/search/functions_6.js b/search/functions_6.js
index a503b831..5b834e83 100644
--- a/search/functions_6.js
+++ b/search/functions_6.js
@@ -1,12 +1,8 @@
 var searchData=
 [
-  ['polar_5fstereo_5fgrid_5farea_420',['polar_stereo_grid_area',['../namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2',1,'ip_polar_stereo_grid_mod']]],
-  ['polar_5fstereo_5fmap_5fjacob_421',['polar_stereo_map_jacob',['../namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223',1,'ip_polar_stereo_grid_mod']]],
-  ['polar_5fstereo_5fvect_5frot_422',['polar_stereo_vect_rot',['../namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462',1,'ip_polar_stereo_grid_mod']]],
-  ['polates4_5fgrib1_423',['polates4_grib1',['../interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4',1,'spectral_interp_mod::polates4::polates4_grib1()'],['../namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366',1,'spectral_interp_mod::polates4_grib1()']]],
-  ['polates4_5fgrib2_424',['polates4_grib2',['../interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9',1,'spectral_interp_mod::polates4::polates4_grib2()'],['../namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a',1,'spectral_interp_mod::polates4_grib2()']]],
-  ['polatev4_5fgrib1_425',['polatev4_grib1',['../interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8',1,'spectral_interp_mod::polatev4::polatev4_grib1()'],['../namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc',1,'spectral_interp_mod::polatev4_grib1()']]],
-  ['polatev4_5fgrib2_426',['polatev4_grib2',['../interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b',1,'spectral_interp_mod::polatev4::polatev4_grib2()'],['../namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3',1,'spectral_interp_mod::polatev4_grib2()']]],
-  ['polfixs_427',['polfixs',['../namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6',1,'polfix_mod']]],
-  ['polfixv_428',['polfixv',['../namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d',1,'polfix_mod']]]
+  ['lambert_5fconf_5fgrid_5farea_604',['lambert_conf_grid_area',['../namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c',1,'ip_lambert_conf_grid_mod']]],
+  ['lambert_5fconf_5fmap_5fjacob_605',['lambert_conf_map_jacob',['../namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae',1,'ip_lambert_conf_grid_mod']]],
+  ['lambert_5fconf_5fvect_5frot_606',['lambert_conf_vect_rot',['../namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71',1,'ip_lambert_conf_grid_mod']]],
+  ['lubksb_607',['lubksb',['../lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547',1,'lapack_gen.F']]],
+  ['ludcmp_608',['ludcmp',['../lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781',1,'lapack_gen.F']]]
 ];
diff --git a/search/functions_7.js b/search/functions_7.js
index 0a62b34a..be6c3947 100644
--- a/search/functions_7.js
+++ b/search/functions_7.js
@@ -1,11 +1,7 @@
 var searchData=
 [
-  ['rot_5fequid_5fcylind_5fegrid_5ferror_429',['rot_equid_cylind_egrid_error',['../namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['rot_5fequid_5fcylind_5fegrid_5fgrid_5farea_430',['rot_equid_cylind_egrid_grid_area',['../namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['rot_5fequid_5fcylind_5fegrid_5fmap_5fjacob_431',['rot_equid_cylind_egrid_map_jacob',['../namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['rot_5fequid_5fcylind_5fegrid_5fvect_5frot_432',['rot_equid_cylind_egrid_vect_rot',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['rot_5fequid_5fcylind_5ferror_433',['rot_equid_cylind_error',['../namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fgrid_5farea_434',['rot_equid_cylind_grid_area',['../namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fmap_5fjacob_435',['rot_equid_cylind_map_jacob',['../namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b',1,'ip_rot_equid_cylind_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fvect_5frot_436',['rot_equid_cylind_vect_rot',['../namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10',1,'ip_rot_equid_cylind_grid_mod']]]
+  ['mercator_5fgrid_5farea_609',['mercator_grid_area',['../namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd',1,'ip_mercator_grid_mod']]],
+  ['mercator_5fmap_5fjacob_610',['mercator_map_jacob',['../namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a',1,'ip_mercator_grid_mod']]],
+  ['mercator_5fvect_5frot_611',['mercator_vect_rot',['../namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17',1,'ip_mercator_grid_mod']]],
+  ['movect_612',['movect',['../movect_8F90.html#a5974e32c0cf90a65b39c68460d761882',1,'movect.F90']]]
 ];
diff --git a/search/functions_8.html b/search/functions_8.html
new file mode 100644
index 00000000..31a1d950
--- /dev/null
+++ b/search/functions_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/search/functions_8.js b/search/functions_8.js
new file mode 100644
index 00000000..5f0acb89
--- /dev/null
+++ b/search/functions_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['ncpus_613',['ncpus',['../ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd',1,'ncpus.F']]]
+];
diff --git a/search/functions_9.html b/search/functions_9.html
new file mode 100644
index 00000000..9a8e4290
--- /dev/null
+++ b/search/functions_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/search/functions_9.js b/search/functions_9.js
new file mode 100644
index 00000000..528304d1
--- /dev/null
+++ b/search/functions_9.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+  ['polar_5fstereo_5fgrid_5farea_614',['polar_stereo_grid_area',['../namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2',1,'ip_polar_stereo_grid_mod']]],
+  ['polar_5fstereo_5fmap_5fjacob_615',['polar_stereo_map_jacob',['../namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223',1,'ip_polar_stereo_grid_mod']]],
+  ['polar_5fstereo_5fvect_5frot_616',['polar_stereo_vect_rot',['../namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462',1,'ip_polar_stereo_grid_mod']]],
+  ['polates4_5fgrib1_617',['polates4_grib1',['../interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4',1,'spectral_interp_mod::polates4::polates4_grib1()'],['../namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366',1,'spectral_interp_mod::polates4_grib1()']]],
+  ['polates4_5fgrib2_618',['polates4_grib2',['../interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9',1,'spectral_interp_mod::polates4::polates4_grib2()'],['../namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a',1,'spectral_interp_mod::polates4_grib2()']]],
+  ['polatev4_5fgrib1_619',['polatev4_grib1',['../interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8',1,'spectral_interp_mod::polatev4::polatev4_grib1()'],['../namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc',1,'spectral_interp_mod::polatev4_grib1()']]],
+  ['polatev4_5fgrib2_620',['polatev4_grib2',['../interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b',1,'spectral_interp_mod::polatev4::polatev4_grib2()'],['../namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3',1,'spectral_interp_mod::polatev4_grib2()']]],
+  ['polfixs_621',['polfixs',['../namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6',1,'polfix_mod']]],
+  ['polfixv_622',['polfixv',['../namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d',1,'polfix_mod']]]
+];
diff --git a/search/functions_a.html b/search/functions_a.html
new file mode 100644
index 00000000..5ecc152c
--- /dev/null
+++ b/search/functions_a.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/search/functions_a.js b/search/functions_a.js
new file mode 100644
index 00000000..66fd6c08
--- /dev/null
+++ b/search/functions_a.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+  ['radb2_623',['radb2',['../fftpack_8F.html#ae63abe3a02989ed4fbd60b50bc0c6dda',1,'fftpack.F']]],
+  ['radb3_624',['radb3',['../fftpack_8F.html#a6129001ac4cdf5d5a345edc2822d8014',1,'fftpack.F']]],
+  ['radb4_625',['radb4',['../fftpack_8F.html#a3b5aab129020968eaf92f2e6ca0785ef',1,'fftpack.F']]],
+  ['radb5_626',['radb5',['../fftpack_8F.html#a2b6492f922cbee03af5b89d52356abf1',1,'fftpack.F']]],
+  ['radbg_627',['radbg',['../fftpack_8F.html#af5a2521b66fece6cc768206c1df0d20b',1,'fftpack.F']]],
+  ['radf2_628',['radf2',['../fftpack_8F.html#a70e2420dd5bee9e41eb6c15bbad5eef6',1,'fftpack.F']]],
+  ['radf3_629',['radf3',['../fftpack_8F.html#a51374398f8edd5701987ce483c739592',1,'fftpack.F']]],
+  ['radf4_630',['radf4',['../fftpack_8F.html#ae9910ca606fd0cdb03b5b3b98533f486',1,'fftpack.F']]],
+  ['radf5_631',['radf5',['../fftpack_8F.html#a6d852c36924b038f77a24b8e22205add',1,'fftpack.F']]],
+  ['radfg_632',['radfg',['../fftpack_8F.html#ad5dbca6bb6ee7c0a86a1e140627de1b2',1,'fftpack.F']]],
+  ['rfftb_633',['rfftb',['../fftpack_8F.html#a79ba25d1f342858b0faa3c3e3585ec88',1,'fftpack.F']]],
+  ['rfftb1_634',['rfftb1',['../fftpack_8F.html#afa735c298a72dd1c13ab1c45e737c066',1,'fftpack.F']]],
+  ['rfftf_635',['rfftf',['../fftpack_8F.html#afbb5dc9c70ebe24759d5ffec1d3e42e2',1,'fftpack.F']]],
+  ['rfftf1_636',['rfftf1',['../fftpack_8F.html#acdf9efa42dc73f90af444ee0da649a09',1,'fftpack.F']]],
+  ['rffti_637',['rffti',['../fftpack_8F.html#a50f1237ff5990436609962c0eae406db',1,'fftpack.F']]],
+  ['rffti1_638',['rffti1',['../fftpack_8F.html#ae3569ef7a371390f6bf38417865ef71b',1,'fftpack.F']]],
+  ['rot_5fequid_5fcylind_5fegrid_5ferror_639',['rot_equid_cylind_egrid_error',['../namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fgrid_5farea_640',['rot_equid_cylind_egrid_grid_area',['../namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fmap_5fjacob_641',['rot_equid_cylind_egrid_map_jacob',['../namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fvect_5frot_642',['rot_equid_cylind_egrid_vect_rot',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5ferror_643',['rot_equid_cylind_error',['../namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fgrid_5farea_644',['rot_equid_cylind_grid_area',['../namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fmap_5fjacob_645',['rot_equid_cylind_map_jacob',['../namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fvect_5frot_646',['rot_equid_cylind_vect_rot',['../namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10',1,'ip_rot_equid_cylind_grid_mod']]]
+];
diff --git a/search/functions_b.html b/search/functions_b.html
new file mode 100644
index 00000000..e301fedd
--- /dev/null
+++ b/search/functions_b.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/search/functions_b.js b/search/functions_b.js
new file mode 100644
index 00000000..e873aa89
--- /dev/null
+++ b/search/functions_b.js
@@ -0,0 +1,58 @@
+var searchData=
+[
+  ['scfft_647',['scfft',['../fftpack_8F.html#a369071ea2d380c9d91ba36d1bf375e33',1,'fftpack.F']]],
+  ['scrft_648',['scrft',['../fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36',1,'fftpack.F']]],
+  ['spanaly_649',['spanaly',['../spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a',1,'spanaly.f']]],
+  ['spdz2uv_650',['spdz2uv',['../spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692',1,'spdz2uv.f']]],
+  ['speps_651',['speps',['../speps_8f.html#a0ab523ec5e1393ffca970897e63a9131',1,'speps.f']]],
+  ['spfft_652',['spfft',['../spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d',1,'spfft.f']]],
+  ['spfft1_653',['spfft1',['../spfft1_8f.html#ac63643472eda83948c0b249b611346d6',1,'spfft1.f']]],
+  ['spffte_654',['spffte',['../spffte_8f.html#af06489254bd3e99030b39744fce32233',1,'spffte.f']]],
+  ['spfftpt_655',['spfftpt',['../spfftpt_8f.html#ad16e674ce87bd762a714853967f81356',1,'spfftpt.f']]],
+  ['spgradq_656',['spgradq',['../spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849',1,'spgradq.f']]],
+  ['spgradx_657',['spgradx',['../spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4',1,'spgradx.f']]],
+  ['spgrady_658',['spgrady',['../spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1',1,'spgrady.f']]],
+  ['splaplac_659',['splaplac',['../splaplac_8f.html#a64338955857a3cf58283146940e7ae42',1,'splaplac.f']]],
+  ['splat_660',['splat',['../splat_8F.html#aa6db21451bb67635e7e4426546140e11',1,'splat.F']]],
+  ['splegend_661',['splegend',['../splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac',1,'splegend.f']]],
+  ['sppad_662',['sppad',['../sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e',1,'sppad.f']]],
+  ['spsynth_663',['spsynth',['../spsynth_8f.html#aa6a8113a459918728c876673520126bf',1,'spsynth.f']]],
+  ['sptez_664',['sptez',['../sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc',1,'sptez.f']]],
+  ['sptezd_665',['sptezd',['../sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7',1,'sptezd.f']]],
+  ['sptezm_666',['sptezm',['../sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1',1,'sptezm.f']]],
+  ['sptezmd_667',['sptezmd',['../sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996',1,'sptezmd.f']]],
+  ['sptezmv_668',['sptezmv',['../sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e',1,'sptezmv.f']]],
+  ['sptezv_669',['sptezv',['../sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226',1,'sptezv.f']]],
+  ['sptgpm_670',['sptgpm',['../sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d',1,'sptgpm.f']]],
+  ['sptgpmd_671',['sptgpmd',['../sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539',1,'sptgpmd.f']]],
+  ['sptgpmv_672',['sptgpmv',['../sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17',1,'sptgpmv.f']]],
+  ['sptgps_673',['sptgps',['../sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2',1,'sptgps.f']]],
+  ['sptgpsd_674',['sptgpsd',['../sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30',1,'sptgpsd.f']]],
+  ['sptgpsv_675',['sptgpsv',['../sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079',1,'sptgpsv.f']]],
+  ['sptgpt_676',['sptgpt',['../sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1',1,'sptgpt.f']]],
+  ['sptgptd_677',['sptgptd',['../sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3',1,'sptgptd.f']]],
+  ['sptgptsd_678',['sptgptsd',['../sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f',1,'sptgptsd.f']]],
+  ['sptgptv_679',['sptgptv',['../sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13',1,'sptgptv.f']]],
+  ['sptgptvd_680',['sptgptvd',['../sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753',1,'sptgptvd.f']]],
+  ['sptran_681',['sptran',['../sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0',1,'sptran.f']]],
+  ['sptrand_682',['sptrand',['../sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef',1,'sptrand.f']]],
+  ['sptranf_683',['sptranf',['../sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c',1,'sptranf.f']]],
+  ['sptranf0_684',['sptranf0',['../sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0',1,'sptranf0.f']]],
+  ['sptranf1_685',['sptranf1',['../sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6',1,'sptranf1.f']]],
+  ['sptranfv_686',['sptranfv',['../sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106',1,'sptranfv.f']]],
+  ['sptranv_687',['sptranv',['../sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1',1,'sptranv.f']]],
+  ['sptrun_688',['sptrun',['../sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473',1,'sptrun.f']]],
+  ['sptrund_689',['sptrund',['../sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480',1,'sptrund.f']]],
+  ['sptrung_690',['sptrung',['../sptrung_8f.html#af41b64dad4789617a315515ef885912c',1,'sptrung.f']]],
+  ['sptrungv_691',['sptrungv',['../sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164',1,'sptrungv.f']]],
+  ['sptrunl_692',['sptrunl',['../sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8',1,'sptrunl.f']]],
+  ['sptrunm_693',['sptrunm',['../sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6',1,'sptrunm.f']]],
+  ['sptrunmv_694',['sptrunmv',['../sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd',1,'sptrunmv.f']]],
+  ['sptruns_695',['sptruns',['../sptruns_8f.html#a34f156e2049105d012e445f8aa215444',1,'sptruns.f']]],
+  ['sptrunsv_696',['sptrunsv',['../sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656',1,'sptrunsv.f']]],
+  ['sptrunv_697',['sptrunv',['../sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f',1,'sptrunv.f']]],
+  ['spuv2dz_698',['spuv2dz',['../spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9',1,'spuv2dz.f']]],
+  ['spvar_699',['spvar',['../spvar_8f.html#a840f95e09b8d930b38638a391933bee4',1,'spvar.f']]],
+  ['spwget_700',['spwget',['../spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6',1,'spwget.f']]],
+  ['srcft_701',['srcft',['../fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742',1,'fftpack.F']]]
+];
diff --git a/search/namespaces_0.js b/search/namespaces_0.js
index c814ba01..66fe5acf 100644
--- a/search/namespaces_0.js
+++ b/search/namespaces_0.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['bicubic_5finterp_5fmod_286',['bicubic_interp_mod',['../namespacebicubic__interp__mod.html',1,'']]],
-  ['bilinear_5finterp_5fmod_287',['bilinear_interp_mod',['../namespacebilinear__interp__mod.html',1,'']]],
-  ['budget_5finterp_5fmod_288',['budget_interp_mod',['../namespacebudget__interp__mod.html',1,'']]]
+  ['bicubic_5finterp_5fmod_419',['bicubic_interp_mod',['../namespacebicubic__interp__mod.html',1,'']]],
+  ['bilinear_5finterp_5fmod_420',['bilinear_interp_mod',['../namespacebilinear__interp__mod.html',1,'']]],
+  ['budget_5finterp_5fmod_421',['budget_interp_mod',['../namespacebudget__interp__mod.html',1,'']]]
 ];
diff --git a/search/namespaces_1.js b/search/namespaces_1.js
index f6b1fd60..b06e7e7c 100644
--- a/search/namespaces_1.js
+++ b/search/namespaces_1.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['earth_5fradius_5fmod_289',['earth_radius_mod',['../namespaceearth__radius__mod.html',1,'']]]
+  ['earth_5fradius_5fmod_422',['earth_radius_mod',['../namespaceearth__radius__mod.html',1,'']]]
 ];
diff --git a/search/namespaces_2.js b/search/namespaces_2.js
index 7fba095a..be62d637 100644
--- a/search/namespaces_2.js
+++ b/search/namespaces_2.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['gdswzd_5fc_5fmod_290',['gdswzd_c_mod',['../namespacegdswzd__c__mod.html',1,'']]],
-  ['gdswzd_5fmod_291',['gdswzd_mod',['../namespacegdswzd__mod.html',1,'']]]
+  ['gdswzd_5fc_5fmod_423',['gdswzd_c_mod',['../namespacegdswzd__c__mod.html',1,'']]],
+  ['gdswzd_5fmod_424',['gdswzd_mod',['../namespacegdswzd__mod.html',1,'']]]
 ];
diff --git a/search/namespaces_3.js b/search/namespaces_3.js
index e12b1666..a1d712f5 100644
--- a/search/namespaces_3.js
+++ b/search/namespaces_3.js
@@ -1,20 +1,20 @@
 var searchData=
 [
-  ['ip_5fconstants_5fmod_292',['ip_constants_mod',['../namespaceip__constants__mod.html',1,'']]],
-  ['ip_5fequid_5fcylind_5fgrid_5fmod_293',['ip_equid_cylind_grid_mod',['../namespaceip__equid__cylind__grid__mod.html',1,'']]],
-  ['ip_5fgaussian_5fgrid_5fmod_294',['ip_gaussian_grid_mod',['../namespaceip__gaussian__grid__mod.html',1,'']]],
-  ['ip_5fgrid_5fdescriptor_5fmod_295',['ip_grid_descriptor_mod',['../namespaceip__grid__descriptor__mod.html',1,'']]],
-  ['ip_5fgrid_5ffactory_5fmod_296',['ip_grid_factory_mod',['../namespaceip__grid__factory__mod.html',1,'']]],
-  ['ip_5fgrid_5fmod_297',['ip_grid_mod',['../namespaceip__grid__mod.html',1,'']]],
-  ['ip_5fgrids_5fmod_298',['ip_grids_mod',['../namespaceip__grids__mod.html',1,'']]],
-  ['ip_5finterpolators_5fmod_299',['ip_interpolators_mod',['../namespaceip__interpolators__mod.html',1,'']]],
-  ['ip_5flambert_5fconf_5fgrid_5fmod_300',['ip_lambert_conf_grid_mod',['../namespaceip__lambert__conf__grid__mod.html',1,'']]],
-  ['ip_5fmercator_5fgrid_5fmod_301',['ip_mercator_grid_mod',['../namespaceip__mercator__grid__mod.html',1,'']]],
-  ['ip_5fmod_302',['ip_mod',['../namespaceip__mod.html',1,'']]],
-  ['ip_5fpolar_5fstereo_5fgrid_5fmod_303',['ip_polar_stereo_grid_mod',['../namespaceip__polar__stereo__grid__mod.html',1,'']]],
-  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_304',['ip_rot_equid_cylind_egrid_mod',['../namespaceip__rot__equid__cylind__egrid__mod.html',1,'']]],
-  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_305',['ip_rot_equid_cylind_grid_mod',['../namespaceip__rot__equid__cylind__grid__mod.html',1,'']]],
-  ['ip_5fstation_5fpoints_5fgrid_5fmod_306',['ip_station_points_grid_mod',['../namespaceip__station__points__grid__mod.html',1,'']]],
-  ['ipolates_5fmod_307',['ipolates_mod',['../namespaceipolates__mod.html',1,'']]],
-  ['ipolatev_5fmod_308',['ipolatev_mod',['../namespaceipolatev__mod.html',1,'']]]
+  ['ip_5fconstants_5fmod_425',['ip_constants_mod',['../namespaceip__constants__mod.html',1,'']]],
+  ['ip_5fequid_5fcylind_5fgrid_5fmod_426',['ip_equid_cylind_grid_mod',['../namespaceip__equid__cylind__grid__mod.html',1,'']]],
+  ['ip_5fgaussian_5fgrid_5fmod_427',['ip_gaussian_grid_mod',['../namespaceip__gaussian__grid__mod.html',1,'']]],
+  ['ip_5fgrid_5fdescriptor_5fmod_428',['ip_grid_descriptor_mod',['../namespaceip__grid__descriptor__mod.html',1,'']]],
+  ['ip_5fgrid_5ffactory_5fmod_429',['ip_grid_factory_mod',['../namespaceip__grid__factory__mod.html',1,'']]],
+  ['ip_5fgrid_5fmod_430',['ip_grid_mod',['../namespaceip__grid__mod.html',1,'']]],
+  ['ip_5fgrids_5fmod_431',['ip_grids_mod',['../namespaceip__grids__mod.html',1,'']]],
+  ['ip_5finterpolators_5fmod_432',['ip_interpolators_mod',['../namespaceip__interpolators__mod.html',1,'']]],
+  ['ip_5flambert_5fconf_5fgrid_5fmod_433',['ip_lambert_conf_grid_mod',['../namespaceip__lambert__conf__grid__mod.html',1,'']]],
+  ['ip_5fmercator_5fgrid_5fmod_434',['ip_mercator_grid_mod',['../namespaceip__mercator__grid__mod.html',1,'']]],
+  ['ip_5fmod_435',['ip_mod',['../namespaceip__mod.html',1,'']]],
+  ['ip_5fpolar_5fstereo_5fgrid_5fmod_436',['ip_polar_stereo_grid_mod',['../namespaceip__polar__stereo__grid__mod.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_437',['ip_rot_equid_cylind_egrid_mod',['../namespaceip__rot__equid__cylind__egrid__mod.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_438',['ip_rot_equid_cylind_grid_mod',['../namespaceip__rot__equid__cylind__grid__mod.html',1,'']]],
+  ['ip_5fstation_5fpoints_5fgrid_5fmod_439',['ip_station_points_grid_mod',['../namespaceip__station__points__grid__mod.html',1,'']]],
+  ['ipolates_5fmod_440',['ipolates_mod',['../namespaceipolates__mod.html',1,'']]],
+  ['ipolatev_5fmod_441',['ipolatev_mod',['../namespaceipolatev__mod.html',1,'']]]
 ];
diff --git a/search/namespaces_4.js b/search/namespaces_4.js
index 3062a09f..95370e42 100644
--- a/search/namespaces_4.js
+++ b/search/namespaces_4.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['neighbor_5fbudget_5finterp_5fmod_309',['neighbor_budget_interp_mod',['../namespaceneighbor__budget__interp__mod.html',1,'']]],
-  ['neighbor_5finterp_5fmod_310',['neighbor_interp_mod',['../namespaceneighbor__interp__mod.html',1,'']]]
+  ['neighbor_5fbudget_5finterp_5fmod_442',['neighbor_budget_interp_mod',['../namespaceneighbor__budget__interp__mod.html',1,'']]],
+  ['neighbor_5finterp_5fmod_443',['neighbor_interp_mod',['../namespaceneighbor__interp__mod.html',1,'']]]
 ];
diff --git a/search/namespaces_5.js b/search/namespaces_5.js
index 01a16436..44468751 100644
--- a/search/namespaces_5.js
+++ b/search/namespaces_5.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['polfix_5fmod_311',['polfix_mod',['../namespacepolfix__mod.html',1,'']]]
+  ['polfix_5fmod_444',['polfix_mod',['../namespacepolfix__mod.html',1,'']]]
 ];
diff --git a/search/namespaces_6.js b/search/namespaces_6.js
index 2c8dd7ee..0db5b9b7 100644
--- a/search/namespaces_6.js
+++ b/search/namespaces_6.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['spectral_5finterp_5fmod_312',['spectral_interp_mod',['../namespacespectral__interp__mod.html',1,'']]]
+  ['spectral_5finterp_5fmod_445',['spectral_interp_mod',['../namespacespectral__interp__mod.html',1,'']]]
 ];
diff --git a/search/pages_0.html b/search/pages_0.html
new file mode 100644
index 00000000..8517b48f
--- /dev/null
+++ b/search/pages_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/search/pages_0.js b/search/pages_0.js
new file mode 100644
index 00000000..1b149a48
--- /dev/null
+++ b/search/pages_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['introduction_783',['Introduction',['../index.html',1,'']]]
+];
diff --git a/search/searchdata.js b/search/searchdata.js
index 4edb00a9..913958db 100644
--- a/search/searchdata.js
+++ b/search/searchdata.js
@@ -3,9 +3,10 @@ var indexSectionsWithContent =
   0: "abcdefghijklmnoprswy",
   1: "giop",
   2: "beginps",
-  3: "begimnps",
-  4: "efgilmpr",
-  5: "abcdeghijklmnoprswy"
+  3: "befgilmnps",
+  4: "cdefgilmnprs",
+  5: "abcdeghijklmnoprswy",
+  6: "i"
 };
 
 var indexSectionNames =
@@ -15,7 +16,8 @@ var indexSectionNames =
   2: "namespaces",
   3: "files",
   4: "functions",
-  5: "variables"
+  5: "variables",
+  6: "pages"
 };
 
 var indexSectionLabels =
@@ -25,6 +27,7 @@ var indexSectionLabels =
   2: "Namespaces",
   3: "Files",
   4: "Functions",
-  5: "Variables"
+  5: "Variables",
+  6: "Pages"
 };
 
diff --git a/search/variables_0.js b/search/variables_0.js
index c8932e82..b4c84e1c 100644
--- a/search/variables_0.js
+++ b/search/variables_0.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['an_437',['an',['../namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8',1,'ip_lambert_conf_grid_mod']]]
+  ['an_702',['an',['../namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8',1,'ip_lambert_conf_grid_mod']]]
 ];
diff --git a/search/variables_1.js b/search/variables_1.js
index 6d31796a..a00dc525 100644
--- a/search/variables_1.js
+++ b/search/variables_1.js
@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['bicubic_5finterp_5fid_438',['bicubic_interp_id',['../namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e',1,'ip_interpolators_mod']]],
-  ['bilinear_5finterp_5fid_439',['bilinear_interp_id',['../namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1',1,'ip_interpolators_mod']]],
-  ['blat_440',['blat',['../namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc',1,'ip_gaussian_grid_mod']]],
-  ['budget_5finterp_5fid_441',['budget_interp_id',['../namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359',1,'ip_interpolators_mod']]]
+  ['bicubic_5finterp_5fid_703',['bicubic_interp_id',['../namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e',1,'ip_interpolators_mod']]],
+  ['bilinear_5finterp_5fid_704',['bilinear_interp_id',['../namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1',1,'ip_interpolators_mod']]],
+  ['blat_705',['blat',['../namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc',1,'ip_gaussian_grid_mod']]],
+  ['budget_5finterp_5fid_706',['budget_interp_id',['../namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359',1,'ip_interpolators_mod']]]
 ];
diff --git a/search/variables_10.js b/search/variables_10.js
index 19638622..f504aa0c 100644
--- a/search/variables_10.js
+++ b/search/variables_10.js
@@ -1,8 +1,8 @@
 var searchData=
 [
-  ['sbd_511',['sbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]],
-  ['slat_512',['slat',['../namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['slat0_513',['slat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::slat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::slat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d',1,'ip_rot_equid_cylind_egrid_mod::slat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1',1,'ip_rot_equid_cylind_grid_mod::slat0()']]],
-  ['slatr_514',['slatr',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::slatr()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900',1,'ip_rot_equid_cylind_egrid_mod::slatr()']]],
-  ['spectral_5finterp_5fid_515',['spectral_interp_id',['../namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851',1,'ip_interpolators_mod']]]
+  ['sbd_776',['sbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]],
+  ['slat_777',['slat',['../namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['slat0_778',['slat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::slat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::slat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d',1,'ip_rot_equid_cylind_egrid_mod::slat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1',1,'ip_rot_equid_cylind_grid_mod::slat0()']]],
+  ['slatr_779',['slatr',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::slatr()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900',1,'ip_rot_equid_cylind_egrid_mod::slatr()']]],
+  ['spectral_5finterp_5fid_780',['spectral_interp_id',['../namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851',1,'ip_interpolators_mod']]]
 ];
diff --git a/search/variables_11.js b/search/variables_11.js
index 5b24ba58..e4756d5e 100644
--- a/search/variables_11.js
+++ b/search/variables_11.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['wbd_516',['wbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]]
+  ['wbd_781',['wbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]]
 ];
diff --git a/search/variables_12.js b/search/variables_12.js
index 38bf5f19..557b4d17 100644
--- a/search/variables_12.js
+++ b/search/variables_12.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['ylat_5frow_517',['ylat_row',['../namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc',1,'ip_gaussian_grid_mod']]]
+  ['ylat_5frow_782',['ylat_row',['../namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc',1,'ip_gaussian_grid_mod']]]
 ];
diff --git a/search/variables_2.js b/search/variables_2.js
index 17673dc3..460ddece 100644
--- a/search/variables_2.js
+++ b/search/variables_2.js
@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['clat_442',['clat',['../namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['clat0_443',['clat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::clat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::clat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142',1,'ip_rot_equid_cylind_egrid_mod::clat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852',1,'ip_rot_equid_cylind_grid_mod::clat0()']]],
-  ['clatr_444',['clatr',['../namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30',1,'ip_rot_equid_cylind_egrid_mod']]],
-  ['clon_445',['clon',['../namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec',1,'ip_rot_equid_cylind_egrid_mod']]]
+  ['clat_707',['clat',['../namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['clat0_708',['clat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::clat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::clat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142',1,'ip_rot_equid_cylind_egrid_mod::clat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852',1,'ip_rot_equid_cylind_grid_mod::clat0()']]],
+  ['clatr_709',['clatr',['../namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['clon_710',['clon',['../namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec',1,'ip_rot_equid_cylind_egrid_mod']]]
 ];
diff --git a/search/variables_3.js b/search/variables_3.js
index 250e3866..f371871c 100644
--- a/search/variables_3.js
+++ b/search/variables_3.js
@@ -1,13 +1,13 @@
 var searchData=
 [
-  ['de2_446',['de2',['../namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962',1,'ip_polar_stereo_grid_mod']]],
-  ['descriptor_447',['descriptor',['../structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51',1,'ip_grid_mod::ip_grid']]],
-  ['dlat_448',['dlat',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlat()'],['../namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb',1,'ip_equid_cylind_grid_mod::dlat()']]],
-  ['dlats_449',['dlats',['../namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d',1,'ip_rot_equid_cylind_grid_mod::dlats()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68',1,'ip_rot_equid_cylind_egrid_mod::dlats()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlats()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlats()']]],
-  ['dlon_450',['dlon',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8',1,'ip_gaussian_grid_mod::ip_gaussian_grid::dlon()'],['../namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f',1,'ip_mercator_grid_mod::dlon()'],['../namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d',1,'ip_gaussian_grid_mod::dlon()'],['../namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f',1,'ip_equid_cylind_grid_mod::dlon()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee',1,'ip_mercator_grid_mod::ip_mercator_grid::dlon()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlon()']]],
-  ['dlons_451',['dlons',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlons()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlons()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc',1,'ip_rot_equid_cylind_egrid_mod::dlons()'],['../namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702',1,'ip_rot_equid_cylind_grid_mod::dlons()']]],
-  ['dphi_452',['dphi',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5',1,'ip_mercator_grid_mod::ip_mercator_grid::dphi()'],['../namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732',1,'ip_mercator_grid_mod::dphi()']]],
-  ['dpr_453',['dpr',['../namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011',1,'ip_constants_mod']]],
-  ['dxs_454',['dxs',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dxs()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dxs()'],['../namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81',1,'ip_lambert_conf_grid_mod::dxs()'],['../namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354',1,'ip_polar_stereo_grid_mod::dxs()']]],
-  ['dys_455',['dys',['../namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f',1,'ip_polar_stereo_grid_mod::dys()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dys()'],['../namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7',1,'ip_lambert_conf_grid_mod::dys()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dys()']]]
+  ['de2_711',['de2',['../namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962',1,'ip_polar_stereo_grid_mod']]],
+  ['descriptor_712',['descriptor',['../structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51',1,'ip_grid_mod::ip_grid']]],
+  ['dlat_713',['dlat',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlat()'],['../namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb',1,'ip_equid_cylind_grid_mod::dlat()']]],
+  ['dlats_714',['dlats',['../namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d',1,'ip_rot_equid_cylind_grid_mod::dlats()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68',1,'ip_rot_equid_cylind_egrid_mod::dlats()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlats()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlats()']]],
+  ['dlon_715',['dlon',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8',1,'ip_gaussian_grid_mod::ip_gaussian_grid::dlon()'],['../namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f',1,'ip_mercator_grid_mod::dlon()'],['../namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d',1,'ip_gaussian_grid_mod::dlon()'],['../namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f',1,'ip_equid_cylind_grid_mod::dlon()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee',1,'ip_mercator_grid_mod::ip_mercator_grid::dlon()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlon()']]],
+  ['dlons_716',['dlons',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlons()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlons()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc',1,'ip_rot_equid_cylind_egrid_mod::dlons()'],['../namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702',1,'ip_rot_equid_cylind_grid_mod::dlons()']]],
+  ['dphi_717',['dphi',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5',1,'ip_mercator_grid_mod::ip_mercator_grid::dphi()'],['../namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732',1,'ip_mercator_grid_mod::dphi()']]],
+  ['dpr_718',['dpr',['../namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011',1,'ip_constants_mod']]],
+  ['dxs_719',['dxs',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dxs()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dxs()'],['../namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81',1,'ip_lambert_conf_grid_mod::dxs()'],['../namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354',1,'ip_polar_stereo_grid_mod::dxs()']]],
+  ['dys_720',['dys',['../namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f',1,'ip_polar_stereo_grid_mod::dys()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dys()'],['../namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7',1,'ip_lambert_conf_grid_mod::dys()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dys()']]]
 ];
diff --git a/search/variables_4.js b/search/variables_4.js
index 3cfb6957..d2c29a3f 100644
--- a/search/variables_4.js
+++ b/search/variables_4.js
@@ -1,9 +1,9 @@
 var searchData=
 [
-  ['e2_456',['e2',['../namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b',1,'ip_polar_stereo_grid_mod']]],
-  ['e2_5fwgs84_457',['e2_wgs84',['../namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545',1,'ip_constants_mod']]],
-  ['eccen_5fsquared_458',['eccen_squared',['../structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a',1,'ip_grid_mod::ip_grid']]],
-  ['elliptical_459',['elliptical',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid']]],
-  ['equid_5fcylind_5fgrid_5fid_5fgrib1_460',['equid_cylind_grid_id_grib1',['../namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb',1,'ip_grid_mod']]],
-  ['equid_5fcylind_5fgrid_5fid_5fgrib2_461',['equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6',1,'ip_grid_mod']]]
+  ['e2_721',['e2',['../namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b',1,'ip_polar_stereo_grid_mod']]],
+  ['e2_5fwgs84_722',['e2_wgs84',['../namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545',1,'ip_constants_mod']]],
+  ['eccen_5fsquared_723',['eccen_squared',['../structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a',1,'ip_grid_mod::ip_grid']]],
+  ['elliptical_724',['elliptical',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid']]],
+  ['equid_5fcylind_5fgrid_5fid_5fgrib1_725',['equid_cylind_grid_id_grib1',['../namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb',1,'ip_grid_mod']]],
+  ['equid_5fcylind_5fgrid_5fid_5fgrib2_726',['equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6',1,'ip_grid_mod']]]
 ];
diff --git a/search/variables_5.js b/search/variables_5.js
index 3fea3970..15a2a3a4 100644
--- a/search/variables_5.js
+++ b/search/variables_5.js
@@ -1,10 +1,10 @@
 var searchData=
 [
-  ['gaussian_5fgrid_5fid_5fgrib1_462',['gaussian_grid_id_grib1',['../namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3',1,'ip_grid_mod']]],
-  ['gaussian_5fgrid_5fid_5fgrib2_463',['gaussian_grid_id_grib2',['../namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316',1,'ip_grid_mod']]],
-  ['gds_464',['gds',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9',1,'ip_grid_descriptor_mod::grib1_descriptor']]],
-  ['gdt_5flen_465',['gdt_len',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
-  ['gdt_5fnum_466',['gdt_num',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
-  ['gdt_5ftmpl_467',['gdt_tmpl',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
-  ['grid_5fnum_468',['grid_num',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1',1,'ip_grid_descriptor_mod::ip_grid_descriptor']]]
+  ['gaussian_5fgrid_5fid_5fgrib1_727',['gaussian_grid_id_grib1',['../namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3',1,'ip_grid_mod']]],
+  ['gaussian_5fgrid_5fid_5fgrib2_728',['gaussian_grid_id_grib2',['../namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316',1,'ip_grid_mod']]],
+  ['gds_729',['gds',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9',1,'ip_grid_descriptor_mod::grib1_descriptor']]],
+  ['gdt_5flen_730',['gdt_len',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['gdt_5fnum_731',['gdt_num',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['gdt_5ftmpl_732',['gdt_tmpl',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['grid_5fnum_733',['grid_num',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1',1,'ip_grid_descriptor_mod::ip_grid_descriptor']]]
 ];
diff --git a/search/variables_6.js b/search/variables_6.js
index ff94a58e..99ce010b 100644
--- a/search/variables_6.js
+++ b/search/variables_6.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['h_469',['h',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::h()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::h()'],['../namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6',1,'ip_lambert_conf_grid_mod::h()'],['../namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645',1,'ip_polar_stereo_grid_mod::h()']]],
-  ['hi_470',['hi',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::hi()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::hi()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2',1,'ip_mercator_grid_mod::ip_mercator_grid::hi()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::hi()']]]
+  ['h_734',['h',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::h()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::h()'],['../namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6',1,'ip_lambert_conf_grid_mod::h()'],['../namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645',1,'ip_polar_stereo_grid_mod::h()']]],
+  ['hi_735',['hi',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::hi()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::hi()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2',1,'ip_mercator_grid_mod::ip_mercator_grid::hi()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::hi()']]]
 ];
diff --git a/search/variables_7.js b/search/variables_7.js
index 96cf467d..ace09d2d 100644
--- a/search/variables_7.js
+++ b/search/variables_7.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['im_471',['im',['../structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc',1,'ip_grid_mod::ip_grid']]],
-  ['irot_472',['irot',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::irot()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::irot()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::irot()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::irot()'],['../namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd',1,'ip_lambert_conf_grid_mod::irot()'],['../namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c',1,'ip_polar_stereo_grid_mod::irot()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571',1,'ip_rot_equid_cylind_egrid_mod::irot()'],['../namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1',1,'ip_rot_equid_cylind_grid_mod::irot()']]],
-  ['iwrap_473',['iwrap',['../structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed',1,'ip_grid_mod::ip_grid']]]
+  ['im_736',['im',['../structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc',1,'ip_grid_mod::ip_grid']]],
+  ['irot_737',['irot',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::irot()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::irot()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::irot()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::irot()'],['../namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd',1,'ip_lambert_conf_grid_mod::irot()'],['../namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c',1,'ip_polar_stereo_grid_mod::irot()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571',1,'ip_rot_equid_cylind_egrid_mod::irot()'],['../namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1',1,'ip_rot_equid_cylind_grid_mod::irot()']]],
+  ['iwrap_738',['iwrap',['../structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed',1,'ip_grid_mod::ip_grid']]]
 ];
diff --git a/search/variables_8.js b/search/variables_8.js
index ae495441..897991b6 100644
--- a/search/variables_8.js
+++ b/search/variables_8.js
@@ -1,10 +1,10 @@
 var searchData=
 [
-  ['j1_474',['j1',['../namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a',1,'ip_gaussian_grid_mod']]],
-  ['jg_475',['jg',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
-  ['jh_476',['jh',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4',1,'ip_gaussian_grid_mod::ip_gaussian_grid::jh()'],['../namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028',1,'ip_gaussian_grid_mod::jh()']]],
-  ['jm_477',['jm',['../structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87',1,'ip_grid_mod::ip_grid']]],
-  ['jscan_478',['jscan',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
-  ['jwrap1_479',['jwrap1',['../structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1',1,'ip_grid_mod::ip_grid']]],
-  ['jwrap2_480',['jwrap2',['../structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2',1,'ip_grid_mod::ip_grid']]]
+  ['j1_739',['j1',['../namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a',1,'ip_gaussian_grid_mod']]],
+  ['jg_740',['jg',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
+  ['jh_741',['jh',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4',1,'ip_gaussian_grid_mod::ip_gaussian_grid::jh()'],['../namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028',1,'ip_gaussian_grid_mod::jh()']]],
+  ['jm_742',['jm',['../structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87',1,'ip_grid_mod::ip_grid']]],
+  ['jscan_743',['jscan',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
+  ['jwrap1_744',['jwrap1',['../structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1',1,'ip_grid_mod::ip_grid']]],
+  ['jwrap2_745',['jwrap2',['../structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2',1,'ip_grid_mod::ip_grid']]]
 ];
diff --git a/search/variables_9.js b/search/variables_9.js
index cd9a1cf7..c3739311 100644
--- a/search/variables_9.js
+++ b/search/variables_9.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['kd_481',['kd',['../namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e',1,'ip_rot_equid_cylind_egrid_mod::kd()'],['../namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6',1,'ip_rot_equid_cylind_grid_mod::kd()']]],
-  ['kscan_482',['kscan',['../structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce',1,'ip_grid_mod::ip_grid']]]
+  ['kd_746',['kd',['../namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e',1,'ip_rot_equid_cylind_egrid_mod::kd()'],['../namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6',1,'ip_rot_equid_cylind_grid_mod::kd()']]],
+  ['kscan_747',['kscan',['../structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce',1,'ip_grid_mod::ip_grid']]]
 ];
diff --git a/search/variables_a.js b/search/variables_a.js
index 54eca620..5d6aefe7 100644
--- a/search/variables_a.js
+++ b/search/variables_a.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['lambert_5fconf_5fgrid_5fid_5fgrib1_483',['lambert_conf_grid_id_grib1',['../namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16',1,'ip_grid_mod']]],
-  ['lambert_5fconf_5fgrid_5fid_5fgrib2_484',['lambert_conf_grid_id_grib2',['../namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe',1,'ip_grid_mod']]]
+  ['lambert_5fconf_5fgrid_5fid_5fgrib1_748',['lambert_conf_grid_id_grib1',['../namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16',1,'ip_grid_mod']]],
+  ['lambert_5fconf_5fgrid_5fid_5fgrib2_749',['lambert_conf_grid_id_grib2',['../namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe',1,'ip_grid_mod']]]
 ];
diff --git a/search/variables_b.js b/search/variables_b.js
index 8d412cc5..bdfc2114 100644
--- a/search/variables_b.js
+++ b/search/variables_b.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['mercator_5fgrid_5fid_5fgrib1_485',['mercator_grid_id_grib1',['../namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682',1,'ip_grid_mod']]],
-  ['mercator_5fgrid_5fid_5fgrib2_486',['mercator_grid_id_grib2',['../namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856',1,'ip_grid_mod']]]
+  ['mercator_5fgrid_5fid_5fgrib1_750',['mercator_grid_id_grib1',['../namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682',1,'ip_grid_mod']]],
+  ['mercator_5fgrid_5fid_5fgrib2_751',['mercator_grid_id_grib2',['../namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856',1,'ip_grid_mod']]]
 ];
diff --git a/search/variables_c.js b/search/variables_c.js
index a28494b1..56aaf9d0 100644
--- a/search/variables_c.js
+++ b/search/variables_c.js
@@ -1,8 +1,8 @@
 var searchData=
 [
-  ['neighbor_5fbudget_5finterp_5fid_487',['neighbor_budget_interp_id',['../namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c',1,'ip_interpolators_mod']]],
-  ['neighbor_5finterp_5fid_488',['neighbor_interp_id',['../namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258',1,'ip_interpolators_mod']]],
-  ['nm_489',['nm',['../structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30',1,'ip_grid_mod::ip_grid']]],
-  ['nscan_490',['nscan',['../structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18',1,'ip_grid_mod::ip_grid']]],
-  ['nscan_5ffield_5fpos_491',['nscan_field_pos',['../structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c',1,'ip_grid_mod::ip_grid']]]
+  ['neighbor_5fbudget_5finterp_5fid_752',['neighbor_budget_interp_id',['../namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c',1,'ip_interpolators_mod']]],
+  ['neighbor_5finterp_5fid_753',['neighbor_interp_id',['../namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258',1,'ip_interpolators_mod']]],
+  ['nm_754',['nm',['../structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30',1,'ip_grid_mod::ip_grid']]],
+  ['nscan_755',['nscan',['../structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18',1,'ip_grid_mod::ip_grid']]],
+  ['nscan_5ffield_5fpos_756',['nscan_field_pos',['../structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c',1,'ip_grid_mod::ip_grid']]]
 ];
diff --git a/search/variables_d.js b/search/variables_d.js
index 60b6d171..e2bb8ef6 100644
--- a/search/variables_d.js
+++ b/search/variables_d.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['orient_492',['orient',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::orient()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::orient()'],['../namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18',1,'ip_polar_stereo_grid_mod::orient()']]]
+  ['orient_757',['orient',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::orient()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::orient()'],['../namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18',1,'ip_polar_stereo_grid_mod::orient()']]]
 ];
diff --git a/search/variables_e.js b/search/variables_e.js
index af2aca13..245b1a37 100644
--- a/search/variables_e.js
+++ b/search/variables_e.js
@@ -1,8 +1,8 @@
 var searchData=
 [
-  ['pi_493',['pi',['../namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4',1,'ip_constants_mod']]],
-  ['pi2_494',['pi2',['../namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5',1,'ip_constants_mod']]],
-  ['pi4_495',['pi4',['../namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15',1,'ip_constants_mod']]],
-  ['polar_5fstereo_5fgrid_5fid_5fgrib1_496',['polar_stereo_grid_id_grib1',['../namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1',1,'ip_grid_mod']]],
-  ['polar_5fstereo_5fgrid_5fid_5fgrib2_497',['polar_stereo_grid_id_grib2',['../namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3',1,'ip_grid_mod']]]
+  ['pi_758',['pi',['../namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4',1,'ip_constants_mod']]],
+  ['pi2_759',['pi2',['../namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5',1,'ip_constants_mod']]],
+  ['pi4_760',['pi4',['../namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15',1,'ip_constants_mod']]],
+  ['polar_5fstereo_5fgrid_5fid_5fgrib1_761',['polar_stereo_grid_id_grib1',['../namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1',1,'ip_grid_mod']]],
+  ['polar_5fstereo_5fgrid_5fid_5fgrib2_762',['polar_stereo_grid_id_grib2',['../namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3',1,'ip_grid_mod']]]
 ];
diff --git a/search/variables_f.js b/search/variables_f.js
index d1a7ea34..8be52307 100644
--- a/search/variables_f.js
+++ b/search/variables_f.js
@@ -1,16 +1,16 @@
 var searchData=
 [
-  ['rerth_498',['rerth',['../namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2',1,'ip_gaussian_grid_mod::rerth()'],['../namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c',1,'ip_equid_cylind_grid_mod::rerth()'],['../namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d',1,'ip_lambert_conf_grid_mod::rerth()'],['../namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419',1,'ip_mercator_grid_mod::rerth()'],['../namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5',1,'ip_polar_stereo_grid_mod::rerth()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb',1,'ip_rot_equid_cylind_egrid_mod::rerth()'],['../structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8',1,'ip_grid_mod::ip_grid::rerth()'],['../namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b',1,'ip_rot_equid_cylind_grid_mod::rerth()']]],
-  ['rerth_5fwgs84_499',['rerth_wgs84',['../namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb',1,'ip_constants_mod']]],
-  ['rlat1_500',['rlat1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlat1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlat1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlat1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7',1,'ip_mercator_grid_mod::ip_mercator_grid::rlat1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlat1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlat1()']]],
-  ['rlat2_501',['rlat2',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid']]],
-  ['rlati_502',['rlati',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef',1,'ip_mercator_grid_mod::ip_mercator_grid']]],
-  ['rlati1_503',['rlati1',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
-  ['rlati2_504',['rlati2',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
-  ['rlon0_505',['rlon0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::rlon0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df',1,'ip_rot_equid_cylind_grid_mod::rlon0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6',1,'ip_rot_equid_cylind_egrid_mod::rlon0()']]],
-  ['rlon1_506',['rlon1',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlon1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlon1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon1()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon1()']]],
-  ['rlon2_507',['rlon2',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon2()']]],
-  ['rot_5fequid_5fcylind_5fb_5fgrid_5fid_5fgrib1_508',['rot_equid_cylind_b_grid_id_grib1',['../namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14',1,'ip_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fe_5fgrid_5fid_5fgrib1_509',['rot_equid_cylind_e_grid_id_grib1',['../namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c',1,'ip_grid_mod']]],
-  ['rot_5fequid_5fcylind_5fgrid_5fid_5fgrib2_510',['rot_equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a',1,'ip_grid_mod']]]
+  ['rerth_763',['rerth',['../namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2',1,'ip_gaussian_grid_mod::rerth()'],['../namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c',1,'ip_equid_cylind_grid_mod::rerth()'],['../namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d',1,'ip_lambert_conf_grid_mod::rerth()'],['../namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419',1,'ip_mercator_grid_mod::rerth()'],['../namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5',1,'ip_polar_stereo_grid_mod::rerth()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb',1,'ip_rot_equid_cylind_egrid_mod::rerth()'],['../structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8',1,'ip_grid_mod::ip_grid::rerth()'],['../namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b',1,'ip_rot_equid_cylind_grid_mod::rerth()']]],
+  ['rerth_5fwgs84_764',['rerth_wgs84',['../namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb',1,'ip_constants_mod']]],
+  ['rlat1_765',['rlat1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlat1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlat1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlat1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7',1,'ip_mercator_grid_mod::ip_mercator_grid::rlat1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlat1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlat1()']]],
+  ['rlat2_766',['rlat2',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid']]],
+  ['rlati_767',['rlati',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef',1,'ip_mercator_grid_mod::ip_mercator_grid']]],
+  ['rlati1_768',['rlati1',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
+  ['rlati2_769',['rlati2',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
+  ['rlon0_770',['rlon0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::rlon0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df',1,'ip_rot_equid_cylind_grid_mod::rlon0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6',1,'ip_rot_equid_cylind_egrid_mod::rlon0()']]],
+  ['rlon1_771',['rlon1',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlon1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlon1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon1()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon1()']]],
+  ['rlon2_772',['rlon2',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon2()']]],
+  ['rot_5fequid_5fcylind_5fb_5fgrid_5fid_5fgrib1_773',['rot_equid_cylind_b_grid_id_grib1',['../namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fe_5fgrid_5fid_5fgrib1_774',['rot_equid_cylind_e_grid_id_grib1',['../namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fgrid_5fid_5fgrib2_775',['rot_equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a',1,'ip_grid_mod']]]
 ];
diff --git a/spanaly_8f.html b/spanaly_8f.html
new file mode 100644
index 00000000..f6447775
--- /dev/null
+++ b/spanaly_8f.html
@@ -0,0 +1,267 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spanaly.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spanaly_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spanaly.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Analyze spectral from Fourier.  
+<a href="#details">More...</a></p>
+
+<p><a href="spanaly_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a5cc846d796d393d7499cde0f3d1d6e6a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a">spanaly</a> (I, M, IM, IX, NC, NCTOP, KM, WGT, CLAT, PLN, PLNTOP, MP, F, SPC, SPCTOP)</td></tr>
+<tr class="memdesc:a5cc846d796d393d7499cde0f3d1d6e6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Analyzes spectral coefficients from Fourier coefficients for a latitude pair (Northern and Southern hemispheres).  <a href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a">More...</a><br /></td></tr>
+<tr class="separator:a5cc846d796d393d7499cde0f3d1d6e6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Analyze spectral from Fourier. </p>
+<h3><a class="anchor" id="autotoc_md47"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">91-10-31   </td><td class="markdownTableBodyNone">Mark Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">94-08-01   </td><td class="markdownTableBodyNone">Mark Iredell   </td><td class="markdownTableBodyNone">Moved zonal wavenumber loop inside.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Openmp directives inserted.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>91-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spanaly_8f_source.html">spanaly.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a5cc846d796d393d7499cde0f3d1d6e6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5cc846d796d393d7499cde0f3d1d6e6a">&#9670;&nbsp;</a></span>spanaly()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spanaly </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NCTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>WGT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>CLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>PLN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>PLNTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km)&#160;</td>
+          <td class="paramname"><em>MP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(ix,2,km)&#160;</td>
+          <td class="paramname"><em>F</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nc,km)&#160;</td>
+          <td class="paramname"><em>SPC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nctop,km)&#160;</td>
+          <td class="paramname"><em>SPCTOP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Analyzes spectral coefficients from Fourier coefficients for a latitude pair (Northern and Southern hemispheres). </p>
+<p>Vector components are multiplied by cosine of latitude.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">I</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">IM</td><td>even number of Fourier coefficients </td></tr>
+    <tr><td class="paramname">IX</td><td>dimension of Fourier coefficients (IX&gt;=IM+2) </td></tr>
+    <tr><td class="paramname">NC</td><td>dimension of spectral coefficients (NC&gt;=(M+1)*((I+1)*M+2)) </td></tr>
+    <tr><td class="paramname">NCTOP</td><td>dimension of spectral coefficients over top (NCTOP&gt;=2*(M+1)) </td></tr>
+    <tr><td class="paramname">KM</td><td>number of fields </td></tr>
+    <tr><td class="paramname">WGT</td><td>Gaussian weight </td></tr>
+    <tr><td class="paramname">CLAT</td><td>cosine of latitude </td></tr>
+    <tr><td class="paramname">PLN</td><td>Legendre polynomials </td></tr>
+    <tr><td class="paramname">PLNTOP</td><td>Legendre polynomial over top </td></tr>
+    <tr><td class="paramname">MP</td><td>identifiers (0 for scalar, 1 for vector) </td></tr>
+    <tr><td class="paramname">F</td><td>Fourier coefficients combined </td></tr>
+    <tr><td class="paramname">SPC</td><td>spectral coefficients </td></tr>
+    <tr><td class="paramname">SPCTOP</td><td>spectral coefficients over top</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>91-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spanaly_8f_source.html#l00035">35</a> of file <a class="el" href="spanaly_8f_source.html">spanaly.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptranf1_8f_source.html#l00044">sptranf1()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spanaly_8f.html">spanaly.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spanaly_8f.js b/spanaly_8f.js
new file mode 100644
index 00000000..c397fb92
--- /dev/null
+++ b/spanaly_8f.js
@@ -0,0 +1,4 @@
+var spanaly_8f =
+[
+    [ "spanaly", "spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a", null ]
+];
\ No newline at end of file
diff --git a/spanaly_8f_source.html b/spanaly_8f_source.html
new file mode 100644
index 00000000..1d29aacf
--- /dev/null
+++ b/spanaly_8f_source.html
@@ -0,0 +1,176 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spanaly.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spanaly_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spanaly.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spanaly_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Analyze spectral from Fourier.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 91-10-31 | Mark Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 94-08-01 | Mark Iredell | Moved zonal wavenumber loop inside.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Openmp directives inserted.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @author Iredell @date 91-10-31</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; Analyzes spectral coefficients from Fourier coefficients</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; for a latitude pair (Northern and Southern hemispheres).</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; Vector components are multiplied by cosine of latitude.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param I spectral domain shape (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param M  spectral truncation</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; @param IM even number of Fourier coefficients</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param IX dimension of Fourier coefficients (IX&gt;=IM+2)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param NC dimension of spectral coefficients (NC&gt;=(M+1)*((I+1)*M+2))</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param NCTOP dimension of spectral coefficients over top (NCTOP&gt;=2*(M+1))</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param KM number of fields</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param WGT Gaussian weight</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param CLAT cosine of latitude</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param PLN Legendre polynomials</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param PLNTOP Legendre polynomial over top</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param MP identifiers (0 for scalar, 1 for vector)</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param F Fourier coefficients combined</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param SPC spectral coefficients</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param SPCTOP spectral coefficients over top</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @author Iredell @date 91-10-31</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a">   35</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a">spanaly</a>(I,M,IM,IX,NC,NCTOP,KM,WGT,CLAT,PLN,PLNTOP,MP,</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;     &amp;                   F,SPC,SPCTOP)</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;      <span class="keywordtype">INTEGER</span> MP(KM)</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordtype">      REAL</span> PLN((M+1)*((I+1)*M+2)/2),PLNTOP(M+1)</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keywordtype">      REAL</span> F(IX,2,KM)</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keywordtype">      REAL</span> SPC(NC,KM),SPCTOP(NCTOP,KM)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keywordtype">      REAL</span> FW(2,2)</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C FOR EACH ZONAL WAVENUMBER, ANALYZE TERMS OVER TOTAL WAVENUMBER.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C ANALYZE EVEN AND ODD POLYNOMIALS SEPARATELY.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;      lx=min(m,im/2)</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">!C$OMP PARALLEL DO PRIVATE(L,NT,KS,KP,FW)</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keywordflow">DO</span> l=0,lx</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;          nt=mod(m+1+(i-1)*l,2)+1</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;          ks=l*(2*m+(i-1)*(l-1))</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;          kp=ks/2+1</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;          <span class="keywordflow">IF</span>(mp(k).EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;            fw(1,1)=wgt*(f(2*l+1,1,k)+f(2*l+1,2,k))</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;            fw(2,1)=wgt*(f(2*l+2,1,k)+f(2*l+2,2,k))</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;            fw(1,2)=wgt*(f(2*l+1,1,k)-f(2*l+1,2,k))</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;            fw(2,2)=wgt*(f(2*l+2,1,k)-f(2*l+2,2,k))</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;            fw(1,1)=wgt*clat*(f(2*l+1,1,k)+f(2*l+1,2,k))</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;            fw(2,1)=wgt*clat*(f(2*l+2,1,k)+f(2*l+2,2,k))</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;            fw(1,2)=wgt*clat*(f(2*l+1,1,k)-f(2*l+1,2,k))</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;            fw(2,2)=wgt*clat*(f(2*l+2,1,k)-f(2*l+2,2,k))</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;            spctop(2*l+1,k)=spctop(2*l+1,k)+plntop(l+1)*fw(1,nt)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;            spctop(2*l+2,k)=spctop(2*l+2,k)+plntop(l+1)*fw(2,nt)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;          <span class="keywordflow">DO</span> n=l,i*l+m,2</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;            spc(ks+2*n+1,k)=spc(ks+2*n+1,k)+pln(kp+n)*fw(1,1)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;            spc(ks+2*n+2,k)=spc(ks+2*n+2,k)+pln(kp+n)*fw(2,1)</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;          <span class="keywordflow">DO</span> n=l+1,i*l+m,2</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;            spc(ks+2*n+1,k)=spc(ks+2*n+1,k)+pln(kp+n)*fw(1,2)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;            spc(ks+2*n+2,k)=spc(ks+2*n+2,k)+pln(kp+n)*fw(2,2)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspanaly_8f_html_a5cc846d796d393d7499cde0f3d1d6e6a"><div class="ttname"><a href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a">spanaly</a></div><div class="ttdeci">subroutine spanaly(I, M, IM, IX, NC, NCTOP, KM, WGT, CLAT, PLN, PLNTOP, MP, F, SPC, SPCTOP)</div><div class="ttdoc">Analyzes spectral coefficients from Fourier coefficients for a latitude pair (Northern and Southern h...</div><div class="ttdef"><b>Definition:</b> <a href="spanaly_8f_source.html#l00035">spanaly.f:37</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spanaly_8f.html">spanaly.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spdz2uv_8f.html b/spdz2uv_8f.html
new file mode 100644
index 00000000..99193ab3
--- /dev/null
+++ b/spdz2uv_8f.html
@@ -0,0 +1,247 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spdz2uv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spdz2uv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spdz2uv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute winds from divergence and vorticity.  
+<a href="#details">More...</a></p>
+
+<p><a href="spdz2uv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ae3a4a74c49f78a25425b610743dc0692"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a> (I, M, ENN1, ELONN1, EON, EONTOP, D, Z, U, V, UTOP, VTOP)</td></tr>
+<tr class="memdesc:ae3a4a74c49f78a25425b610743dc0692"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the wind components from divergence and vorticity in spectral space.  <a href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">More...</a><br /></td></tr>
+<tr class="separator:ae3a4a74c49f78a25425b610743dc0692"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute winds from divergence and vorticity. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spdz2uv_8f_source.html">spdz2uv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ae3a4a74c49f78a25425b610743dc0692"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3a4a74c49f78a25425b610743dc0692">&#9670;&nbsp;</a></span>spdz2uv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spdz2uv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ENN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ELONN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>EON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>EONTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>D</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>Z</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>U</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>V</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*(m+1))&#160;</td>
+          <td class="paramname"><em>UTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*(m+1))&#160;</td>
+          <td class="paramname"><em>VTOP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Computes the wind components from divergence and vorticity in spectral space. </p>
+<p>Subprogram <a class="el" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131" title="Computes constant fields indexed in the spectral domain in &quot;IBM ORDER&quot; (Zonal wavenumber is the slowe...">speps()</a> should be called already.</p>
+<p>If L is the zonal wavenumber, N is the total wavenumber, </p><pre>      
+ EPS(L,N) = SQRT((N**2-L**2)/(4*N**2-1))
+ </pre><p> a<br  />
+nd A is earth radius, then the zonal wind component U is computed as </p><pre>
+ U(L,N)=-I*L/(N*(N+1))*A*D(L,N)
+ +EPS(L,N+1)/(N+1)*A*Z(L,N+1)-EPS(L,N)/N*A*Z(L,N-1)
+ </pre><p> and the meridional wind component V is computed as </p><pre>
+ V(L,N)=-I*L/(N*(N+1))*A*Z(L,N)
+ -EPS(L,N+1)/(N+1)*A*D(L,N+1)+EPS(L,N)/N*A*D(L,N-1)
+ </pre><p> where D is divergence and Z is vorticity.</p>
+<p>U and V are weighted by the cosine of latitude.</p>
+<p>Cxtra terms are computed over top of the spectral domain.</p>
+<p>Advantage is taken of the fact that EPS(L,L)=0 in order to vectorize over the entire spectral domain.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">I</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">ENN1</td><td>((M+1)*((I+1)*M+2)/2) N*(N+1)/A**2 </td></tr>
+    <tr><td class="paramname">ELONN1</td><td>((M+1)*((I+1)*M+2)/2) L/(N*(N+1))*A </td></tr>
+    <tr><td class="paramname">EON</td><td>((M+1)*((I+1)*M+2)/2) EPSILON/N*A </td></tr>
+    <tr><td class="paramname">EONTOP</td><td>(M+1) EPSILON/N*A OVER TOP </td></tr>
+    <tr><td class="paramname">D</td><td>((M+1)*((I+1)*M+2)) divergence </td></tr>
+    <tr><td class="paramname">Z</td><td>((M+1)*((I+1)*M+2)) vorticity </td></tr>
+    <tr><td class="paramname">U</td><td>((M+1)*((I+1)*M+2)) zonal wind (times coslat) </td></tr>
+    <tr><td class="paramname">V</td><td>((M+1)*((I+1)*M+2)) merid wind (times coslat) </td></tr>
+    <tr><td class="paramname">UTOP</td><td>(2*(M+1)) zonal wind (times coslat) over top </td></tr>
+    <tr><td class="paramname">VTOP</td><td>(2*(M+1)) merid wind (times coslat) over top</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spdz2uv_8f_source.html#l00048">48</a> of file <a class="el" href="spdz2uv_8f_source.html">spdz2uv.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgpmv_8f_source.html#l00063">sptgpmv()</a>, <a class="el" href="sptgpsv_8f_source.html#l00083">sptgpsv()</a>, <a class="el" href="sptgptv_8f_source.html#l00054">sptgptv()</a>, <a class="el" href="sptgptvd_8f_source.html#l00070">sptgptvd()</a>, and <a class="el" href="sptranfv_8f_source.html#l00083">sptranfv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spdz2uv_8f.html">spdz2uv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spdz2uv_8f.js b/spdz2uv_8f.js
new file mode 100644
index 00000000..e0e6edd1
--- /dev/null
+++ b/spdz2uv_8f.js
@@ -0,0 +1,4 @@
+var spdz2uv_8f =
+[
+    [ "spdz2uv", "spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692", null ]
+];
\ No newline at end of file
diff --git a/spdz2uv_8f_source.html b/spdz2uv_8f_source.html
new file mode 100644
index 00000000..1a510e8c
--- /dev/null
+++ b/spdz2uv_8f_source.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spdz2uv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spdz2uv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spdz2uv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spdz2uv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Compute winds from divergence and vorticity.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Computes the wind components from divergence and vorticity</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; in spectral space.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; Subprogram speps() should be called already.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; If L is the zonal wavenumber, N is the total wavenumber,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; &lt;pre&gt;      </span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; EPS(L,N) = SQRT((N**2-L**2)/(4*N**2-1))</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; and A is earth radius,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; then the zonal wind component U is computed as</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; &lt;pre&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; U(L,N)=-I*L/(N*(N+1))*A*D(L,N)</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; +EPS(L,N+1)/(N+1)*A*Z(L,N+1)-EPS(L,N)/N*A*Z(L,N-1)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; and the meridional wind component V is computed as</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; &lt;pre&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; V(L,N)=-I*L/(N*(N+1))*A*Z(L,N)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; -EPS(L,N+1)/(N+1)*A*D(L,N+1)+EPS(L,N)/N*A*D(L,N-1)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; where D is divergence and Z is vorticity.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; U and V are weighted by the cosine of latitude.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; Cxtra terms are computed over top of the spectral domain.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; Advantage is taken of the fact that EPS(L,L)=0</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; in order to vectorize over the entire spectral domain.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param I spectral domain shape (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param M spectral truncation</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param ENN1 ((M+1)*((I+1)*M+2)/2) N*(N+1)/A**2</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param ELONN1 ((M+1)*((I+1)*M+2)/2) L/(N*(N+1))*A</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param EON ((M+1)*((I+1)*M+2)/2) EPSILON/N*A</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param EONTOP (M+1) EPSILON/N*A OVER TOP</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param D ((M+1)*((I+1)*M+2)) divergence</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param Z ((M+1)*((I+1)*M+2)) vorticity</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param U ((M+1)*((I+1)*M+2)) zonal wind (times coslat)</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param V ((M+1)*((I+1)*M+2)) merid wind (times coslat)</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param UTOP (2*(M+1)) zonal wind (times coslat) over top</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param VTOP (2*(M+1)) merid wind (times coslat) over top</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">   48</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a>(I,M,ENN1,ELONN1,EON,EONTOP,D,Z,U,V,UTOP,VTOP)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keywordtype">      REAL</span> ENN1((M+1)*((I+1)*M+2)/2),ELONN1((M+1)*((I+1)*M+2)/2)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keywordtype">      REAL</span> EON((M+1)*((I+1)*M+2)/2),EONTOP(M+1)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keywordtype">      REAL</span> D((M+1)*((I+1)*M+2)),Z((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">      REAL</span> U((M+1)*((I+1)*M+2)),V((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordtype">      REAL</span> UTOP(2*(M+1)),VTOP(2*(M+1))</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C  COMPUTE WINDS IN THE SPECTRAL DOMAIN</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      k=1</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      u(2*k-1)=eon(k+1)*z(2*k+1)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      u(2*k)=eon(k+1)*z(2*k+2)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      v(2*k-1)=-eon(k+1)*d(2*k+1)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      v(2*k)=-eon(k+1)*d(2*k+2)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keywordflow">DO</span> k=2,(m+1)*((i+1)*m+2)/2-1</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        u(2*k-1)=elonn1(k)*d(2*k)+eon(k+1)*z(2*k+1)-eon(k)*z(2*k-3)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        u(2*k)=-elonn1(k)*d(2*k-1)+eon(k+1)*z(2*k+2)-eon(k)*z(2*k-2)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        v(2*k-1)=elonn1(k)*z(2*k)-eon(k+1)*d(2*k+1)+eon(k)*d(2*k-3)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        v(2*k)=-elonn1(k)*z(2*k-1)-eon(k+1)*d(2*k+2)+eon(k)*d(2*k-2)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      k=(m+1)*((i+1)*m+2)/2</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      u(2*k-1)=elonn1(k)*d(2*k)-eon(k)*z(2*k-3)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      u(2*k)=-elonn1(k)*d(2*k-1)-eon(k)*z(2*k-2)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      v(2*k-1)=elonn1(k)*z(2*k)+eon(k)*d(2*k-3)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      v(2*k)=-elonn1(k)*z(2*k-1)+eon(k)*d(2*k-2)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C  COMPUTE WINDS OVER TOP OF THE SPECTRAL DOMAIN</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        k=l*(2*m+(i-1)*(l-1))/2+i*l+m+1</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        utop(2*l+1)=-eontop(l+1)*z(2*k-1)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        utop(2*l+2)=-eontop(l+1)*z(2*k)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        vtop(2*l+1)=eontop(l+1)*d(2*k-1)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        vtop(2*l+2)=eontop(l+1)*d(2*k)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspdz2uv_8f_html_ae3a4a74c49f78a25425b610743dc0692"><div class="ttname"><a href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a></div><div class="ttdeci">subroutine spdz2uv(I, M, ENN1, ELONN1, EON, EONTOP, D, Z, U, V, UTOP, VTOP)</div><div class="ttdoc">Computes the wind components from divergence and vorticity in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spdz2uv_8f_source.html#l00048">spdz2uv.f:49</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spdz2uv_8f.html">spdz2uv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spectral__interp__mod_8F90.html b/spectral__interp__mod_8F90.html
index 7e06ec57..22f0ee15 100644
--- a/spectral__interp__mod_8F90.html
+++ b/spectral__interp__mod_8F90.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/spectral__interp__mod_8F90_source.html b/spectral__interp__mod_8F90_source.html
index fd526e49..fe196f10 100644
--- a/spectral__interp__mod_8F90_source.html
+++ b/spectral__interp__mod_8F90_source.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
@@ -343,7 +343,7 @@
 <div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) ispec=1</div>
 <div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="keywordflow">          ENDIF</span></div>
 <div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;          <span class="keywordflow">IF</span>(ispec.EQ.1) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;             <span class="keyword">CALL </span>sptrun(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;             <span class="keyword">CALL </span><a class="code" href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">sptrun</a>(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
 <div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;                  km,iprime,iskipi,jskipi,mi,0,0,mo,0,gi,go)</div>
 <div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="keywordflow">          ENDIF</span></div>
 <div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;          <span class="comment">!  SPECIAL CASE OF POLAR STEREOGRAPHIC GRID</span></div>
@@ -366,11 +366,11 @@
 <div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;          yp=1+cos((rlon1-orient)/dpr)*dr/xmesh</div>
 <div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;          <span class="keywordflow">IF</span>(nint(xp).EQ.ip.AND.nint(yp).EQ.ip) <span class="keywordflow">THEN</span></div>
 <div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;             <span class="keywordflow">IF</span>(iproj.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;                <span class="keyword">CALL </span>sptruns(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;                <span class="keyword">CALL </span><a class="code" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
 <div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;                     slat,xmesh,orient,gi,go,go2)</div>
 <div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;             <span class="keywordflow">ELSE</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                <span class="keyword">CALL </span>sptruns(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                <span class="keyword">CALL </span><a class="code" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
 <div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;                     slat,xmesh,orient,gi,go2,go)</div>
 <div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="keywordflow">             ENDIF</span></div>
@@ -394,7 +394,7 @@
 <div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;          dlono=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(ni-1)</div>
 <div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;          dlato=hj*dy/(rerth*cos(rlati/dpr))*dpr</div>
 <div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;          <span class="keywordflow">IF</span>(nscano.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;             <span class="keyword">CALL </span>sptrunm(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;             <span class="keyword">CALL </span><a class="code" href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">sptrunm</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
 <div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;                  iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;                  rlat1,rlon1,dlato,dlono,gi,go)</div>
 <div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;             ispec=1</div>
@@ -402,7 +402,7 @@
 <div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="keywordflow">       ENDIF</span></div>
 <div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;       <span class="comment">!  GENERAL SLOW CASE</span></div>
 <div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;       <span class="keywordflow">IF</span>(ispec.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;          <span class="keyword">CALL </span>sptrung(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;          <span class="keyword">CALL </span><a class="code" href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">sptrung</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
 <div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;               iprime,iskipi,jskipi,mi,mo,0,0,0,rlat,rlon,gi,go)</div>
 <div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="keywordflow">       ENDIF</span></div>
 <div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
@@ -563,7 +563,7 @@
 <div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) ispec=1</div>
 <div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;<span class="keywordflow">          ENDIF</span></div>
 <div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;          <span class="keywordflow">IF</span>(ispec.EQ.1) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;             <span class="keyword">CALL </span>sptrun(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;             <span class="keyword">CALL </span><a class="code" href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">sptrun</a>(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
 <div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;                  km,iprime,iskipi,jskipi,mi,0,0,mo,0,gi,go)</div>
 <div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="keywordflow">          ENDIF</span></div>
 <div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;          <span class="comment">!  SPECIAL CASE OF POLAR STEREOGRAPHIC GRID</span></div>
@@ -584,11 +584,11 @@
 <div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;          yp=1+cos((rlon1-orient)/dpr)*dr/xmesh</div>
 <div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;          <span class="keywordflow">IF</span>(nint(xp).EQ.ip.AND.nint(yp).EQ.ip) <span class="keywordflow">THEN</span></div>
 <div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;             <span class="keywordflow">IF</span>(iproj.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;                <span class="keyword">CALL </span>sptruns(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;                <span class="keyword">CALL </span><a class="code" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
 <div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;                     60.,xmesh,orient,gi,go,go2)</div>
 <div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;             <span class="keywordflow">ELSE</span></div>
-<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;                <span class="keyword">CALL </span>sptruns(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;                <span class="keyword">CALL </span><a class="code" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
 <div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;                     60.,xmesh,orient,gi,go2,go)</div>
 <div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;<span class="keywordflow">             ENDIF</span></div>
@@ -611,7 +611,7 @@
 <div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;          dlono=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(ni-1)</div>
 <div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;          dlato=hj*dy/(rerth*cos(rlati/dpr))*dpr</div>
 <div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;          <span class="keywordflow">IF</span>(nscano.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;             <span class="keyword">CALL </span>sptrunm(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;             <span class="keyword">CALL </span><a class="code" href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">sptrunm</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
 <div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;                  iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;                  rlat1,rlon1,dlato,dlono,gi,go)</div>
 <div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;             ispec=1</div>
@@ -619,7 +619,7 @@
 <div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="keywordflow">       ENDIF</span></div>
 <div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;       <span class="comment">!  GENERAL SLOW CASE</span></div>
 <div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;       <span class="keywordflow">IF</span>(ispec.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;          <span class="keyword">CALL </span>sptrung(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;          <span class="keyword">CALL </span><a class="code" href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">sptrung</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
 <div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;               iprime,iskipi,jskipi,mi,mo,0,0,0,rlat,rlon,gi,go)</div>
 <div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="keywordflow">       ENDIF</span></div>
 <div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
@@ -798,7 +798,7 @@
 <div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) ispec=1</div>
 <div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;<span class="keywordflow">          ENDIF</span></div>
 <div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;          <span class="keywordflow">IF</span>(ispec.EQ.1) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;             <span class="keyword">CALL </span>sptrunv(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;             <span class="keyword">CALL </span><a class="code" href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv</a>(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
 <div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;                  km,iprime,iskipi,jskipi,mi,0,0,mo,0,ui,vi, &amp;</div>
 <div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;                  .true.,uo,vo,.false.,dum,dum,.false.,dum,dum)</div>
 <div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;<span class="keywordflow">          ENDIF</span></div>
@@ -823,13 +823,13 @@
 <div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;          yp=1+cos((rlon1-orient)/dpr)*dr/xmesh</div>
 <div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;          <span class="keywordflow">IF</span>(nint(xp).EQ.ip.AND.nint(yp).EQ.ip) <span class="keywordflow">THEN</span></div>
 <div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;             <span class="keywordflow">IF</span>(iproj.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;                <span class="keyword">CALL </span>sptrunsv(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;                <span class="keyword">CALL </span><a class="code" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
 <div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;                     slat,xmesh,orient,ui,vi,.true.,uo,vo,uo2,vo2, &amp;</div>
 <div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;                     .false.,dum,dum,dum,dum, &amp;</div>
 <div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;                     .false.,dum,dum,dum,dum)</div>
 <div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;             <span class="keywordflow">ELSE</span></div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;                <span class="keyword">CALL </span>sptrunsv(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;                <span class="keyword">CALL </span><a class="code" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
 <div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;                     slat,xmesh,orient,ui,vi,.true.,uo2,vo2,uo,vo, &amp;</div>
 <div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;                     .false.,dum,dum,dum,dum, &amp;</div>
@@ -855,7 +855,7 @@
 <div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;          dlono=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(ni-1)</div>
 <div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;          dlato=hj*dy/(rerth*cos(rlati/dpr))*dpr</div>
 <div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;          <span class="keywordflow">IF</span>(nscano.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;             <span class="keyword">CALL </span>sptrunmv(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;             <span class="keyword">CALL </span><a class="code" href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">sptrunmv</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
 <div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;                  iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;                  rlat1,rlon1,dlato,dlono,ui,vi, &amp;</div>
 <div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;                  .true.,uo,vo,.false.,dum,dum,.false.,dum,dum)</div>
@@ -864,7 +864,7 @@
 <div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;<span class="keywordflow">       ENDIF</span></div>
 <div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;       <span class="comment">!  GENERAL SLOW CASE</span></div>
 <div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;       <span class="keywordflow">IF</span>(ispec.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;          <span class="keyword">CALL </span>sptrungv(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;          <span class="keyword">CALL </span><a class="code" href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">sptrungv</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
 <div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;               iprime,iskipi,jskipi,mi,mo,0,0,0,rlat,rlon, &amp;</div>
 <div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;               ui,vi,.true.,uo,vo,.false.,x,x,.false.,x,x)</div>
 <div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;          <span class="keywordflow">DO</span> k=1,km</div>
@@ -1031,7 +1031,7 @@
 <div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) ispec=1</div>
 <div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;<span class="keywordflow">          ENDIF</span></div>
 <div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;          <span class="keywordflow">IF</span>(ispec.EQ.1) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;             <span class="keyword">CALL </span>sptrunv(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;             <span class="keyword">CALL </span><a class="code" href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv</a>(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
 <div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;                  km,iprime,iskipi,jskipi,mi,0,0,mo,0,ui,vi, &amp;</div>
 <div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;                  .true.,uo,vo,.false.,dum,dum,.false.,dum,dum)</div>
 <div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;<span class="keywordflow">          ENDIF</span></div>
@@ -1054,13 +1054,13 @@
 <div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;          yp=1+cos((rlon1-orient)/dpr)*dr/xmesh</div>
 <div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;          <span class="keywordflow">IF</span>(nint(xp).EQ.ip.AND.nint(yp).EQ.ip) <span class="keywordflow">THEN</span></div>
 <div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;             <span class="keywordflow">IF</span>(iproj.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;                <span class="keyword">CALL </span>sptrunsv(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;                <span class="keyword">CALL </span><a class="code" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
 <div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;                     60.,xmesh,orient,ui,vi,.true.,uo,vo,uo2,vo2, &amp;</div>
 <div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;                     .false.,dum,dum,dum,dum, &amp;</div>
 <div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;                     .false.,dum,dum,dum,dum)</div>
 <div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;             <span class="keywordflow">ELSE</span></div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;                <span class="keyword">CALL </span>sptrunsv(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;                <span class="keyword">CALL </span><a class="code" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
 <div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;                     60.,xmesh,orient,ui,vi,.true.,uo2,vo2,uo,vo, &amp;</div>
 <div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;                     .false.,dum,dum,dum,dum, &amp;</div>
@@ -1085,7 +1085,7 @@
 <div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;          dlono=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(ni-1)</div>
 <div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;          dlato=hj*dy/(rerth*cos(rlati/dpr))*dpr</div>
 <div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;          <span class="keywordflow">IF</span>(nscano.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;             <span class="keyword">CALL </span>sptrunmv(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;             <span class="keyword">CALL </span><a class="code" href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">sptrunmv</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
 <div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;                  iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
 <div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;                  rlat1,rlon1,dlato,dlono,ui,vi, &amp;</div>
 <div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;                  .true.,uo,vo,.false.,dum,dum,.false.,dum,dum)</div>
@@ -1094,7 +1094,7 @@
 <div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;<span class="keywordflow">       ENDIF</span></div>
 <div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;       <span class="comment">!  GENERAL SLOW CASE</span></div>
 <div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;       <span class="keywordflow">IF</span>(ispec.EQ.0) <span class="keywordflow">THEN</span></div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;          <span class="keyword">CALL </span>sptrungv(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;          <span class="keyword">CALL </span><a class="code" href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">sptrungv</a>(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
 <div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;               iprime,iskipi,jskipi,mi,mo,0,0,0,rlat,rlon, &amp;</div>
 <div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;               ui,vi,.true.,uo,vo,.false.,x,x,.false.,x,x)</div>
 <div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;          <span class="keywordflow">DO</span> k=1,km</div>
@@ -1139,6 +1139,14 @@
 <div class="ttc" id="anamespacespectral__interp__mod_html_ab9fb87d87f2f9d578a5ade6b512ff366"><div class="ttname"><a href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">spectral_interp_mod::polates4_grib1</a></div><div class="ttdeci">subroutine polates4_grib1(IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">Interpolate scalar fields (spectral).</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00559">spectral_interp_mod.F90:561</a></div></div>
 <div class="ttc" id="anamespacespectral__interp__mod_html_acb61ad529b7decc2a6ff58dd12fbadd0"><div class="ttname"><a href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">spectral_interp_mod::interpolate_spectral_vector</a></div><div class="ttdeci">subroutine interpolate_spectral_vector(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">Interpolate spectral vector.</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00121">spectral_interp_mod.F90:124</a></div></div>
 <div class="ttc" id="anamespacespectral__interp__mod_html_af4ce7638750e787dd69c7fe3ff2335cc"><div class="ttname"><a href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">spectral_interp_mod::polatev4_grib1</a></div><div class="ttdeci">subroutine polatev4_grib1(IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">Interpolate vector fields (spectral).</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l01221">spectral_interp_mod.F90:1223</a></div></div>
+<div class="ttc" id="asptrun_8f_html_a1f04574fbd5018f73b68bd2cd0ffc473"><div class="ttname"><a href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">sptrun</a></div><div class="ttdeci">subroutine sptrun(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRIDI, GRIDO)</div><div class="ttdoc">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrun_8f_source.html#l00055">sptrun.f:58</a></div></div>
+<div class="ttc" id="asptrung_8f_html_af41b64dad4789617a315515ef885912c"><div class="ttname"><a href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">sptrung</a></div><div class="ttdeci">subroutine sptrung(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NRSKIP, NGSKIP, JCPU, RLAT, RLON, GRIDI, GP)</div><div class="ttdoc">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrung_8f_source.html#l00065">sptrung.f:68</a></div></div>
+<div class="ttc" id="asptrungv_8f_html_ab7bbe6ecde57394b15e5d4925cb07164"><div class="ttname"><a href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">sptrungv</a></div><div class="ttdeci">subroutine sptrungv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NRSKIP, NGSKIP, JCPU, RLAT, RLON, GRIDUI, GRIDVI, LUV, UP, VP, LDZ, DP, ZP, LPS, PP, SP)</div><div class="ttdoc">THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTORS FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELD...</div><div class="ttdef"><b>Definition:</b> <a href="sptrungv_8f_source.html#l00081">sptrungv.f:85</a></div></div>
+<div class="ttc" id="asptrunm_8f_html_a2a4e579890d3cf7f6a26091f544b6cb6"><div class="ttname"><a href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">sptrunm</a></div><div class="ttdeci">subroutine sptrunm(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, MI, MJ, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, RLAT1, RLON1, DLAT, DLON, GRIDI, GM)</div><div class="ttdoc">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunm_8f_source.html#l00076">sptrunm.f:80</a></div></div>
+<div class="ttc" id="asptrunmv_8f_html_a8b405d0621112d6852a3bb99602ac2fd"><div class="ttname"><a href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">sptrunmv</a></div><div class="ttdeci">subroutine sptrunmv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, MI, MJ, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, RLAT1, RLON1, DLAT, DLON, GRIDUI, GRIDVI, LUV, UM, VM, LDZ, DM, ZM, LPS, PM, SM)</div><div class="ttdoc">THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTOR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunmv_8f_source.html#l00092">sptrunmv.f:96</a></div></div>
+<div class="ttc" id="asptruns_8f_html_a34f156e2049105d012e445f8aa215444"><div class="ttname"><a href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a></div><div class="ttdeci">subroutine sptruns(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NPS, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, TRUE, XMESH, ORIENT, GRIDI, GN, GS)</div><div class="ttdoc">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptruns_8f_source.html#l00071">sptruns.f:75</a></div></div>
+<div class="ttc" id="asptrunsv_8f_html_a1373b651b9dea586e33d3033aae68656"><div class="ttname"><a href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a></div><div class="ttdeci">subroutine sptrunsv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NPS, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, TRUE, XMESH, ORIENT, GRIDUI, GRIDVI, LUV, UN, VN, US, VS, LDZ, DN, ZN, DS, ZS, LPS, PN, SN, PS, SS)</div><div class="ttdoc">This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunsv_8f_source.html#l00088">sptrunsv.f:94</a></div></div>
+<div class="ttc" id="asptrunv_8f_html_a9aa39c13dd38585b3afb30cb2486817f"><div class="ttname"><a href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv</a></div><div class="ttdeci">subroutine sptrunv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRIDUI, GRIDVI, LUV, GRIDUO, GRIDVO, LDZ, GRIDDO, GRIDZO, LPS, GRIDPO, GRIDSO)</div><div class="ttdoc">This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunv_8f_source.html#l00090">sptrunv.f:96</a></div></div>
 <div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
 <div class="ttc" id="astructip__grid__descriptor__mod_1_1grib2__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></div><div class="ttdoc">Grib-2 descriptor containing a grib2 GDT represented by an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00047">ip_grid_descriptor_mod.F90:47</a></div></div>
 <div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
diff --git a/speps_8f.html b/speps_8f.html
new file mode 100644
index 00000000..684d2fad
--- /dev/null
+++ b/speps_8f.html
@@ -0,0 +1,211 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: speps.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('speps_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">speps.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute utility spectral fields.  
+<a href="#details">More...</a></p>
+
+<p><a href="speps_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a0ab523ec5e1393ffca970897e63a9131"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131">speps</a> (I, M, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</td></tr>
+<tr class="memdesc:a0ab523ec5e1393ffca970897e63a9131"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes constant fields indexed in the spectral domain in "IBM ORDER" (Zonal wavenumber is the slower index).  <a href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131">More...</a><br /></td></tr>
+<tr class="separator:a0ab523ec5e1393ffca970897e63a9131"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute utility spectral fields. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="speps_8f_source.html">speps.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a0ab523ec5e1393ffca970897e63a9131"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ab523ec5e1393ffca970897e63a9131">&#9670;&nbsp;</a></span>speps()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine speps </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>EPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>EPSTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ENN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ELONN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>EON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>EONTOP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Computes constant fields indexed in the spectral domain in "IBM ORDER" (Zonal wavenumber is the slower index). </p>
+<p>If L is the zonal wavenumber and N is the total wavenumber and A is the earth radius, then the fields returned are:</p><ul>
+<li>(1) normalizing factor EPSILON=SQRT((N**2-L**2)/(4*N**2-1))</li>
+<li>(2) Laplacian factor N*(N+1)/A**2</li>
+<li>(3) zonal derivative/Laplacian factor L/(N*(N+1))*A</li>
+<li>(4) Meridional derivative/Laplacian factor EPSILON/N*A</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">I</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">EPS</td><td>((M+1)*((I+1)*M+2)/2) SQRT((N**2-L**2)/(4*N**2-1)) </td></tr>
+    <tr><td class="paramname">EPSTOP</td><td>(M+1) SQRT((N**2-L**2)/(4*N**2-1)) OVER TOP </td></tr>
+    <tr><td class="paramname">ENN1</td><td>((M+1)*((I+1)*M+2)/2) N*(N+1)/A**2 </td></tr>
+    <tr><td class="paramname">ELONN1</td><td>((M+1)*((I+1)*M+2)/2) L/(N*(N+1))*A </td></tr>
+    <tr><td class="paramname">EON</td><td>((M+1)*((I+1)*M+2)/2) EPSILON/N*A </td></tr>
+    <tr><td class="paramname">EONTOP</td><td>(M+1) EPSILON/N*A OVER TOP</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="speps_8f_source.html#l00025">25</a> of file <a class="el" href="speps_8f_source.html">speps.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="speps_8f.html">speps.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/speps_8f.js b/speps_8f.js
new file mode 100644
index 00000000..48596d4c
--- /dev/null
+++ b/speps_8f.js
@@ -0,0 +1,4 @@
+var speps_8f =
+[
+    [ "speps", "speps_8f.html#a0ab523ec5e1393ffca970897e63a9131", null ]
+];
\ No newline at end of file
diff --git a/speps_8f_source.html b/speps_8f_source.html
new file mode 100644
index 00000000..1b2a8af4
--- /dev/null
+++ b/speps_8f_source.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: speps.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('speps_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">speps.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="speps_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Compute utility spectral fields.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell  @date 92-10-31</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Computes constant fields indexed in the spectral domain</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; in &quot;IBM ORDER&quot; (Zonal wavenumber is the slower index).</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; If L is the zonal wavenumber and N is the total wavenumber</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; and A is the earth radius, then the fields returned are:</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; - (1) normalizing factor EPSILON=SQRT((N**2-L**2)/(4*N**2-1))</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; - (2) Laplacian factor N*(N+1)/A**2</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; - (3) zonal derivative/Laplacian factor L/(N*(N+1))*A</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; - (4) Meridional derivative/Laplacian factor EPSILON/N*A</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; @param I spectral domain shape (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @param M spectral truncation</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; @param EPS ((M+1)*((I+1)*M+2)/2) SQRT((N**2-L**2)/(4*N**2-1))</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param EPSTOP (M+1) SQRT((N**2-L**2)/(4*N**2-1)) OVER TOP</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param ENN1 ((M+1)*((I+1)*M+2)/2) N*(N+1)/A**2</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; @param ELONN1 ((M+1)*((I+1)*M+2)/2) L/(N*(N+1))*A</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param EON ((M+1)*((I+1)*M+2)/2) EPSILON/N*A</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param EONTOP (M+1) EPSILON/N*A OVER TOP</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @author Iredell  @date 92-10-31</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131">   25</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131">speps</a>(I,M,EPS,EPSTOP,ENN1,ELONN1,EON,EONTOP)</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keywordtype">      REAL</span> EPS((M+1)*((I+1)*M+2)/2),EPSTOP(M+1)</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keywordtype">      REAL</span> ENN1((M+1)*((I+1)*M+2)/2),ELONN1((M+1)*((I+1)*M+2)/2)</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keywordtype">      REAL</span> EON((M+1)*((I+1)*M+2)/2),EONTOP(M+1)</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;      parameter(rerth=6.3712e6,ra2=1./rerth**2)</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;      <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        k=l*(2*m+(i-1)*(l-1))/2+l+1</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        eps(k)=0.</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        enn1(k)=ra2*l*(l+1)</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        elonn1(k)=rerth/(l+1)</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        eon(k)=0.</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;      <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keywordflow">DO</span> n=l+1,i*l+m</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;          k=l*(2*m+(i-1)*(l-1))/2+n+1</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;          eps(k)=sqrt(float(n**2-l**2)/float(4*n**2-1))</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;          enn1(k)=ra2*n*(n+1)</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;          elonn1(k)=rerth*l/(n*(n+1))</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;          eon(k)=rerth/n*eps(k)</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        n=i*l+m+1</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        epstop(l+1)=sqrt(float(n**2-l**2)/float(4*n**2-1))</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        eontop(l+1)=rerth/n*epstop(l+1)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspeps_8f_html_a0ab523ec5e1393ffca970897e63a9131"><div class="ttname"><a href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131">speps</a></div><div class="ttdeci">subroutine speps(I, M, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">Computes constant fields indexed in the spectral domain in &quot;IBM ORDER&quot; (Zonal wavenumber is the slowe...</div><div class="ttdef"><b>Definition:</b> <a href="speps_8f_source.html#l00025">speps.f:26</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="speps_8f.html">speps.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spfft1_8f.html b/spfft1_8f.html
new file mode 100644
index 00000000..4ab7b4fc
--- /dev/null
+++ b/spfft1_8f.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spfft1.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spfft1_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spfft1.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform multiple fast Fourier transforms.  
+<a href="#details">More...</a></p>
+
+<p><a href="spfft1_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ac63643472eda83948c0b249b611346d6"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spfft1_8f.html#ac63643472eda83948c0b249b611346d6">spfft1</a> (IMAX, INCW, INCG, KMAX, W, G, IDIR)</td></tr>
+<tr class="memdesc:ac63643472eda83948c0b249b611346d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space and real values in cyclic physical space.  <a href="spfft1_8f.html#ac63643472eda83948c0b249b611346d6">More...</a><br /></td></tr>
+<tr class="separator:ac63643472eda83948c0b249b611346d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform multiple fast Fourier transforms. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spfft1_8f_source.html">spfft1.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ac63643472eda83948c0b249b611346d6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac63643472eda83948c0b249b611346d6">&#9670;&nbsp;</a></span>spfft1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spfft1 </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>INCW</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>INCG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">complex, dimension(incw,kmax), intent(inout)&#160;</td>
+          <td class="paramname"><em>W</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(incg,kmax), intent(inout)&#160;</td>
+          <td class="paramname"><em>G</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space and real values in cyclic physical space. </p>
+<p>Subprogram <a class="el" href="spfft1_8f.html#ac63643472eda83948c0b249b611346d6" title="This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space...">spfft1()</a> initializes trigonometric data each call. Use subprogram <a class="el" href="spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d" title="This subprogram performs multiple fast fourier transforms between complex amplitudes in fourier space...">spfft()</a> to save time and initialize once. This version invokes the IBM ESSL FFT.</p>
+<dl class="section note"><dt>Note</dt><dd>The restrictions on IMAX are that it must be a multiple of 1 to 25 factors of two, up to 2 factors of three, and up to 1 factor of five, seven and eleven.</dd>
+<dd>
+This subprogram is thread-safe.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>number of values in the cyclic physical space (see limitations on imax in remarks below.) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">INCW</td><td>first dimension of the complex amplitude array (INCW &gt;= IMAX/2+1) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">INCG</td><td>first dimension of the real value array (INCG &gt;= IMAX) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of transforms to perform </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">W</td><td>complex amplitudes if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">G</td><td>values if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>direction flag<ul>
+<li>IDIR&gt;0 to transform from Fourier to physical space</li>
+<li>IDIR&lt;0 to transform from physical to Fourier space</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spfft1_8f_source.html#l00032">32</a> of file <a class="el" href="spfft1_8f_source.html">spfft1.f</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00080">scrft()</a>, and <a class="el" href="fftpack_8F_source.html#l00209">srcft()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spfft1_8f.html">spfft1.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spfft1_8f.js b/spfft1_8f.js
new file mode 100644
index 00000000..d459d959
--- /dev/null
+++ b/spfft1_8f.js
@@ -0,0 +1,4 @@
+var spfft1_8f =
+[
+    [ "spfft1", "spfft1_8f.html#ac63643472eda83948c0b249b611346d6", null ]
+];
\ No newline at end of file
diff --git a/spfft1_8f_source.html b/spfft1_8f_source.html
new file mode 100644
index 00000000..ff1f1efe
--- /dev/null
+++ b/spfft1_8f_source.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spfft1.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spfft1_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spfft1.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spfft1_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform multiple fast Fourier transforms.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs multiple fast Fourier transforms</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; between complex amplitudes in Fourier space and real values</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; in cyclic physical space.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; Subprogram spfft1() initializes trigonometric data each call.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; Use subprogram spfft() to save time and initialize once.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; This version invokes the IBM ESSL FFT.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; @note The restrictions on IMAX are that it must be a multiple of 1</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; to 25 factors of two, up to 2 factors of three, and up to 1 factor of</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; five, seven and eleven.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; @note This subprogram is thread-safe.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param IMAX number of values in the cyclic physical space</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; (see limitations on imax in remarks below.)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param INCW first dimension of the complex amplitude array</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; (INCW &gt;= IMAX/2+1)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param INCG first dimension of the real value array (INCG &gt;= IMAX)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param KMAX number of transforms to perform</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param[out] W complex amplitudes if IDIR&gt;0</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param[out] G values if IDIR&lt;0</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param IDIR direction flag</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; - IDIR&gt;0 to transform from Fourier to physical space</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; - IDIR&lt;0 to transform from physical to Fourier space</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="spfft1_8f.html#ac63643472eda83948c0b249b611346d6">   32</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spfft1_8f.html#ac63643472eda83948c0b249b611346d6">spfft1</a>(IMAX,INCW,INCG,KMAX,W,G,IDIR)</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keywordtype">INTEGER</span>,<span class="keywordtype">INTENT(IN)</span>:: IMAX,INCW,INCG,KMAX,IDIR</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keywordtype">COMPLEX</span>,<span class="keywordtype">INTENT(INOUT)</span>:: W(INCW,KMAX)</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(INOUT)</span>:: G(INCG,KMAX)</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keywordtype">        REAL</span>:: AUX1(25000+INT(0.82*IMAX))</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordtype">        REAL</span>:: AUX2(20000+INT(0.57*IMAX))</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keywordtype">INTEGER</span>:: NAUX1,NAUX2</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        naux1=25000+int(0.82*imax)</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        naux2=20000+int(0.57*imax)</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C  FOURIER TO PHYSICAL TRANSFORM.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keywordflow">SELECT CASE</span>(idir)</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;          <span class="keywordflow">CASE</span>(1:)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;            <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a>(1,w,incw,g,incg,imax,kmax,-1,1.,</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;     &amp;                 aux1,naux1,aux2,naux2,0.,0)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;            <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a>(0,w,incw,g,incg,imax,kmax,-1,1.,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;     &amp;                 aux1,naux1,aux2,naux2,0.,0)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C  PHYSICAL TO FOURIER TRANSFORM.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;          <span class="keywordflow">CASE</span>(:-1)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;            <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a>(1,g,incg,w,incw,imax,kmax,+1,1./imax,</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;     &amp;               aux1,naux1,aux2,naux2,0.,0)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;            <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a>(0,g,incg,w,incw,imax,kmax,+1,1./imax,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;     &amp;               aux1,naux1,aux2,naux2,0.,0)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keywordflow">        END SELECT</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">END SUBROUTINE</span></div>
+<div class="ttc" id="afftpack_8F_html_ac69cbd64be972c20a4424f5327fb4b36"><div class="ttname"><a href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a></div><div class="ttdeci">subroutine scrft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">scrft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00078">fftpack.F:80</a></div></div>
+<div class="ttc" id="afftpack_8F_html_acf248c4f27a9fa81cffdfded50eee742"><div class="ttname"><a href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a></div><div class="ttdeci">subroutine srcft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">srcft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00207">fftpack.F:209</a></div></div>
+<div class="ttc" id="aspfft1_8f_html_ac63643472eda83948c0b249b611346d6"><div class="ttname"><a href="spfft1_8f.html#ac63643472eda83948c0b249b611346d6">spfft1</a></div><div class="ttdeci">subroutine spfft1(IMAX, INCW, INCG, KMAX, W, G, IDIR)</div><div class="ttdoc">This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space...</div><div class="ttdef"><b>Definition:</b> <a href="spfft1_8f_source.html#l00032">spfft1.f:33</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spfft1_8f.html">spfft1.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spfft_8f.html b/spfft_8f.html
new file mode 100644
index 00000000..6b9a9edf
--- /dev/null
+++ b/spfft_8f.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spfft.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spfft_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spfft.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform multiple fast fourier transforms.  
+<a href="#details">More...</a></p>
+
+<p><a href="spfft_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a1041af8ac4f6a2407b5b7a799a13fb5d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d">spfft</a> (IMAX, INCW, INCG, KMAX, W, G, IDIR)</td></tr>
+<tr class="memdesc:a1041af8ac4f6a2407b5b7a799a13fb5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs multiple fast fourier transforms between complex amplitudes in fourier space and real values in cyclic physical space.  <a href="spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d">More...</a><br /></td></tr>
+<tr class="separator:a1041af8ac4f6a2407b5b7a799a13fb5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform multiple fast fourier transforms. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spfft_8f_source.html">spfft.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a1041af8ac4f6a2407b5b7a799a13fb5d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1041af8ac4f6a2407b5b7a799a13fb5d">&#9670;&nbsp;</a></span>spfft()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spfft </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>INCW</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>INCG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">complex, dimension(incw,kmax), intent(inout)&#160;</td>
+          <td class="paramname"><em>W</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(incg,kmax), intent(inout)&#160;</td>
+          <td class="paramname"><em>G</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs multiple fast fourier transforms between complex amplitudes in fourier space and real values in cyclic physical space. </p>
+<p>Subprogram spfft must be invoked first with idir=0 to initialize trigonemetric data. Use subprogram spfft1 to perform an fft without previous initialization. This version invokes the ibm essl fft.</p>
+<p>The restrictions on imax are that it must be a multiple of 1 to 25 factors of two, up to 2 factors of three, and up to 1 factor of five, seven and eleven.</p>
+<p>If IDIR=0, then W and G need not contain any valid data. the other parameters must be supplied and cannot change in succeeding calls until the next time it is called with IDIR=0.</p>
+<p>This subprogram is not thread-safe when IDIR=0. On the other hand, when IDIR is not zero, it can be called from a threaded region.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>number of values in the cyclic physical space (see limitations on imax in remarks below.) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">INCW</td><td>first dimension of the complex amplitude array (INCW &gt;= IMAX/2+1) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">INCG</td><td>first dimension of the real value array (INCG &gt;= IMAX) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of transforms to perform </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">W</td><td>complex amplitudes if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">G</td><td>real values if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>direction flag<ul>
+<li>IDIR=0 to initialize internal trigonometric data</li>
+<li>IDIR&gt;0 TO transform from Fourier to physical space</li>
+<li>IDIR&lt;0 TO transform from physical to fourier space</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spfft_8f_source.html#l00040">40</a> of file <a class="el" href="spfft_8f_source.html">spfft.f</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00080">scrft()</a>, and <a class="el" href="fftpack_8F_source.html#l00209">srcft()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spfft_8f.html">spfft.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spfft_8f.js b/spfft_8f.js
new file mode 100644
index 00000000..f458e16b
--- /dev/null
+++ b/spfft_8f.js
@@ -0,0 +1,4 @@
+var spfft_8f =
+[
+    [ "spfft", "spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d", null ]
+];
\ No newline at end of file
diff --git a/spfft_8f_source.html b/spfft_8f_source.html
new file mode 100644
index 00000000..37cb9c8a
--- /dev/null
+++ b/spfft_8f_source.html
@@ -0,0 +1,177 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spfft.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spfft_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spfft.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spfft_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform multiple fast fourier transforms.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs multiple fast fourier transforms</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; between complex amplitudes in fourier space and real values</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; in cyclic physical space.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; Subprogram spfft must be invoked first with idir=0</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; to initialize trigonemetric data. Use subprogram spfft1</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; to perform an fft without previous initialization.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; This version invokes the ibm essl fft.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; The restrictions on imax are that it must be a multiple</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; of 1 to 25 factors of two, up to 2 factors of three,</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; and up to 1 factor of five, seven and eleven.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; If IDIR=0, then W and G need not contain any valid data.</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; the other parameters must be supplied and cannot change</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; in succeeding calls until the next time it is called with IDIR=0.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; This subprogram is not thread-safe when IDIR=0. On the other hand,</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; when IDIR is not zero, it can be called from a threaded region.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param IMAX number of values in the cyclic physical space</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; (see limitations on imax in remarks below.)</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param INCW first dimension of the complex amplitude array</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; (INCW &gt;= IMAX/2+1)</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param INCG first dimension of the real value array</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; (INCG &gt;= IMAX)</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param KMAX number of transforms to perform</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param[out] W complex amplitudes if IDIR&gt;0</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param[out] G real values if IDIR&lt;0</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param IDIR direction flag</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; - IDIR=0 to initialize internal trigonometric data</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; - IDIR&gt;0 TO transform from Fourier to physical space</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; - IDIR&lt;0 TO transform from physical to fourier space</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d">   40</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d">spfft</a>(IMAX,INCW,INCG,KMAX,W,G,IDIR)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keywordtype">INTEGER</span>,<span class="keywordtype">INTENT(IN)</span>:: IMAX,INCW,INCG,KMAX,IDIR</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keywordtype">COMPLEX</span>,<span class="keywordtype">INTENT(INOUT)</span>:: W(INCW,KMAX)</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(INOUT)</span>:: G(INCG,KMAX)</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keywordtype">INTEGER</span>,<span class="keywordtype">SAVE</span>:: NAUX1=0</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">SAVE</span>,<span class="keywordtype">ALLOCATABLE</span>:: AUX1CR(:),AUX1RC(:)</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keywordtype">INTEGER</span>:: NAUX2</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keywordtype">        REAL</span>:: AUX2(20000+INT(0.57*IMAX))</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        naux2=20000+int(0.57*imax)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C  INITIALIZATION.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C  ALLOCATE AND FILL AUXILIARY ARRAYS WITH TRIGONOMETRIC DATA</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keywordflow">SELECT CASE</span>(idir)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;          <span class="keywordflow">CASE</span>(0)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;            <span class="keywordflow">IF</span>(naux1.GT.0) <span class="keyword">DEALLOCATE</span>(aux1cr,aux1rc)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;            naux1=25000+int(0.82*imax)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;            <span class="keyword">ALLOCATE</span>(aux1cr(naux1),aux1rc(naux1))</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;            <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a>(1,w,incw,g,incg,imax,kmax,-1,1.,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;     &amp;                 aux1cr,naux1,aux2,naux2,0.,0)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;            <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a>(1,g,incg,w,incw,imax,kmax,+1,1./imax,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;     &amp;                 aux1rc,naux1,aux2,naux2,0.,0)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C  FOURIER TO PHYSICAL TRANSFORM.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;          <span class="keywordflow">CASE</span>(1:)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;            <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a>(0,w,incw,g,incg,imax,kmax,-1,1.,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;     &amp;                 aux1cr,naux1,aux2,naux2,0.,0)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C  PHYSICAL TO FOURIER TRANSFORM.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;          <span class="keywordflow">CASE</span>(:-1)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;            <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a>(0,g,incg,w,incw,imax,kmax,+1,1./imax,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;     &amp;                 aux1rc,naux1,aux2,naux2,0.,0)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordflow">        END SELECT</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keyword">END SUBROUTINE</span></div>
+<div class="ttc" id="afftpack_8F_html_ac69cbd64be972c20a4424f5327fb4b36"><div class="ttname"><a href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a></div><div class="ttdeci">subroutine scrft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">scrft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00078">fftpack.F:80</a></div></div>
+<div class="ttc" id="afftpack_8F_html_acf248c4f27a9fa81cffdfded50eee742"><div class="ttname"><a href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a></div><div class="ttdeci">subroutine srcft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">srcft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00207">fftpack.F:209</a></div></div>
+<div class="ttc" id="aspfft_8f_html_a1041af8ac4f6a2407b5b7a799a13fb5d"><div class="ttname"><a href="spfft_8f.html#a1041af8ac4f6a2407b5b7a799a13fb5d">spfft</a></div><div class="ttdeci">subroutine spfft(IMAX, INCW, INCG, KMAX, W, G, IDIR)</div><div class="ttdoc">This subprogram performs multiple fast fourier transforms between complex amplitudes in fourier space...</div><div class="ttdef"><b>Definition:</b> <a href="spfft_8f_source.html#l00040">spfft.f:41</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spfft_8f.html">spfft.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spffte_8f.html b/spffte_8f.html
new file mode 100644
index 00000000..34bf6596
--- /dev/null
+++ b/spffte_8f.html
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spffte.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spffte_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spffte.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform multiple fast Fourier transforms.  
+<a href="#details">More...</a></p>
+
+<p><a href="spffte_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:af06489254bd3e99030b39744fce32233"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte</a> (IMAX, INCW, INCG, KMAX, W, G, IDIR, AFFT)</td></tr>
+<tr class="memdesc:af06489254bd3e99030b39744fce32233"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space and real values in cyclic physical space.  <a href="spffte_8f.html#af06489254bd3e99030b39744fce32233">More...</a><br /></td></tr>
+<tr class="separator:af06489254bd3e99030b39744fce32233"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform multiple fast Fourier transforms. </p>
+<h3><a class="anchor" id="autotoc_md52"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">1998-12-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2012-11-12   </td><td class="markdownTableBodyNone">Mirvis   </td><td class="markdownTableBodyNone">fixing hard-wired types problem on Intel/Linux.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spffte_8f_source.html">spffte.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="af06489254bd3e99030b39744fce32233"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af06489254bd3e99030b39744fce32233">&#9670;&nbsp;</a></span>spffte()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spffte </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>INCW</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>INCG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*incw,kmax), intent(inout)&#160;</td>
+          <td class="paramname"><em>W</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(incg,kmax), intent(inout)&#160;</td>
+          <td class="paramname"><em>G</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IDIR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(8), dimension(50000+4*imax), intent(inout)&#160;</td>
+          <td class="paramname"><em>AFFT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space and real values in cyclic physical space. </p>
+<p>This subprogram must be invoked first with IDIR=0 to initialize trigonemetric data. Use subprogram <a class="el" href="spfft1_8f.html#ac63643472eda83948c0b249b611346d6" title="This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space...">spfft1()</a> to perform an FFT without previous initialization.</p>
+<p>This version invokes the IBM ESSL FFT.</p>
+<dl class="section note"><dt>Note</dt><dd>The restrictions on IMAX are that it must be a multiple of 1 to 25 factors of two, up to 2 factors of three, and up to 1 factor of five, seven and eleven.</dd></dl>
+<p>If IDIR=0, then W and G need not contain any valid data. The other parameters must be supplied and cannot change in succeeding calls until the next time it is called with IDIR=0.</p>
+<p>This subprogram is thread-safe.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>number of values in the cyclic physical space (see limitations on imax in remarks below.) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">INCW</td><td>first dimension of the complex amplitude array (INCW &gt;= IMAX/2+1) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">INCG</td><td>first dimension of the real value array (INCG &gt;= IMAX) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of transforms to perform </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">W</td><td>complex amplitudes if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">G</td><td>real values if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>direction flag<ul>
+<li>IDIR=0 to initialize trigonometric data</li>
+<li>IDIR&gt;0 to transform from Fourier to physical space</li>
+<li>IDIR&lt;0 to transform from physical to Fourier space </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">AFFT</td><td>auxiliary array if IDIR&lt;&gt;0</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spffte_8f_source.html#l00048">48</a> of file <a class="el" href="spffte_8f_source.html">spffte.f</a>.</p>
+
+<p class="reference">References <a class="el" href="fftpack_8F_source.html#l00034">dcrft()</a>, <a class="el" href="fftpack_8F_source.html#l00160">drcft()</a>, <a class="el" href="fftpack_8F_source.html#l00080">scrft()</a>, and <a class="el" href="fftpack_8F_source.html#l00209">srcft()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptranf0_8f_source.html#l00037">sptranf0()</a>, and <a class="el" href="sptranf1_8f_source.html#l00044">sptranf1()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spffte_8f.html">spffte.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spffte_8f.js b/spffte_8f.js
new file mode 100644
index 00000000..34e90bee
--- /dev/null
+++ b/spffte_8f.js
@@ -0,0 +1,4 @@
+var spffte_8f =
+[
+    [ "spffte", "spffte_8f.html#af06489254bd3e99030b39744fce32233", null ]
+];
\ No newline at end of file
diff --git a/spffte_8f_source.html b/spffte_8f_source.html
new file mode 100644
index 00000000..463652f3
--- /dev/null
+++ b/spffte_8f_source.html
@@ -0,0 +1,237 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spffte.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spffte_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spffte.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spffte_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform multiple fast Fourier transforms.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 1998-12-18 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 2012-11-12 | Mirvis | fixing hard-wired types problem on Intel/Linux.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; This subprogram performs multiple fast Fourier transforms</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; between complex amplitudes in Fourier space and real values</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; in cyclic physical space.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; This subprogram must be invoked first with IDIR=0</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; to initialize trigonemetric data. Use subprogram spfft1()</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; to perform an FFT without previous initialization.</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; This version invokes the IBM ESSL FFT.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @note The restrictions on IMAX are that it must be a multiple</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; of 1 to 25 factors of two, up to 2 factors of three,</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; and up to 1 factor of five, seven and eleven.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; If IDIR=0, then W and G need not contain any valid data.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; The other parameters must be supplied and cannot change</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; in succeeding calls until the next time it is called with IDIR=0.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; This subprogram is thread-safe.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param IMAX number of values in the cyclic physical space</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; (see limitations on imax in remarks below.)</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param INCW first dimension of the complex amplitude array</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; (INCW &gt;= IMAX/2+1)</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param INCG first dimension of the real value array</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; (INCG &gt;= IMAX)</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param KMAX number of transforms to perform</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param[out] W complex amplitudes if IDIR&gt;0</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param[out] G real values if IDIR&lt;0</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param IDIR  direction flag</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; - IDIR=0 to initialize trigonometric data</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; - IDIR&gt;0 to transform from Fourier to physical space</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; - IDIR&lt;0 to transform from physical to Fourier space</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param[out] AFFT auxiliary array if IDIR&lt;&gt;0</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="spffte_8f.html#af06489254bd3e99030b39744fce32233">   48</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte</a>(IMAX,INCW,INCG,KMAX,W,G,IDIR,AFFT)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keywordtype">INTEGER</span>,<span class="keywordtype">INTENT(IN)</span>:: IMAX,INCW,INCG,KMAX,IDIR</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(INOUT)</span>:: W(2*INCW,KMAX)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(INOUT)</span>:: G(INCG,KMAX)</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordtype">        REAL</span>(8),<span class="keywordtype">INTENT(INOUT)</span>:: AFFT(50000+4*IMAX)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keywordtype">INTEGER</span>:: INIT,INC2X,INC2Y,N,M,ISIGN,NAUX1,NAUX2,NAUX3</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C ==EM==       ^(4)</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">        REAL</span>:: SCALE</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">        REAL</span>(8):: AUX2(20000+2*IMAX),AUX3</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keywordtype">INTEGER</span>:: IACR,IARC</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        naux1=25000+2*imax</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        naux2=20000+2*imax</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        naux3=1</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        iacr=1</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        iarc=1+naux1</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C  INITIALIZATION.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C  FILL AUXILIARY ARRAYS WITH TRIGONOMETRIC DATA</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        <span class="keywordflow">SELECT CASE</span>(idir)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;          <span class="keywordflow">CASE</span>(0)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;            init=1</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;            inc2x=incw</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;            inc2y=incg</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;            n=imax</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;            m=kmax</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;            isign=-1</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;            scale=1.</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;            <span class="keywordflow">IF</span>(digits(1.).LT.digits(1._8)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;              <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a>(init,w,inc2x,g,inc2y,n,m,isign,scale,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;     &amp;                   afft(iacr),naux1,aux2,naux2,aux3,naux3)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;            <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;              <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">dcrft</a>(init,w,inc2x,g,inc2y,n,m,isign,scale,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;     &amp;                   afft(iacr),naux1,aux2,naux2)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;            init=1</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;            inc2x=incg</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            inc2y=incw</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;            n=imax</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;            m=kmax</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;            isign=+1</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;            scale=1./imax</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;            <span class="keywordflow">IF</span>(digits(1.).LT.digits(1._8)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;              <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a>(init,g,inc2x,w,inc2y,n,m,isign,scale,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;     &amp;                   afft(iarc),naux1,aux2,naux2,aux3,naux3)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;            <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;              <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">drcft</a>(init,g,inc2x,w,inc2y,n,m,isign,scale,</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;     &amp;                   afft(iarc),naux1,aux2,naux2)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">C  FOURIER TO PHYSICAL TRANSFORM.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;          <span class="keywordflow">CASE</span>(1:)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;            init=0</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;            inc2x=incw</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;            inc2y=incg</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;            n=imax</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;            m=kmax</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;            isign=-1</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;            scale=1.</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;            <span class="keywordflow">IF</span>(digits(1.).LT.digits(1._8)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;              <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a>(init,w,inc2x,g,inc2y,n,m,isign,scale,</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;     &amp;                   afft(iacr),naux1,aux2,naux2,aux3,naux3)</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;            <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;              <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">dcrft</a>(init,w,inc2x,g,inc2y,n,m,isign,scale,</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;     &amp;                   afft(iacr),naux1,aux2,naux2)</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">C  PHYSICAL TO FOURIER TRANSFORM.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;          <span class="keywordflow">CASE</span>(:-1)</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;            init=0</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;            inc2x=incg</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;            inc2y=incw</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;            n=imax</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;            m=kmax</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;            isign=+1</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;            scale=1./imax</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;            <span class="keywordflow">IF</span>(digits(1.).LT.digits(1._8)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;              <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a>(init,g,inc2x,w,inc2y,n,m,isign,scale,</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;     &amp;                   afft(iarc),naux1,aux2,naux2,aux3,naux3)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;            <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;              <span class="keyword">CALL </span><a class="code" href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">drcft</a>(init,g,inc2x,w,inc2y,n,m,isign,scale,</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;     &amp;                   afft(iarc),naux1,aux2,naux2)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordflow">        END SELECT</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keyword">END SUBROUTINE</span></div>
+<div class="ttc" id="afftpack_8F_html_a55b05419c0d3bb0595b34c8cacf93be8"><div class="ttname"><a href="fftpack_8F.html#a55b05419c0d3bb0595b34c8cacf93be8">drcft</a></div><div class="ttdeci">subroutine drcft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">drcft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00158">fftpack.F:160</a></div></div>
+<div class="ttc" id="afftpack_8F_html_a713ef445886ad8dc8b16692c6075d225"><div class="ttname"><a href="fftpack_8F.html#a713ef445886ad8dc8b16692c6075d225">dcrft</a></div><div class="ttdeci">subroutine dcrft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">dcrft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00032">fftpack.F:34</a></div></div>
+<div class="ttc" id="afftpack_8F_html_ac69cbd64be972c20a4424f5327fb4b36"><div class="ttname"><a href="fftpack_8F.html#ac69cbd64be972c20a4424f5327fb4b36">scrft</a></div><div class="ttdeci">subroutine scrft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">scrft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00078">fftpack.F:80</a></div></div>
+<div class="ttc" id="afftpack_8F_html_acf248c4f27a9fa81cffdfded50eee742"><div class="ttname"><a href="fftpack_8F.html#acf248c4f27a9fa81cffdfded50eee742">srcft</a></div><div class="ttdeci">subroutine srcft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)</div><div class="ttdoc">srcft</div><div class="ttdef"><b>Definition:</b> <a href="fftpack_8F_source.html#l00207">fftpack.F:209</a></div></div>
+<div class="ttc" id="aspffte_8f_html_af06489254bd3e99030b39744fce32233"><div class="ttname"><a href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte</a></div><div class="ttdeci">subroutine spffte(IMAX, INCW, INCG, KMAX, W, G, IDIR, AFFT)</div><div class="ttdoc">This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space...</div><div class="ttdef"><b>Definition:</b> <a href="spffte_8f_source.html#l00048">spffte.f:49</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spffte_8f.html">spffte.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spfftpt_8f.html b/spfftpt_8f.html
new file mode 100644
index 00000000..2a132f4a
--- /dev/null
+++ b/spfftpt_8f.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spfftpt.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spfftpt_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spfftpt.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute fourier transform to gridpoints.  
+<a href="#details">More...</a></p>
+
+<p><a href="spfftpt_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ad16e674ce87bd762a714853967f81356"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a> (M, N, INCW, INCG, KMAX, RLON, W, G)</td></tr>
+<tr class="memdesc:ad16e674ce87bd762a714853967f81356"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram computes a slow Fourier transform from Fourier space to a set of gridpoints.  <a href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">More...</a><br /></td></tr>
+<tr class="separator:ad16e674ce87bd762a714853967f81356"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute fourier transform to gridpoints. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spfftpt_8f_source.html">spfftpt.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ad16e674ce87bd762a714853967f81356"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad16e674ce87bd762a714853967f81356">&#9670;&nbsp;</a></span>spfftpt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spfftpt </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>INCW</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>INCG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(n), intent(in)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*incw,kmax), intent(in)&#160;</td>
+          <td class="paramname"><em>W</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(incg,kmax), intent(out)&#160;</td>
+          <td class="paramname"><em>G</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram computes a slow Fourier transform from Fourier space to a set of gridpoints. </p>
+<dl class="section note"><dt>Note</dt><dd>This subprogram is thread-safe.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">M</td><td>Fourier wavenumber truncation </td></tr>
+    <tr><td class="paramname">N</td><td>number of gridpoints </td></tr>
+    <tr><td class="paramname">INCW</td><td>first dimension of the complex amplitude array (INCW &gt;= M+1) </td></tr>
+    <tr><td class="paramname">INCG</td><td>first dimension of the gridpoint array (INCG &gt;= N) </td></tr>
+    <tr><td class="paramname">KMAX</td><td>number of Fourier fields </td></tr>
+    <tr><td class="paramname">RLON</td><td>grid longitudes in degrees </td></tr>
+    <tr><td class="paramname">W</td><td>Fourier amplitudes </td></tr>
+    <tr><td class="paramname">G</td><td>gridpoint values</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spfftpt_8f_source.html#l00022">22</a> of file <a class="el" href="spfftpt_8f_source.html">spfftpt.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgpt_8f_source.html#l00051">sptgpt()</a>, <a class="el" href="sptgptsd_8f_source.html#l00055">sptgptsd()</a>, <a class="el" href="sptgptv_8f_source.html#l00054">sptgptv()</a>, and <a class="el" href="sptgptvd_8f_source.html#l00070">sptgptvd()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spfftpt_8f.html">spfftpt.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spfftpt_8f.js b/spfftpt_8f.js
new file mode 100644
index 00000000..a4e4b804
--- /dev/null
+++ b/spfftpt_8f.js
@@ -0,0 +1,4 @@
+var spfftpt_8f =
+[
+    [ "spfftpt", "spfftpt_8f.html#ad16e674ce87bd762a714853967f81356", null ]
+];
\ No newline at end of file
diff --git a/spfftpt_8f_source.html b/spfftpt_8f_source.html
new file mode 100644
index 00000000..5d0ac32a
--- /dev/null
+++ b/spfftpt_8f_source.html
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spfftpt.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spfftpt_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spfftpt.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spfftpt_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Compute fourier transform to gridpoints.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram computes a slow Fourier transform</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; from Fourier space to a set of gridpoints.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; @note This subprogram is thread-safe.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @param M Fourier wavenumber truncation</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @param N number of gridpoints</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @param INCW first dimension of the complex amplitude array</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; (INCW &gt;= M+1)</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; @param INCG first dimension of the gridpoint array</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; (INCG &gt;= N)</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @param KMAX number of Fourier fields</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; @param RLON grid longitudes in degrees</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param W Fourier amplitudes</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param G gridpoint values</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">   22</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a>(M,N,INCW,INCG,KMAX,RLON,W,G)</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        <span class="keywordtype">INTEGER</span>,<span class="keywordtype">INTENT(IN)</span>:: M,N,INCW,INCG,KMAX</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(IN)</span>:: RLON(N)</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(IN)</span>:: W(2*INCW,KMAX)</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(OUT)</span>:: G(INCG,KMAX)</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keywordtype">INTEGER</span> I,K,L</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keywordtype">        REAL</span> RADLON,SLON(M),CLON(M)</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">PARAMETER</span>:: PI=3.14159265358979</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keywordflow">DO</span> i=1,n</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;          radlon=pi/180*rlon(i)</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;          <span class="keywordflow">DO</span> l=1,m</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;            slon(l)=sin(l*radlon)</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;            clon(l)=cos(l*radlon)</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;          <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;            g(i,k)=w(1,k)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;          <span class="keywordflow">DO</span> l=1,m</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;            <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;              g(i,k)=g(i,k)+2.*(w(2*l+1,k)*clon(l)-w(2*l+2,k)*slon(l))</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">END SUBROUTINE</span></div>
+<div class="ttc" id="aspfftpt_8f_html_ad16e674ce87bd762a714853967f81356"><div class="ttname"><a href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a></div><div class="ttdeci">subroutine spfftpt(M, N, INCW, INCG, KMAX, RLON, W, G)</div><div class="ttdoc">This subprogram computes a slow Fourier transform from Fourier space to a set of gridpoints.</div><div class="ttdef"><b>Definition:</b> <a href="spfftpt_8f_source.html#l00022">spfftpt.f:23</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spfftpt_8f.html">spfftpt.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spgradq_8f.html b/spgradq_8f.html
new file mode 100644
index 00000000..bba0b0aa
--- /dev/null
+++ b/spgradq_8f.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spgradq.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spgradq_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spgradq.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute gradient in spectral space.  
+<a href="#details">More...</a></p>
+
+<p><a href="spgradq_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a0bb358cf2a405ce9f17c6e5dfde65849"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849">spgradq</a> (I, M, ENN1, ELONN1, EON, EONTOP, Q, QDX, QDY, QDYTOP)</td></tr>
+<tr class="memdesc:a0bb358cf2a405ce9f17c6e5dfde65849"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the horizontal vector gradient of a scalar field in spectral space.  <a href="spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849">More...</a><br /></td></tr>
+<tr class="separator:a0bb358cf2a405ce9f17c6e5dfde65849"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute gradient in spectral space. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spgradq_8f_source.html">spgradq.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a0bb358cf2a405ce9f17c6e5dfde65849"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0bb358cf2a405ce9f17c6e5dfde65849">&#9670;&nbsp;</a></span>spgradq()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spgradq </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ENN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ELONN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>EON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>EONTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>Q</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>QDX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>QDY</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*(m+1))&#160;</td>
+          <td class="paramname"><em>QDYTOP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Computes the horizontal vector gradient of a scalar field in spectral space. </p>
+<p>Subprogram <a class="el" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131" title="Computes constant fields indexed in the spectral domain in &quot;IBM ORDER&quot; (Zonal wavenumber is the slowe...">speps()</a> should be called already.</p>
+<p>If l is the zonal wavenumber, n is the total wavenumber, eps(l,n)=sqrt((n**2-l**2)/(4*n**2-1)) and a is earth radius, then the zonal gradient of q(l,n) is simply i*l/a*q(l,n) while the meridional gradient of q(l,n) is computed as eps(l,n+1)*(n+2)/a*q(l,n+1)-eps(l,n+1)*(n-1)/a*q(l,n-1).</p>
+<p>Extra terms are computed over top of the spectral domain.</p>
+<p>Advantage is taken of the fact that eps(l,l)=0 in order to vectorize over the entire spectral domain.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">I</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">ENN1</td><td></td></tr>
+    <tr><td class="paramname">ELONN1</td><td></td></tr>
+    <tr><td class="paramname">EON</td><td>EPSILON/N*A </td></tr>
+    <tr><td class="paramname">EONTOP</td><td>EPSILON/N*A over top </td></tr>
+    <tr><td class="paramname">Q</td><td>scalar field </td></tr>
+    <tr><td class="paramname">QDX</td><td>zonal gradient (times coslat) </td></tr>
+    <tr><td class="paramname">QDY</td><td>merid gradient (times coslat) </td></tr>
+    <tr><td class="paramname">QDYTOP</td><td>merid gradient (times coslat) over top</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spgradq_8f_source.html#l00033">33</a> of file <a class="el" href="spgradq_8f_source.html">spgradq.f</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spgradq_8f.html">spgradq.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spgradq_8f.js b/spgradq_8f.js
new file mode 100644
index 00000000..f2dc8b8f
--- /dev/null
+++ b/spgradq_8f.js
@@ -0,0 +1,4 @@
+var spgradq_8f =
+[
+    [ "spgradq", "spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849", null ]
+];
\ No newline at end of file
diff --git a/spgradq_8f_source.html b/spgradq_8f_source.html
new file mode 100644
index 00000000..6917638a
--- /dev/null
+++ b/spgradq_8f_source.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spgradq.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spgradq_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spgradq.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spgradq_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Compute gradient in spectral space.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Computes the horizontal vector gradient of a scalar field</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; in spectral space.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; Subprogram speps() should be called already.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; If l is the zonal wavenumber, n is the total wavenumber,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; eps(l,n)=sqrt((n**2-l**2)/(4*n**2-1)) and a is earth radius,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; then the zonal gradient of q(l,n) is simply i*l/a*q(l,n)</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; while the meridional gradient of q(l,n) is computed as</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; eps(l,n+1)*(n+2)/a*q(l,n+1)-eps(l,n+1)*(n-1)/a*q(l,n-1).</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; Extra terms are computed over top of the spectral domain.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; Advantage is taken of the fact that eps(l,l)=0</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; in order to vectorize over the entire spectral domain.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param I spectral domain shape (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param M spectral truncation</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param ENN1 </span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param ELONN1 </span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param EON EPSILON/N*A</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param EONTOP EPSILON/N*A over top</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param Q scalar field</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param QDX zonal gradient (times coslat)</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param QDY merid gradient (times coslat)</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param QDYTOP merid gradient (times coslat) over top</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @author IREDELL @date 92-10-31</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849">   33</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849">spgradq</a>(I,M,ENN1,ELONN1,EON,EONTOP,Q,QDX,QDY,QDYTOP)</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keywordtype">      REAL</span> ENN1((M+1)*((I+1)*M+2)/2),ELONN1((M+1)*((I+1)*M+2)/2)</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keywordtype">      REAL</span> EON((M+1)*((I+1)*M+2)/2),EONTOP(M+1)</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keywordtype">      REAL</span> Q((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordtype">      REAL</span> QDX((M+1)*((I+1)*M+2)),QDY((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keywordtype">      REAL</span> QDYTOP(2*(M+1))</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C  TAKE ZONAL AND MERIDIONAL GRADIENTS</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;      k=1</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      qdx(2*k-1)=0.</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;      qdx(2*k)=0.</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;      qdy(2*k-1)=eon(k+1)*enn1(k+1)*q(2*k+1)</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      qdy(2*k)=eon(k+1)*enn1(k+1)*q(2*k+2)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      <span class="keywordflow">DO</span> k=2,(m+1)*((i+1)*m+2)/2-1</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        qdx(2*k-1)=-elonn1(k)*enn1(k)*q(2*k)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        qdx(2*k)=elonn1(k)*enn1(k)*q(2*k-1)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        qdy(2*k-1)=eon(k+1)*enn1(k+1)*q(2*k+1)-eon(k)*enn1(k-1)*q(2*k-3)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        qdy(2*k)=eon(k+1)*enn1(k+1)*q(2*k+2)-eon(k)*enn1(k-1)*q(2*k-2)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      k=(m+1)*((i+1)*m+2)/2</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      qdx(2*k-1)=-elonn1(k)*enn1(k)*q(2*k)</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      qdx(2*k)=elonn1(k)*enn1(k)*q(2*k-1)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      qdy(2*k-1)=-eon(k)*enn1(k-1)*q(2*k-3)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      qdy(2*k)=-eon(k)*enn1(k-1)*q(2*k-2)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C  TAKE MERIDIONAL GRADIENT OVER TOP</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        k=l*(2*m+(i-1)*(l-1))/2+i*l+m+1</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        qdytop(2*l+1)=-eontop(l+1)*enn1(k)*q(2*k-1)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        qdytop(2*l+2)=-eontop(l+1)*enn1(k)*q(2*k)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspgradq_8f_html_a0bb358cf2a405ce9f17c6e5dfde65849"><div class="ttname"><a href="spgradq_8f.html#a0bb358cf2a405ce9f17c6e5dfde65849">spgradq</a></div><div class="ttdeci">subroutine spgradq(I, M, ENN1, ELONN1, EON, EONTOP, Q, QDX, QDY, QDYTOP)</div><div class="ttdoc">Computes the horizontal vector gradient of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spgradq_8f_source.html#l00033">spgradq.f:34</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spgradq_8f.html">spgradq.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spgradx_8f.html b/spgradx_8f.html
new file mode 100644
index 00000000..b239b9d5
--- /dev/null
+++ b/spgradx_8f.html
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spgradx.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spgradx_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spgradx.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute x-gradient in Fourier space.  
+<a href="#details">More...</a></p>
+
+<p><a href="spgradx_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a749bc07e763e9cd44490fff2284d00b4"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">spgradx</a> (M, INCW, KMAX, MP, CLAT, W, WX)</td></tr>
+<tr class="memdesc:a749bc07e763e9cd44490fff2284d00b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram computes the x-gradient of fields in complex Fourier space.  <a href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">More...</a><br /></td></tr>
+<tr class="separator:a749bc07e763e9cd44490fff2284d00b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute x-gradient in Fourier space. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spgradx_8f_source.html">spgradx.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a749bc07e763e9cd44490fff2284d00b4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a749bc07e763e9cd44490fff2284d00b4">&#9670;&nbsp;</a></span>spgradx()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spgradx </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>INCW</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(kmax), intent(in)&#160;</td>
+          <td class="paramname"><em>MP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>CLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*incw,kmax), intent(inout)&#160;</td>
+          <td class="paramname"><em>W</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*incw,kmax), intent(out)&#160;</td>
+          <td class="paramname"><em>WX</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram computes the x-gradient of fields in complex Fourier space. </p>
+<p>The x-gradient of a vector field W is WX=CONJG(W)*L/RERTH where L is the wavenumber and RERTH is the Earth radius, so that the result is the x-gradient of the pseudo-vector.</p>
+<p>The x-gradient of a scalar field W is WX=CONJG(W)*L/(RERTH*CLAT) where CLAT is the cosine of latitude.</p>
+<p>At the pole this is undefined, so the way to get the x-gradient at the pole is by passing both the weighted wavenumber 0 and the unweighted wavenumber 1 amplitudes at the pole and setting MP=10. In this case, the wavenumber 1 amplitudes are used to compute the x-gradient and then zeroed out.</p>
+<dl class="section note"><dt>Note</dt><dd>This subprogram is thread-safe.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">M</td><td>Fourier wavenumber truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">INCW</td><td>first dimension of the complex amplitude array (INCW &gt;= M+1) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of Fourier fields </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MP</td><td>identifiers (0 or 10 for scalar, 1 for vector) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">CLAT</td><td>cosine of latitude </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">W</td><td>Fourier amplitudes corrected when MP=10 and CLAT=0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WX</td><td>complex amplitudes of x-gradients</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spgradx_8f_source.html#l00037">37</a> of file <a class="el" href="spgradx_8f_source.html">spgradx.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgptsd_8f_source.html#l00055">sptgptsd()</a>, and <a class="el" href="sptgptvd_8f_source.html#l00070">sptgptvd()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spgradx_8f.html">spgradx.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spgradx_8f.js b/spgradx_8f.js
new file mode 100644
index 00000000..b419f805
--- /dev/null
+++ b/spgradx_8f.js
@@ -0,0 +1,4 @@
+var spgradx_8f =
+[
+    [ "spgradx", "spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4", null ]
+];
\ No newline at end of file
diff --git a/spgradx_8f_source.html b/spgradx_8f_source.html
new file mode 100644
index 00000000..59190c5b
--- /dev/null
+++ b/spgradx_8f_source.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spgradx.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spgradx_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spgradx.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spgradx_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Compute x-gradient in Fourier space</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-20</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram computes the x-gradient of fields</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; in complex Fourier space.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; The x-gradient of a vector field W is</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; WX=CONJG(W)*L/RERTH</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; where L is the wavenumber and RERTH is the Earth radius,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; so that the result is the x-gradient of the pseudo-vector.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; The x-gradient of a scalar field W is</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; WX=CONJG(W)*L/(RERTH*CLAT)</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; where CLAT is the cosine of latitude.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; At the pole this is undefined, so the way to get</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; the x-gradient at the pole is by passing both</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; the weighted wavenumber 0 and the unweighted wavenumber 1 </span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; amplitudes at the pole and setting MP=10.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; In this case, the wavenumber 1 amplitudes are used</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; to compute the x-gradient and then zeroed out.</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @note This subprogram is thread-safe.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param M Fourier wavenumber truncation</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param INCW first dimension of the complex amplitude array</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; (INCW &gt;= M+1)</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param KMAX number of Fourier fields</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param MP identifiers</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; (0 or 10 for scalar, 1 for vector)</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param CLAT cosine of latitude</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param[out] W Fourier amplitudes corrected when MP=10 and CLAT=0</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param[out] WX complex amplitudes of x-gradients</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-20</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">   37</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">spgradx</a>(M,INCW,KMAX,MP,CLAT,W,WX)</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keywordtype">INTEGER</span>,<span class="keywordtype">INTENT(IN)</span>:: M,INCW,KMAX,MP(KMAX)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(IN)</span>:: CLAT</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(INOUT)</span>:: W(2*INCW,KMAX)</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">INTENT(OUT)</span>:: WX(2*INCW,KMAX)</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keywordtype">INTEGER</span> K,L</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordtype">        REAL</span>,<span class="keywordtype">PARAMETER</span>:: RERTH=6.3712e6</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;          <span class="keywordflow">IF</span>(mp(k).EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;            <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;              wx(2*l+1,k)=-w(2*l+2,k)*(l/rerth)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;              wx(2*l+2,k)=+w(2*l+1,k)*(l/rerth)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;          <span class="keywordflow">ELSEIF</span>(clat.EQ.0.) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;            <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;              wx(2*l+1,k)=0</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;              wx(2*l+2,k)=0</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;            <span class="keywordflow">IF</span>(mp(k).EQ.10.AND.m.GE.2) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;              wx(3,k)=-w(4,k)/rerth</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;              wx(4,k)=+w(3,k)/rerth</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;              w(3,k)=0</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;              w(4,k)=0</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;            <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;              wx(2*l+1,k)=-w(2*l+2,k)*(l/(rerth*clat))</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;              wx(2*l+2,k)=+w(2*l+1,k)*(l/(rerth*clat))</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keyword">END SUBROUTINE</span></div>
+<div class="ttc" id="aspgradx_8f_html_a749bc07e763e9cd44490fff2284d00b4"><div class="ttname"><a href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">spgradx</a></div><div class="ttdeci">subroutine spgradx(M, INCW, KMAX, MP, CLAT, W, WX)</div><div class="ttdoc">This subprogram computes the x-gradient of fields in complex Fourier space.</div><div class="ttdef"><b>Definition:</b> <a href="spgradx_8f_source.html#l00037">spgradx.f:38</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spgradx_8f.html">spgradx.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spgrady_8f.html b/spgrady_8f.html
new file mode 100644
index 00000000..83ba029d
--- /dev/null
+++ b/spgrady_8f.html
@@ -0,0 +1,209 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spgrady.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spgrady_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spgrady.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute y-gradient in spectral space.  
+<a href="#details">More...</a></p>
+
+<p><a href="spgrady_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a1b3e38e56560de7d7dcf19ea3e931cf1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1">spgrady</a> (I, M, ENN1, EON, EONTOP, Q, QDY, QDYTOP)</td></tr>
+<tr class="memdesc:a1b3e38e56560de7d7dcf19ea3e931cf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the horizontal vector y-gradient of a scalar field in spectral space.  <a href="spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1">More...</a><br /></td></tr>
+<tr class="separator:a1b3e38e56560de7d7dcf19ea3e931cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute y-gradient in spectral space. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spgrady_8f_source.html">spgrady.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a1b3e38e56560de7d7dcf19ea3e931cf1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b3e38e56560de7d7dcf19ea3e931cf1">&#9670;&nbsp;</a></span>spgrady()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spgrady </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ENN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>EON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>EONTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>Q</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>QDY</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*(m+1))&#160;</td>
+          <td class="paramname"><em>QDYTOP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Computes the horizontal vector y-gradient of a scalar field in spectral space. </p>
+<p>Subprogram speps should be called already.</p>
+<p>If L is the zonal wavenumber, N is the total wavenumber, EPS(L,N)=SQRT((N**2-L**2)/(4*N**2-1)) and A is Earth radius, then the meridional gradient of Q(L,N) is computed as EPS(L,N+1)*(N+2)/A*Q(L,N+1)-EPS(L,N+1)*(N-1)/A*Q(L,N-1).</p>
+<p>Extra terms are computed over top of the spectral domain.</p>
+<p>Advantage is taken of the fact that EPS(L,L)=0 in order to vectorize over the entire spectral domain.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">I</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">ENN1</td><td>N*(N+1)/A**2 </td></tr>
+    <tr><td class="paramname">EON</td><td>EPSILON/N*A </td></tr>
+    <tr><td class="paramname">EONTOP</td><td>EPSILON/N*A over top </td></tr>
+    <tr><td class="paramname">Q</td><td>scalar field </td></tr>
+    <tr><td class="paramname">QDY</td><td>merid gradient (times coslat) </td></tr>
+    <tr><td class="paramname">QDYTOP</td><td>merid gradient (times coslat) over top</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spgrady_8f_source.html#l00031">31</a> of file <a class="el" href="spgrady_8f_source.html">spgrady.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgptsd_8f_source.html#l00055">sptgptsd()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spgrady_8f.html">spgrady.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spgrady_8f.js b/spgrady_8f.js
new file mode 100644
index 00000000..f8529204
--- /dev/null
+++ b/spgrady_8f.js
@@ -0,0 +1,4 @@
+var spgrady_8f =
+[
+    [ "spgrady", "spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1", null ]
+];
\ No newline at end of file
diff --git a/spgrady_8f_source.html b/spgrady_8f_source.html
new file mode 100644
index 00000000..dc6a635b
--- /dev/null
+++ b/spgrady_8f_source.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spgrady.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spgrady_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spgrady.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spgrady_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Compute y-gradient in spectral space.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author IREDELL @date 92-10-31</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Computes the horizontal vector y-gradient of a scalar field</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">c&gt; in spectral space.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; Subprogram speps should be called already.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; If L is the zonal wavenumber, N is the total wavenumber,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; EPS(L,N)=SQRT((N**2-L**2)/(4*N**2-1)) and A is Earth radius,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; then the meridional gradient of Q(L,N) is computed as</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; EPS(L,N+1)*(N+2)/A*Q(L,N+1)-EPS(L,N+1)*(N-1)/A*Q(L,N-1).</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; Extra terms are computed over top of the spectral domain.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; Advantage is taken of the fact that EPS(L,L)=0</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; in order to vectorize over the entire spectral domain.</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; @param I spectral domain shape</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">c&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param M spectral truncation</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param ENN1 N*(N+1)/A**2</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param EON EPSILON/N*A</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param EONTOP EPSILON/N*A over top</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param Q scalar field</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param QDY merid gradient (times coslat)</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param QDYTOP merid gradient (times coslat) over top</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @author IREDELL @date 92-10-31</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1">   31</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1">spgrady</a>(I,M,ENN1,EON,EONTOP,Q,QDY,QDYTOP)</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keywordtype">      REAL</span> ENN1((M+1)*((I+1)*M+2)/2)</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keywordtype">      REAL</span> EON((M+1)*((I+1)*M+2)/2),EONTOP(M+1)</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keywordtype">      REAL</span> Q((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keywordtype">      REAL</span> QDY((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keywordtype">      REAL</span> QDYTOP(2*(M+1))</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C  TAKE MERIDIONAL GRADIENT</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;      k=1</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;      qdy(2*k-1)=eon(k+1)*enn1(k+1)*q(2*k+1)</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;      qdy(2*k)=eon(k+1)*enn1(k+1)*q(2*k+2)</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      <span class="keywordflow">DO</span> k=2,(m+1)*((i+1)*m+2)/2-1</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        qdy(2*k-1)=eon(k+1)*enn1(k+1)*q(2*k+1)-eon(k)*enn1(k-1)*q(2*k-3)</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        qdy(2*k)=eon(k+1)*enn1(k+1)*q(2*k+2)-eon(k)*enn1(k-1)*q(2*k-2)</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      k=(m+1)*((i+1)*m+2)/2</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      qdy(2*k-1)=-eon(k)*enn1(k-1)*q(2*k-3)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      qdy(2*k)=-eon(k)*enn1(k-1)*q(2*k-2)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C  TAKE MERIDIONAL GRADIENT OVER TOP</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        k=l*(2*m+(i-1)*(l-1))/2+i*l+m+1</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        qdytop(2*l+1)=-eontop(l+1)*enn1(k)*q(2*k-1)</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        qdytop(2*l+2)=-eontop(l+1)*enn1(k)*q(2*k)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspgrady_8f_html_a1b3e38e56560de7d7dcf19ea3e931cf1"><div class="ttname"><a href="spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1">spgrady</a></div><div class="ttdeci">subroutine spgrady(I, M, ENN1, EON, EONTOP, Q, QDY, QDYTOP)</div><div class="ttdoc">Computes the horizontal vector y-gradient of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spgrady_8f_source.html#l00031">spgrady.f:32</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spgrady_8f.html">spgrady.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/splaplac_8f.html b/splaplac_8f.html
new file mode 100644
index 00000000..538bcfe4
--- /dev/null
+++ b/splaplac_8f.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: splaplac.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('splaplac_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">splaplac.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute laplacian in spectral space.  
+<a href="#details">More...</a></p>
+
+<p><a href="splaplac_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a64338955857a3cf58283146940e7ae42"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a> (I, M, ENN1, Q, QD2, IDIR)</td></tr>
+<tr class="memdesc:a64338955857a3cf58283146940e7ae42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.  <a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">More...</a><br /></td></tr>
+<tr class="separator:a64338955857a3cf58283146940e7ae42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute laplacian in spectral space. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="splaplac_8f_source.html">splaplac.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a64338955857a3cf58283146940e7ae42"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64338955857a3cf58283146940e7ae42">&#9670;&nbsp;</a></span>splaplac()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine splaplac </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ENN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>Q</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>QD2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Computes the laplacian or the inverse laplacian of a scalar field in spectral space. </p>
+<p>Subprogram <a class="el" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131" title="Computes constant fields indexed in the spectral domain in &quot;IBM ORDER&quot; (Zonal wavenumber is the slowe...">speps()</a> should be called already.</p>
+<p>The Laplacian of Q(L,N) is simply -N*(N+1)/A**2*Q(L,N)</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">I</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">M</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ENN1</td><td>N*(N+1)/A**2 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">Q</td><td>if IDIR &gt; 0, scalar field (Q(0,0) is not computed) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">QD2</td><td>if IDIR &lt; 0, Laplacian </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>flag<ul>
+<li>IDIR &gt; 0 to take Laplacian</li>
+<li>IDIR &lt; 0 to take inverse Laplacian</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="splaplac_8f_source.html#l00024">24</a> of file <a class="el" href="splaplac_8f_source.html">splaplac.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgpmd_8f_source.html#l00056">sptgpmd()</a>, <a class="el" href="sptgpsd_8f_source.html#l00074">sptgpsd()</a>, <a class="el" href="sptgptd_8f_source.html#l00051">sptgptd()</a>, <a class="el" href="sptrand_8f_source.html#l00092">sptrand()</a>, <a class="el" href="sptrungv_8f_source.html#l00085">sptrungv()</a>, <a class="el" href="sptrunl_8f_source.html#l00082">sptrunl()</a>, <a class="el" href="sptrunmv_8f_source.html#l00096">sptrunmv()</a>, <a class="el" href="sptrunsv_8f_source.html#l00094">sptrunsv()</a>, and <a class="el" href="sptrunv_8f_source.html#l00096">sptrunv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="splaplac_8f.html">splaplac.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/splaplac_8f.js b/splaplac_8f.js
new file mode 100644
index 00000000..45b0c9dc
--- /dev/null
+++ b/splaplac_8f.js
@@ -0,0 +1,4 @@
+var splaplac_8f =
+[
+    [ "splaplac", "splaplac_8f.html#a64338955857a3cf58283146940e7ae42", null ]
+];
\ No newline at end of file
diff --git a/splaplac_8f_source.html b/splaplac_8f_source.html
new file mode 100644
index 00000000..9a37b1cd
--- /dev/null
+++ b/splaplac_8f_source.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: splaplac.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('splaplac_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">splaplac.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="splaplac_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Compute laplacian in spectral space.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Computes the laplacian or the inverse laplacian</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; of a scalar field in spectral space.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; Subprogram speps() should be called already.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; The Laplacian of Q(L,N) is simply -N*(N+1)/A**2*Q(L,N)</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @param I spectral domain shape</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; @param M spectral truncation</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; @param ENN1 N*(N+1)/A**2</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @param[out] Q if IDIR &gt; 0, scalar field</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; (Q(0,0) is not computed)</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param[out] QD2 if IDIR &lt; 0, Laplacian</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param IDIR flag</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; - IDIR &gt; 0 to take Laplacian</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; - IDIR &lt; 0 to take inverse Laplacian</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">   24</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(I,M,ENN1,Q,QD2,IDIR)</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keywordtype">      REAL</span> ENN1((M+1)*((I+1)*M+2)/2)</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keywordtype">      REAL</span> Q((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keywordtype">      REAL</span> QD2((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C  TAKE LAPLACIAN</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;      <span class="keywordflow">IF</span>(idir.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        k=1</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        qd2(2*k-1)=0.</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        qd2(2*k)=0.</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keywordflow">DO</span> k=2,(m+1)*((i+1)*m+2)/2</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;          qd2(2*k-1)=q(2*k-1)*(-enn1(k))</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;          qd2(2*k)=q(2*k)*(-enn1(k))</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C  TAKE INVERSE LAPLACIAN</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keywordflow">DO</span> k=2,(m+1)*((i+1)*m+2)/2</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;          q(2*k-1)=qd2(2*k-1)/(-enn1(k))</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;          q(2*k)=qd2(2*k)/(-enn1(k))</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="splaplac_8f.html">splaplac.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/splat_8F.html b/splat_8F.html
new file mode 100644
index 00000000..8ea153e4
--- /dev/null
+++ b/splat_8F.html
@@ -0,0 +1,214 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: splat.F File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('splat_8F.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">splat.F File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Computes cosines of colatitude and Gaussian weights for sets of latitudes.  
+<a href="#details">More...</a></p>
+
+<p><a href="splat_8F_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:aa6db21451bb67635e7e4426546140e11"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">splat</a> (IDRT, JMAX, SLAT, WLAT)</td></tr>
+<tr class="memdesc:aa6db21451bb67635e7e4426546140e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes cosines of colatitude and Gaussian weights for one of the following specific global sets of latitudes.  <a href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">More...</a><br /></td></tr>
+<tr class="separator:aa6db21451bb67635e7e4426546140e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Computes cosines of colatitude and Gaussian weights for sets of latitudes. </p>
+<h3><a class="anchor" id="autotoc_md53"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-20   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">97-10-20   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Adjust precision.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">98-06-11   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Generalize precision using FORTRAN 90 intrinsic.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-03   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Generalize precision further.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">1998-12-03   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Uses AIX ESSL BLAS calls.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2009-12-27   </td><td class="markdownTableBodyNone">D. Stark   </td><td class="markdownTableBodyNone">Updated to switch between ESSL calls on an AIX platform, and Numerical Recipies calls elsewise.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2010-12-30   </td><td class="markdownTableBodyNone">Slovacek   </td><td class="markdownTableBodyNone">Update alignment so preprocessor does not cause compilation failure.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2012-09-01   </td><td class="markdownTableBodyNone">E. Mirvis &amp; M.Iredell   </td><td class="markdownTableBodyNone">Merging &amp; debugging linux errors of _d and _8 using generic LU factorization.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2012-11-05   </td><td class="markdownTableBodyNone">E. Mirvis   </td><td class="markdownTableBodyNone">Generic FFTPACK and LU lapack were removed.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="splat_8F_source.html">splat.F</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="aa6db21451bb67635e7e4426546140e11"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa6db21451bb67635e7e4426546140e11">&#9670;&nbsp;</a></span>splat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine splat </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(jmax)&#160;</td>
+          <td class="paramname"><em>SLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(jmax)&#160;</td>
+          <td class="paramname"><em>WLAT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Computes cosines of colatitude and Gaussian weights for one of the following specific global sets of latitudes. </p>
+<ul>
+<li>Gaussian latitudes (IDRT=4)</li>
+<li>Equally-spaced latitudes including poles (IDRT=0)</li>
+<li>Equally-spaced latitudes excluding poles (IDRT=256)</li>
+</ul>
+<p>The Gaussian latitudes are located at the zeroes of the Legendre polynomial of the given order. These latitudes are efficient for reversible transforms from spectral space. (About twice as many equally-spaced latitudes are needed.) The weights for the equally-spaced latitudes are based on Ellsaesser (JAM,1966). (No weight is given the pole point.) Note that when analyzing grid to spectral in latitude pairs, if an equator point exists, its weight should be halved. This version invokes the ibm essl matrix solver.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>4 for Gaussian grid</li>
+<li>0 for equally-spaced grid including poles</li>
+<li>256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">JMAX</td><td>number of latitudes </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">SLAT</td><td>sines of latitude </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WLAT</td><td>Gaussian weights</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-20 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="splat_8F_source.html#l00045">45</a> of file <a class="el" href="splat_8F_source.html">splat.F</a>.</p>
+
+<p class="reference">References <a class="el" href="lapack__gen_8F_source.html#l00017">lubksb()</a>, and <a class="el" href="lapack__gen_8F_source.html#l00052">ludcmp()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">ip_gaussian_grid_mod::gdswzd_gaussian()</a>, and <a class="el" href="sptranf0_8f_source.html#l00037">sptranf0()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="splat_8F.html">splat.F</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/splat_8F.js b/splat_8F.js
new file mode 100644
index 00000000..1bbff9ef
--- /dev/null
+++ b/splat_8F.js
@@ -0,0 +1,4 @@
+var splat_8F =
+[
+    [ "splat", "splat_8F.html#aa6db21451bb67635e7e4426546140e11", null ]
+];
\ No newline at end of file
diff --git a/splat_8F_source.html b/splat_8F_source.html
new file mode 100644
index 00000000..1462fab7
--- /dev/null
+++ b/splat_8F_source.html
@@ -0,0 +1,294 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: splat.F Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('splat_8F_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">splat.F</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="splat_8F.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Computes cosines of colatitude and Gaussian weights</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; for sets of latitudes.</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 96-02-20 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; 97-10-20 | Iredell | Adjust precision.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; 98-06-11 | Iredell | Generalize precision using FORTRAN 90 intrinsic.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; 1998-12-03 | Iredell | Generalize precision further.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; 1998-12-03 | Iredell | Uses AIX ESSL BLAS calls.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; 2009-12-27 | D. Stark | Updated to switch between ESSL calls on an AIX platform, and Numerical Recipies calls elsewise.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; 2010-12-30 | Slovacek | Update alignment so preprocessor does not cause compilation failure.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; 2012-09-01 | E. Mirvis &amp; M.Iredell | Merging &amp; debugging linux errors of _d and _8 using generic LU factorization.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; 2012-11-05 | E. Mirvis | Generic FFTPACK and LU lapack were removed.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; Computes cosines of colatitude and Gaussian weights</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; for one of the following specific global sets of latitudes.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; - Gaussian latitudes (IDRT=4)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; - Equally-spaced latitudes including poles (IDRT=0)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; - Equally-spaced latitudes excluding poles (IDRT=256)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; The Gaussian latitudes are located at the zeroes of the</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; Legendre polynomial of the given order. These latitudes</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; are efficient for reversible transforms from spectral space.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; (About twice as many equally-spaced latitudes are needed.)</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; The weights for the equally-spaced latitudes are based on</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; Ellsaesser (JAM,1966). (No weight is given the pole point.)</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; Note that when analyzing grid to spectral in latitude pairs,</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; if an equator point exists, its weight should be halved.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; This version invokes the ibm essl matrix solver.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param[in] IDRT grid identifier</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt;  - 4 for Gaussian grid</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;  - 0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt;  - 256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param[in] JMAX number of latitudes</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param[out] SLAT sines of latitude</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param[out] WLAT Gaussian weights</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-20</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">   45</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">splat</a>(IDRT,JMAX,SLAT,WLAT)</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keywordtype">      REAL</span> SLAT(JMAX),WLAT(JMAX)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      <span class="keywordtype">INTEGER</span>,<span class="keywordtype">PARAMETER</span>:: KD=selected_real_kind(15,45)</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keywordtype">      REAL</span>(KIND=kd):: pk(jmax/2),pkm1(jmax/2),pkm2(jmax/2)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keywordtype">      REAL</span>(KIND=kd):: slatd(jmax/2),sp,spmax,eps=10.*epsilon(sp)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      parameter(jz=50)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keywordtype">      REAL</span> BZ(JZ)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keyword">DATA</span> bz        / 2.4048255577,  5.5200781103,</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;     $  8.6537279129, 11.7915344391, 14.9309177086, 18.0710639679,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;     $ 21.2116366299, 24.3524715308, 27.4934791320, 30.6346064684,</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;     $ 33.7758202136, 36.9170983537, 40.0584257646, 43.1997917132,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;     $ 46.3411883717, 49.4826098974, 52.6240518411, 55.7655107550,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;     $ 58.9069839261, 62.0484691902, 65.1899648002, 68.3314693299,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;     $ 71.4729816036, 74.6145006437, 77.7560256304, 80.8975558711,</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;     $ 84.0390907769, 87.1806298436, 90.3221726372, 93.4637187819,</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;     $ 96.6052679510, 99.7468198587, 102.888374254, 106.029930916,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;     $ 109.171489649, 112.313050280, 115.454612653, 118.596176630,</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;     $ 121.737742088, 124.879308913, 128.020877005, 131.162446275,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;     $ 134.304016638, 137.445588020, 140.587160352, 143.728733573,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;     $ 146.870307625, 150.011882457, 153.153458019, 156.295034268 /</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">      REAL</span>:: DLT,D1=1.</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordtype">      REAL</span> AWORK((JMAX+1)/2,((JMAX+1)/2)),BWORK(((JMAX+1)/2))</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keywordtype">INTEGER</span>:: JHE,JHO,J0=0</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="keywordtype">INTEGER</span> IPVT((JMAX+1)/2)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      parameter(pi=3.14159265358979,c=(1.-(2./pi)**2)*0.25)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C  GAUSSIAN LATITUDES</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keywordflow">IF</span>(idrt.EQ.4) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        jh=jmax/2</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        jhe=(jmax+1)/2</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        r=1./sqrt((jmax+0.5)**2+c)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keywordflow">DO</span> j=1,min(jh,jz)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;          slatd(j)=cos(bz(j)*r)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <span class="keywordflow">DO</span> j=jz+1,jh</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          slatd(j)=cos((bz(jz)+(j-jz)*pi)*r)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        spmax=1.</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keywordflow">DO</span> <span class="keywordflow">WHILE</span>(spmax.GT.eps)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;          spmax=0.</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;          <span class="keywordflow">DO</span> j=1,jh</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            pkm1(j)=1.</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;            pk(j)=slatd(j)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;          <span class="keywordflow">DO</span> n=2,jmax</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;            <span class="keywordflow">DO</span> j=1,jh</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;              pkm2(j)=pkm1(j)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;              pkm1(j)=pk(j)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;              pk(j)=((2*n-1)*slatd(j)*pkm1(j)-(n-1)*pkm2(j))/n</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;          <span class="keywordflow">DO</span> j=1,jh</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;            sp=pk(j)*(1.-slatd(j)**2)/(jmax*(pkm1(j)-slatd(j)*pk(j)))</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;            slatd(j)=slatd(j)-sp</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;            spmax=max(spmax,abs(sp))</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <span class="keywordflow">DO</span> j=1,jh</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;          slat(j)=slatd(j)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;          wlat(j)=(2.*(1.-slatd(j)**2))/(jmax*pkm1(j))**2</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;          slat(jmax+1-j)=-slat(j)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;          wlat(jmax+1-j)=wlat(j)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keywordflow">IF</span>(jhe.GT.jh) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;          slat(jhe)=0.</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;          wlat(jhe)=2./jmax**2</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;          <span class="keywordflow">DO</span> n=2,jmax,2</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;            wlat(jhe)=wlat(jhe)*n**2/(n-1)**2</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">C  EQUALLY-SPACED LATITUDES INCLUDING POLES</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keywordflow">ELSEIF</span>(idrt.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        jh=jmax/2</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        jhe=(jmax+1)/2</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        jho=jhe-1</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        dlt=pi/(jmax-1)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        slat(1)=1.</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">DO</span> j=2,jh</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;          slat(j)=cos((j-1)*dlt)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keywordflow">DO</span> js=1,jho</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;          <span class="keywordflow">DO</span> j=1,jho</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;            awork(js,j)=cos(2*(js-1)*j*dlt)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <span class="keywordflow">DO</span> js=1,jho</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;          bwork(js)=-d1/(4*(js-1)**2-1)</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="keyword">call </span><a class="code" href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">ludcmp</a>(awork,jho,jhe,ipvt)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="keyword">call </span><a class="code" href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">lubksb</a>(awork,jho,jhe,ipvt,bwork)</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        wlat(1)=0.</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        <span class="keywordflow">DO</span> j=1,jho</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;          wlat(j+1)=bwork(j)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keywordflow">DO</span> j=1,jh</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;           print *, j, jmax, jmax+1-j</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;          slat(jmax+1-j)=-slat(j)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;          wlat(jmax+1-j)=wlat(j)</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordflow">IF</span>(jhe.GT.jh) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;          slat(jhe)=0.</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;          wlat(jhe)=2.*wlat(jhe)</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="comment">C  EQUALLY-SPACED LATITUDES EXCLUDING POLES</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;      <span class="keywordflow">ELSEIF</span>(idrt.EQ.256) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        jh=jmax/2</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        jhe=(jmax+1)/2</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        jho=jhe</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        dlt=pi/jmax</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        slat(1)=1.</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordflow">DO</span> j=1,jh</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;          slat(j)=cos((j-0.5)*dlt)</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <span class="keywordflow">DO</span> js=1,jho</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;          <span class="keywordflow">DO</span> j=1,jho</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;            awork(js,j)=cos(2*(js-1)*(j-0.5)*dlt)</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="keywordflow">DO</span> js=1,jho</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;          bwork(js)=-d1/(4*(js-1)**2-1)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="keyword">call </span><a class="code" href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">ludcmp</a>(awork,jho,jhe,ipvt,d)</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <span class="keyword">call </span><a class="code" href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">lubksb</a>(awork,jho,jhe,ipvt,bwork)</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        wlat(1)=0.</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keywordflow">DO</span> j=1,jho</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;          wlat(j)=bwork(j)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keywordflow">DO</span> j=1,jh</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;          slat(jmax+1-j)=-slat(j)</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;          wlat(jmax+1-j)=wlat(j)</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keywordflow">IF</span>(jhe.GT.jh) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;          slat(jhe)=0.</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;          wlat(jhe)=2.*wlat(jhe)</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="alapack__gen_8F_html_a2af64d5edd49c8f4dcdfdd21235de781"><div class="ttname"><a href="lapack__gen_8F.html#a2af64d5edd49c8f4dcdfdd21235de781">ludcmp</a></div><div class="ttdeci">subroutine ludcmp(A, N, NP, INDX)</div><div class="ttdoc">Replaces an NxN matrix a with the LU decomposition.</div><div class="ttdef"><b>Definition:</b> <a href="lapack__gen_8F_source.html#l00051">lapack_gen.F:52</a></div></div>
+<div class="ttc" id="alapack__gen_8F_html_a3c6b581386390037e8c04c238a208547"><div class="ttname"><a href="lapack__gen_8F.html#a3c6b581386390037e8c04c238a208547">lubksb</a></div><div class="ttdeci">subroutine lubksb(A, N, NP, INDX, B)</div><div class="ttdoc">Solves a system of linear equations, follows call to ludcmp().</div><div class="ttdef"><b>Definition:</b> <a href="lapack__gen_8F_source.html#l00016">lapack_gen.F:17</a></div></div>
+<div class="ttc" id="asplat_8F_html_aa6db21451bb67635e7e4426546140e11"><div class="ttname"><a href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">splat</a></div><div class="ttdeci">subroutine splat(IDRT, JMAX, SLAT, WLAT)</div><div class="ttdoc">Computes cosines of colatitude and Gaussian weights for one of the following specific global sets of ...</div><div class="ttdef"><b>Definition:</b> <a href="splat_8F_source.html#l00045">splat.F:46</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="splat_8F.html">splat.F</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/splegend_8f.html b/splegend_8f.html
new file mode 100644
index 00000000..eaa4c202
--- /dev/null
+++ b/splegend_8f.html
@@ -0,0 +1,217 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: splegend.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('splegend_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">splegend.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute Legendre polynomials.  
+<a href="#details">More...</a></p>
+
+<p><a href="splegend_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a9c68adc80e97c43ac983b955dd6cabac"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a> (I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</td></tr>
+<tr class="memdesc:a9c68adc80e97c43ac983b955dd6cabac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.  <a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">More...</a><br /></td></tr>
+<tr class="separator:a9c68adc80e97c43ac983b955dd6cabac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute Legendre polynomials. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="splegend_8f_source.html">splegend.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a9c68adc80e97c43ac983b955dd6cabac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9c68adc80e97c43ac983b955dd6cabac">&#9670;&nbsp;</a></span>splegend()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine splegend </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>SLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>CLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>EPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>EPSTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>PLN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>PLNTOP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude. </p>
+<p>Subprogram splegend should be called already. If l is the zonal wavenumber, N is the total wavenumber, and EPS(L,N)=SQRT((N**2-L**2)/(4*N**2-1)) then the following bootstrapping formulas are used:</p>
+<pre>
+ PLN(0,0)=SQRT(0.5)
+ PLN(L,L)=PLN(L-1,L-1)*CLAT*SQRT(FLOAT(2*L+1)/FLOAT(2*L))
+ PLN(L,N)=(SLAT*PLN(L,N-1)-EPS(L,N-1)*PLN(L,N-2))/EPS(L,N)
+ </pre><p>Synthesis at the pole needs only two zonal wavenumbers. Scalar fields are synthesized with zonal wavenumber 0 while vector fields are synthesized with zonal wavenumber 1. (Thus polar vector fields are implicitly divided by clat.) The following bootstrapping formulas are used at the pole:</p>
+<pre>
+ PLN(0,0)=SQRT(0.5)
+ PLN(1,1)=SQRT(0.75)
+ PLN(L,N)=(PLN(L,N-1)-EPS(L,N-1)*PLN(L,N-2))/EPS(L,N)
+ </pre><p>PROGRAM HISTORY LOG:</p><ul>
+<li>91-10-31 MARK IREDELL</li>
+<li>98-06-10 MARK IREDELL GENERALIZE PRECISION</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">I</td><td>- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">M</td><td>- INTEGER SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">SLAT</td><td>- REAL SINE OF LATITUDE </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">CLAT</td><td>- REAL COSINE OF LATITUDE </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">EPS</td><td>- REAL ((M+1)*((I+1)*M+2)/2) SQRT((N**2-L**2)/(4*N**2-1)) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">EPSTOP</td><td>- REAL (M+1) SQRT((N**2-L**2)/(4*N**2-1)) OVER TOP </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">PLN</td><td>- REAL ((M+1)*((I+1)*M+2)/2) LEGENDRE POLYNOMIAL </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">PLNTOP</td><td>- REAL (M+1) LEGENDRE POLYNOMIAL OVER TOP </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="splegend_8f_source.html#l00044">44</a> of file <a class="el" href="splegend_8f_source.html">splegend.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgpm_8f_source.html#l00056">sptgpm()</a>, <a class="el" href="sptgpmv_8f_source.html#l00063">sptgpmv()</a>, <a class="el" href="sptgps_8f_source.html#l00081">sptgps()</a>, <a class="el" href="sptgpsv_8f_source.html#l00083">sptgpsv()</a>, <a class="el" href="sptgpt_8f_source.html#l00051">sptgpt()</a>, <a class="el" href="sptgptsd_8f_source.html#l00055">sptgptsd()</a>, <a class="el" href="sptgptv_8f_source.html#l00054">sptgptv()</a>, <a class="el" href="sptgptvd_8f_source.html#l00070">sptgptvd()</a>, and <a class="el" href="sptranf0_8f_source.html#l00037">sptranf0()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="splegend_8f.html">splegend.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/splegend_8f.js b/splegend_8f.js
new file mode 100644
index 00000000..8ab7c002
--- /dev/null
+++ b/splegend_8f.js
@@ -0,0 +1,4 @@
+var splegend_8f =
+[
+    [ "splegend", "splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac", null ]
+];
\ No newline at end of file
diff --git a/splegend_8f_source.html b/splegend_8f_source.html
new file mode 100644
index 00000000..cde06ce3
--- /dev/null
+++ b/splegend_8f_source.html
@@ -0,0 +1,231 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: splegend.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('splegend_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">splegend.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="splegend_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; Compute Legendre polynomials</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; @author IREDELL @date 92-10-31</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; Evaluates the orthonormal associated Legendre polynomials in the</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; spectral domain at a given latitude. Subprogram splegend should</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; be called already. If l is the zonal wavenumber, N is the total</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; wavenumber, and EPS(L,N)=SQRT((N**2-L**2)/(4*N**2-1)) then the</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; following bootstrapping formulas are used:</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; &lt;pre&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; PLN(0,0)=SQRT(0.5)</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; PLN(L,L)=PLN(L-1,L-1)*CLAT*SQRT(FLOAT(2*L+1)/FLOAT(2*L))</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; PLN(L,N)=(SLAT*PLN(L,N-1)-EPS(L,N-1)*PLN(L,N-2))/EPS(L,N)</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; Synthesis at the pole needs only two zonal wavenumbers. Scalar</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; fields are synthesized with zonal wavenumber 0 while vector</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; fields are synthesized with zonal wavenumber 1. (Thus polar</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; vector fields are implicitly divided by clat.) The following</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; bootstrapping formulas are used at the pole:</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; &lt;pre&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; PLN(0,0)=SQRT(0.5)</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; PLN(1,1)=SQRT(0.75)</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; PLN(L,N)=(PLN(L,N-1)-EPS(L,N-1)*PLN(L,N-2))/EPS(L,N)</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; PROGRAM HISTORY LOG:</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; -  91-10-31  MARK IREDELL</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; - 98-06-10  MARK IREDELL  GENERALIZE PRECISION</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param I        - INTEGER SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;                (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param M        - INTEGER SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param SLAT     - REAL SINE OF LATITUDE</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param CLAT     - REAL COSINE OF LATITUDE</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param EPS      - REAL ((M+1)*((I+1)*M+2)/2) SQRT((N**2-L**2)/(4*N**2-1))</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param EPSTOP   - REAL (M+1) SQRT((N**2-L**2)/(4*N**2-1)) OVER TOP</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param[out] PLN - REAL ((M+1)*((I+1)*M+2)/2) LEGENDRE POLYNOMIAL</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param[out] PLNTOP - REAL (M+1) LEGENDRE POLYNOMIAL OVER TOP</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">   44</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(I,M,SLAT,CLAT,EPS,EPSTOP,PLN,PLNTOP)</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">CFPP$ NOCONCUR R</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keywordtype">      REAL</span> EPS((M+1)*((I+1)*M+2)/2),EPSTOP(M+1)</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keywordtype">      REAL</span> PLN((M+1)*((I+1)*M+2)/2),PLNTOP(M+1)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keywordtype">      REAL</span>(KIND=selected_real_kind(15,45)):: dln((m+1)*((i+1)*m+2)/2)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C  ITERATIVELY COMPUTE PLN WITHIN SPECTRAL DOMAIN AT POLE</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      m1=m+1</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      m2=2*m+i+1</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      mx=(m+1)*((i+1)*m+2)/2</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keywordflow">IF</span>(clat.EQ.0.) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        dln(1)=sqrt(0.5)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="keywordflow">IF</span>(m.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;          dln(m1+1)=sqrt(0.75)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;          dln(2)=slat*dln(1)/eps(2)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keywordflow">IF</span>(m.GT.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;          dln(m1+2)=slat*dln(m1+1)/eps(m1+2)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;          dln(3)=(slat*dln(2)-eps(2)*dln(1))/eps(3)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;          <span class="keywordflow">DO</span> n=3,m</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;            k=1+n</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;            dln(k)=(slat*dln(k-1)-eps(k-1)*dln(k-2))/eps(k)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;            k=m1+n</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;            dln(k)=(slat*dln(k-1)-eps(k-1)*dln(k-2))/eps(k)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;          <span class="keywordflow">IF</span>(i.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;            k=m2</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;            dln(k)=(slat*dln(k-1)-eps(k-1)*dln(k-2))/eps(k)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;          <span class="keywordflow">DO</span> k=m2+1,mx</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;            dln(k)=0.</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C  COMPUTE POLYNOMIALS OVER TOP OF SPECTRAL DOMAIN</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        k=m1+1</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        plntop(1)=(slat*dln(k-1)-eps(k-1)*dln(k-2))/epstop(1)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keywordflow">IF</span>(m.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;          k=m2+1</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;          plntop(2)=(slat*dln(k-1)-eps(k-1)*dln(k-2))/epstop(2)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;          <span class="keywordflow">DO</span> l=2,m</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            plntop(l+1)=0.</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">C  ITERATIVELY COMPUTE PLN(L,L) (BOTTOM HYPOTENUSE OF DOMAIN)</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        nml=0</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        k=1</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        dln(k)=sqrt(0.5)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keywordflow">DO</span> l=1,m+(i-1)*nml</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;          kp=k</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;          k=l*(2*m+(i-1)*(l-1))/2+l+nml+1</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;          dln(k)=dln(kp)*clat*sqrt(float(2*l+1)/float(2*l))</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">C  COMPUTE PLN(L,L+1) (DIAGONAL NEXT TO BOTTOM HYPOTENUSE OF DOMAIN)</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        nml=1</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keywordflow">DO</span> l=0,m+(i-1)*nml</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;          k=l*(2*m+(i-1)*(l-1))/2+l+nml+1</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;          dln(k)=slat*dln(k-1)/eps(k)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment">C  COMPUTE REMAINING PLN IN SPECTRAL DOMAIN</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <span class="keywordflow">DO</span> nml=2,m</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;          <span class="keywordflow">DO</span> l=0,m+(i-1)*nml</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;            k=l*(2*m+(i-1)*(l-1))/2+l+nml+1</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;            dln(k)=(slat*dln(k-1)-eps(k-1)*dln(k-2))/eps(k)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">C  COMPUTE POLYNOMIALS OVER TOP OF SPECTRAL DOMAIN</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;          nml=m+1+(i-1)*l</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;          k=l*(2*m+(i-1)*(l-1))/2+l+nml+1</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;          plntop(l+1)=(slat*dln(k-1)-eps(k-1)*dln(k-2))/epstop(l+1)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">C  RETURN VALUES</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keywordflow">DO</span> k=1,mx</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        pln(k)=dln(k)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="splegend_8f.html">splegend.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sppad_8f.html b/sppad_8f.html
new file mode 100644
index 00000000..513b29a5
--- /dev/null
+++ b/sppad_8f.html
@@ -0,0 +1,189 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sppad.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sppad_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sppad.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Pad or truncate a spectral field.  
+<a href="#details">More...</a></p>
+
+<p><a href="sppad_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a4338b3ccd7844251bbdabf3da1d6476e"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e">sppad</a> (I1, M1, Q1, I2, M2, Q2)</td></tr>
+<tr class="memdesc:a4338b3ccd7844251bbdabf3da1d6476e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pad or truncate a spectral field.  <a href="sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e">More...</a><br /></td></tr>
+<tr class="separator:a4338b3ccd7844251bbdabf3da1d6476e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Pad or truncate a spectral field. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sppad_8f_source.html">sppad.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a4338b3ccd7844251bbdabf3da1d6476e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4338b3ccd7844251bbdabf3da1d6476e">&#9670;&nbsp;</a></span>sppad()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sppad </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m1+1)*((i1+1)*m1+2))&#160;</td>
+          <td class="paramname"><em>Q1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m2+1)*((i2+1)*m2+2))&#160;</td>
+          <td class="paramname"><em>Q2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Pad or truncate a spectral field. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">I1</td><td>input spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M1</td><td>input spectral truncation </td></tr>
+    <tr><td class="paramname">Q1</td><td>((M+1)*((I+1)*M+2)) input field </td></tr>
+    <tr><td class="paramname">I2</td><td>output spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M2</td><td>output spectral truncation </td></tr>
+    <tr><td class="paramname">Q2</td><td>((M+1)*((I+1)*M+2)) output field</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sppad_8f_source.html#l00017">17</a> of file <a class="el" href="sppad_8f_source.html">sppad.f</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sppad_8f.html">sppad.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sppad_8f.js b/sppad_8f.js
new file mode 100644
index 00000000..a47faa1f
--- /dev/null
+++ b/sppad_8f.js
@@ -0,0 +1,4 @@
+var sppad_8f =
+[
+    [ "sppad", "sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e", null ]
+];
\ No newline at end of file
diff --git a/sppad_8f_source.html b/sppad_8f_source.html
new file mode 100644
index 00000000..b3429e10
--- /dev/null
+++ b/sppad_8f_source.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sppad.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sppad_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sppad.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sppad_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Pad or truncate a spectral field.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Pad or truncate a spectral field.</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; @param I1 input spectral domain shape</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; @param M1 input spectral truncation</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @param Q1 ((M+1)*((I+1)*M+2)) input field</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @param I2 output spectral domain shape</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; @param M2 output spectral truncation</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; @param Q2 ((M+1)*((I+1)*M+2)) output field</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e">   17</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e">sppad</a>(I1,M1,Q1,I2,M2,Q2)</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keywordtype">      REAL</span> Q1((M1+1)*((I1+1)*M1+2))</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keywordtype">      REAL</span> Q2((M2+1)*((I2+1)*M2+2))</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;      <span class="keywordflow">DO</span> l=0,m2</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        <span class="keywordflow">DO</span> n=l,i2*l+m2</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;          ks2=l*(2*m2+(i2-1)*(l-1))+2*n</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;          <span class="keywordflow">IF</span>(l.LE.m1.AND.n.LE.i1*l+m1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;            ks1=l*(2*m1+(i1-1)*(l-1))+2*n</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;            q2(ks2+1)=q1(ks1+1)</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;            q2(ks2+2)=q1(ks1+2)</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;            q2(ks2+1)=0</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;            q2(ks2+2)=0</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asppad_8f_html_a4338b3ccd7844251bbdabf3da1d6476e"><div class="ttname"><a href="sppad_8f.html#a4338b3ccd7844251bbdabf3da1d6476e">sppad</a></div><div class="ttdeci">subroutine sppad(I1, M1, Q1, I2, M2, Q2)</div><div class="ttdoc">Pad or truncate a spectral field.</div><div class="ttdef"><b>Definition:</b> <a href="sppad_8f_source.html#l00017">sppad.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sppad_8f.html">sppad.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spsynth_8f.html b/spsynth_8f.html
new file mode 100644
index 00000000..98e123bf
--- /dev/null
+++ b/spsynth_8f.html
@@ -0,0 +1,258 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spsynth.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spsynth_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spsynth.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Synthesize Fourier coefficients from spectral coefficients.  
+<a href="#details">More...</a></p>
+
+<p><a href="spsynth_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:aa6a8113a459918728c876673520126bf"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a> (I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</td></tr>
+<tr class="memdesc:aa6a8113a459918728c876673520126bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Southern hemispheres).  <a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">More...</a><br /></td></tr>
+<tr class="separator:aa6a8113a459918728c876673520126bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Synthesize Fourier coefficients from spectral coefficients. </p>
+<h3><a class="anchor" id="autotoc_md54"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">91-10-31   </td><td class="markdownTableBodyNone">Mark Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-18   </td><td class="markdownTableBodyNone">Mark Iredell   </td><td class="markdownTableBodyNone">Include scalar and gradient option.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spsynth_8f_source.html">spsynth.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="aa6a8113a459918728c876673520126bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa6a8113a459918728c876673520126bf">&#9670;&nbsp;</a></span>spsynth()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spsynth </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NCTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>CLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>PLN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>PLNTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km)&#160;</td>
+          <td class="paramname"><em>MP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nc,km)&#160;</td>
+          <td class="paramname"><em>SPC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nctop,km)&#160;</td>
+          <td class="paramname"><em>SPCTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(ix,2,km)&#160;</td>
+          <td class="paramname"><em>F</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Southern hemispheres). </p>
+<p>Vector components are divided by cosine of latitude.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">I</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">IM</td><td>even number of Fourier coefficients </td></tr>
+    <tr><td class="paramname">IX</td><td>dimension of Fourier coefficients (IX&gt;=IM+2) </td></tr>
+    <tr><td class="paramname">NC</td><td>dimension of spectral coefficients (NC&gt;=(M+1)*((I+1)*M+2)) </td></tr>
+    <tr><td class="paramname">NCTOP</td><td>dimension of spectral coefficients over top (NCTOP&gt;=2*(M+1)) </td></tr>
+    <tr><td class="paramname">KM</td><td>number of fields </td></tr>
+    <tr><td class="paramname">CLAT</td><td>cosine of latitude </td></tr>
+    <tr><td class="paramname">PLN</td><td>((M+1)*((I+1)*M+2)/2) Legendre polynomial </td></tr>
+    <tr><td class="paramname">PLNTOP</td><td>Legendre polynomial over top </td></tr>
+    <tr><td class="paramname">SPC</td><td>spectral coefficients </td></tr>
+    <tr><td class="paramname">SPCTOP</td><td>spectral coefficients over top </td></tr>
+    <tr><td class="paramname">MP</td><td>identifiers (0 for scalar, 1 for vector, or 10 for scalar and gradient) </td></tr>
+    <tr><td class="paramname">F</td><td>Fourier coefficients for latitude pair</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spsynth_8f_source.html#l00037">37</a> of file <a class="el" href="spsynth_8f_source.html">spsynth.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgpm_8f_source.html#l00056">sptgpm()</a>, <a class="el" href="sptgpmv_8f_source.html#l00063">sptgpmv()</a>, <a class="el" href="sptgps_8f_source.html#l00081">sptgps()</a>, <a class="el" href="sptgpsv_8f_source.html#l00083">sptgpsv()</a>, <a class="el" href="sptgpt_8f_source.html#l00051">sptgpt()</a>, <a class="el" href="sptgptsd_8f_source.html#l00055">sptgptsd()</a>, <a class="el" href="sptgptv_8f_source.html#l00054">sptgptv()</a>, <a class="el" href="sptgptvd_8f_source.html#l00070">sptgptvd()</a>, and <a class="el" href="sptranf1_8f_source.html#l00044">sptranf1()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spsynth_8f.html">spsynth.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spsynth_8f.js b/spsynth_8f.js
new file mode 100644
index 00000000..6cb85dd1
--- /dev/null
+++ b/spsynth_8f.js
@@ -0,0 +1,4 @@
+var spsynth_8f =
+[
+    [ "spsynth", "spsynth_8f.html#aa6a8113a459918728c876673520126bf", null ]
+];
\ No newline at end of file
diff --git a/spsynth_8f_source.html b/spsynth_8f_source.html
new file mode 100644
index 00000000..c80d1102
--- /dev/null
+++ b/spsynth_8f_source.html
@@ -0,0 +1,258 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spsynth.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spsynth_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spsynth.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spsynth_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Synthesize Fourier coefficients from spectral coefficients.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 91-10-31 | Mark Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-18 | Mark Iredell | Include scalar and gradient option.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; Synthesizes Fourier coefficients from spectral coefficients</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; for a latitude pair (Northern and Southern hemispheres).</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; Vector components are divided by cosine of latitude.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; @param I spectral domain shape</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param M spectral truncation</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; @param IM even number of Fourier coefficients</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param IX dimension of Fourier coefficients (IX&gt;=IM+2)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param NC dimension of spectral coefficients</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; (NC&gt;=(M+1)*((I+1)*M+2))</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param NCTOP dimension of spectral coefficients over top</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; (NCTOP&gt;=2*(M+1))</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param KM number of fields</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param CLAT cosine of latitude</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param PLN ((M+1)*((I+1)*M+2)/2) Legendre polynomial</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param PLNTOP Legendre polynomial over top</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param SPC spectral coefficients</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param SPCTOP spectral coefficients over top</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param MP identifiers (0 for scalar, 1 for vector,</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; or 10 for scalar and gradient)</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param F Fourier coefficients for latitude pair</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">   37</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(I,M,IM,IX,NC,NCTOP,KM,CLAT,PLN,PLNTOP,MP,</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;     &amp;                   SPC,SPCTOP,F)</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keywordtype">      REAL</span> PLN((M+1)*((I+1)*M+2)/2),PLNTOP(M+1)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;      <span class="keywordtype">INTEGER</span> MP(KM)</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keywordtype">      REAL</span> SPC(NC,KM),SPCTOP(NCTOP,KM)</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keywordtype">      REAL</span> F(IX,2,KM)</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C  ZERO OUT FOURIER COEFFICIENTS.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keywordflow">DO</span> l=0,im/2</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;          f(2*l+1,1,k)=0.</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;          f(2*l+2,1,k)=0.</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;          f(2*l+1,2,k)=0.</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;          f(2*l+2,2,k)=0.</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C  SYNTHESIS OVER POLE.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C  INITIALIZE FOURIER COEFFICIENTS WITH TERMS OVER TOP OF THE SPECTRUM.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C  INITIALIZE EVEN AND ODD POLYNOMIALS SEPARATELY.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keywordflow">IF</span>(clat.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        ltope=mod(m+1+i,2)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">!C$OMP PARALLEL DO PRIVATE(LB,LE,L,KS,KP,N,F1R,F1I)</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;          lb=mp(k)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;          le=mp(k)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;          <span class="keywordflow">IF</span>(mp(k).EQ.10) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;            lb=0</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;            le=1</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;          l=lb</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;          <span class="keywordflow">IF</span>(l.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;            <span class="keywordflow">IF</span>(l.EQ.ltope) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;              f(2*l+1,1,k)=plntop(l+1)*spctop(2*l+1,k)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;              f(2*l+2,1,k)=plntop(l+1)*spctop(2*l+2,k)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;            <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;              f(2*l+1,2,k)=plntop(l+1)*spctop(2*l+1,k)</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;              f(2*l+2,2,k)=plntop(l+1)*spctop(2*l+2,k)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C  FOR EACH ZONAL WAVENUMBER, SYNTHESIZE TERMS OVER TOTAL WAVENUMBER.</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C  SYNTHESIZE EVEN AND ODD POLYNOMIALS SEPARATELY.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          <span class="keywordflow">DO</span> l=lb,le</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;            ks=l*(2*m+(i-1)*(l-1))</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;            kp=ks/2+1</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;            <span class="keywordflow">DO</span> n=l,i*l+m,2</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;              f(2*l+1,1,k)=f(2*l+1,1,k)+pln(kp+n)*spc(ks+2*n+1,k)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;              f(2*l+2,1,k)=f(2*l+2,1,k)+pln(kp+n)*spc(ks+2*n+2,k)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;            <span class="keywordflow">DO</span> n=l+1,i*l+m,2</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;              f(2*l+1,2,k)=f(2*l+1,2,k)+pln(kp+n)*spc(ks+2*n+1,k)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;              f(2*l+2,2,k)=f(2*l+2,2,k)+pln(kp+n)*spc(ks+2*n+2,k)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">C  SEPARATE FOURIER COEFFICIENTS FROM EACH HEMISPHERE.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">C  ODD POLYNOMIALS CONTRIBUTE NEGATIVELY TO THE SOUTHERN HEMISPHERE.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;            f1r=f(2*l+1,1,k)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;            f1i=f(2*l+2,1,k)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;            f(2*l+1,1,k)=f1r+f(2*l+1,2,k)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;            f(2*l+2,1,k)=f1i+f(2*l+2,2,k)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;            f(2*l+1,2,k)=f1r-f(2*l+1,2,k)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;            f(2*l+2,2,k)=f1i-f(2*l+2,2,k)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">C  SYNTHESIS OVER FINITE LATITUDE.</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">C  INITIALIZE FOURIER COEFFICIENTS WITH TERMS OVER TOP OF THE SPECTRUM.</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">C  INITIALIZE EVEN AND ODD POLYNOMIALS SEPARATELY.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        lx=min(m,im/2)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        ltope=mod(m+1,2)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        ltopo=1-ltope</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        le=1+i*ltope</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        lo=2-i*ltopo</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">!C$OMP PARALLEL DO PRIVATE(L,KS,KP,N,F1R,F1I)</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;          <span class="keywordflow">IF</span>(mp(k).EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;            <span class="keywordflow">DO</span> l=ltope,lx,2</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;              f(2*l+1,le,k)=plntop(l+1)*spctop(2*l+1,k)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;              f(2*l+2,le,k)=plntop(l+1)*spctop(2*l+2,k)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;            <span class="keywordflow">DO</span> l=ltopo,lx,2</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;              f(2*l+1,lo,k)=plntop(l+1)*spctop(2*l+1,k)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;              f(2*l+2,lo,k)=plntop(l+1)*spctop(2*l+2,k)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">C  FOR EACH ZONAL WAVENUMBER, SYNTHESIZE TERMS OVER TOTAL WAVENUMBER.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">C  SYNTHESIZE EVEN AND ODD POLYNOMIALS SEPARATELY.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;          <span class="keywordflow">DO</span> l=0,lx</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;            ks=l*(2*m+(i-1)*(l-1))</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;            kp=ks/2+1</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;            <span class="keywordflow">DO</span> n=l,i*l+m,2</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;              f(2*l+1,1,k)=f(2*l+1,1,k)+pln(kp+n)*spc(ks+2*n+1,k)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;              f(2*l+2,1,k)=f(2*l+2,1,k)+pln(kp+n)*spc(ks+2*n+2,k)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;            <span class="keywordflow">DO</span> n=l+1,i*l+m,2</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;              f(2*l+1,2,k)=f(2*l+1,2,k)+pln(kp+n)*spc(ks+2*n+1,k)</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;              f(2*l+2,2,k)=f(2*l+2,2,k)+pln(kp+n)*spc(ks+2*n+2,k)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">C  SEPARATE FOURIER COEFFICIENTS FROM EACH HEMISPHERE.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">C  ODD POLYNOMIALS CONTRIBUTE NEGATIVELY TO THE SOUTHERN HEMISPHERE.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment">C  DIVIDE VECTOR COMPONENTS BY COSINE LATITUDE.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;          <span class="keywordflow">DO</span> l=0,lx</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;            f1r=f(2*l+1,1,k)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;            f1i=f(2*l+2,1,k)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;            f(2*l+1,1,k)=f1r+f(2*l+1,2,k)</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;            f(2*l+2,1,k)=f1i+f(2*l+2,2,k)</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;            f(2*l+1,2,k)=f1r-f(2*l+1,2,k)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;            f(2*l+2,2,k)=f1i-f(2*l+2,2,k)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;          <span class="keywordflow">IF</span>(mp(k).EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            <span class="keywordflow">DO</span> l=0,lx</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;              f(2*l+1,1,k)=f(2*l+1,1,k)/clat</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;              f(2*l+2,1,k)=f(2*l+2,1,k)/clat</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;              f(2*l+1,2,k)=f(2*l+1,2,k)/clat</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;              f(2*l+2,2,k)=f(2*l+2,2,k)/clat</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spsynth_8f.html">spsynth.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptez_8f.html b/sptez_8f.html
new file mode 100644
index 00000000..e69c0bb0
--- /dev/null
+++ b/sptez_8f.html
@@ -0,0 +1,234 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptez.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptez_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptez.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform a simple scalar spherical transform.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptez_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a418a7d182834b2e2dafae2fe881ba9fc"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc">sptez</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, WAVE, GRID, IDIR)</td></tr>
+<tr class="memdesc:a418a7d182834b2e2dafae2fe881ba9fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform between spectral coefficients of a scalar quantity and a field on a global cylindrical grid.  <a href="sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc">More...</a><br /></td></tr>
+<tr class="separator:a418a7d182834b2e2dafae2fe881ba9fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform a simple scalar spherical transform. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptez_8f_source.html">sptez.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a418a7d182834b2e2dafae2fe881ba9fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a418a7d182834b2e2dafae2fe881ba9fc">&#9670;&nbsp;</a></span>sptez()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptez </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2))&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax)&#160;</td>
+          <td class="paramname"><em>GRID</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform between spectral coefficients of a scalar quantity and a field on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid.</p>
+<p>The wave field is in sequential 'IBM ORDER'.</p>
+<p>The grid field is indexed East to West, then North to South.</p>
+<p>For more flexibility and efficiency, call <a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptran()</a>.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid,</li>
+<li>IDRT=0 for equally-spaced grid including poles,</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVE</td><td>wave field if IDIR&gt;0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRID</td><td>grid field (E-&gt;W,N-&gt;S) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptez_8f_source.html#l00049">49</a> of file <a class="el" href="sptez_8f_source.html">sptez.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, and <a class="el" href="sptranf_8f_source.html#l00077">sptranf()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptez_8f.html">sptez.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptez_8f.js b/sptez_8f.js
new file mode 100644
index 00000000..03fe31e3
--- /dev/null
+++ b/sptez_8f.js
@@ -0,0 +1,4 @@
+var sptez_8f =
+[
+    [ "sptez", "sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc", null ]
+];
\ No newline at end of file
diff --git a/sptez_8f_source.html b/sptez_8f_source.html
new file mode 100644
index 00000000..c72ceb9b
--- /dev/null
+++ b/sptez_8f_source.html
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptez.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptez_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptez.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptez_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform a simple scalar spherical transform.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; between spectral coefficients of a scalar quantity</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; and a field on a global cylindrical grid.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; The wave field is in sequential &#39;IBM ORDER&#39;.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; The grid field is indexed East to West, then North to South.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; For more flexibility and efficiency, call sptran().</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid,</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles,</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param[out] WAVE wave field if IDIR&gt;0</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param[out] GRID grid field (E-&gt;W,N-&gt;S) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc">   49</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc">sptez</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,WAVE,GRID,IDIR)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keywordtype">      REAL</span> WAVE((MAXWV+1)*((IROMB+1)*MAXWV+2))</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">      REAL</span> GRID(IMAX,JMAX)</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      ip=1</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      is=1</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      jn=imax</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      kw=2*mx</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      kg=imax*jmax</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      jb=1</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      je=(jmax+1)/2</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">!   print *, &quot; EM: SPTEZ:::JJJJJJJJJJJJJJJJJJJCCCCCCCCCCC=&quot; ,JC </span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keywordflow">IF</span>(idir.LT.0) wave=0</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf</a>(iromb,maxwv,idrt,imax,jmax,1,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;     &amp;             ip,is,jn,js,kw,kg,jb,je,jc,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;     &amp;             wave,grid,grid(1,jmax),idir)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptez_8f_html_a418a7d182834b2e2dafae2fe881ba9fc"><div class="ttname"><a href="sptez_8f.html#a418a7d182834b2e2dafae2fe881ba9fc">sptez</a></div><div class="ttdeci">subroutine sptez(IROMB, MAXWV, IDRT, IMAX, JMAX, WAVE, GRID, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of a scalar quantity and...</div><div class="ttdef"><b>Definition:</b> <a href="sptez_8f_source.html#l00049">sptez.f:50</a></div></div>
+<div class="ttc" id="asptranf_8f_html_acf086b5141203e48bdb7250441a16c8c"><div class="ttname"><a href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf</a></div><div class="ttdeci">subroutine sptranf(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptranf_8f_source.html#l00074">sptranf.f:77</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptez_8f.html">sptez.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezd_8f.html b/sptezd_8f.html
new file mode 100644
index 00000000..dbb5f245
--- /dev/null
+++ b/sptezd_8f.html
@@ -0,0 +1,248 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezd.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezd_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptezd.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform a simple gradient spherical transform.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptezd_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a6c30b52dcb4da9e403eeeb307b9516d7"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7">sptezd</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, WAVE, GRIDMN, GRIDX, GRIDY, IDIR)</td></tr>
+<tr class="memdesc:a6c30b52dcb4da9e403eeeb307b9516d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform between spectral coefficients of a scalar field and its mean and gradient on a global cylindrical grid.  <a href="sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7">More...</a><br /></td></tr>
+<tr class="separator:a6c30b52dcb4da9e403eeeb307b9516d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform a simple gradient spherical transform. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptezd_8f_source.html">sptezd.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a6c30b52dcb4da9e403eeeb307b9516d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6c30b52dcb4da9e403eeeb307b9516d7">&#9670;&nbsp;</a></span>sptezd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptezd </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>GRIDMN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax)&#160;</td>
+          <td class="paramname"><em>GRIDX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax)&#160;</td>
+          <td class="paramname"><em>GRIDY</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform between spectral coefficients of a scalar field and its mean and gradient on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid.</p>
+<p>The wave field is in sequential 'IBM ORDER'.</p>
+<p>The grid fiels is indexed East to West, then North to South.</p>
+<p>For more flexibility and efficiency, call <a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptran()</a>.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid</li>
+<li>IDRT=0 for equally-spaced grid including poles</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVE</td><td>wave field if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDMN</td><td>global mean if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDX</td><td>grid x-gradients (E-&gt;W,N-&gt;S) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDY</td><td>grid y-gradients (E-&gt;W,N-&gt;S) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptezd_8f_source.html#l00050">50</a> of file <a class="el" href="sptezd_8f_source.html">sptezd.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, and <a class="el" href="sptrand_8f_source.html#l00092">sptrand()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezd_8f.html">sptezd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezd_8f.js b/sptezd_8f.js
new file mode 100644
index 00000000..d5a75e40
--- /dev/null
+++ b/sptezd_8f.js
@@ -0,0 +1,4 @@
+var sptezd_8f =
+[
+    [ "sptezd", "sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7", null ]
+];
\ No newline at end of file
diff --git a/sptezd_8f_source.html b/sptezd_8f_source.html
new file mode 100644
index 00000000..370a4b70
--- /dev/null
+++ b/sptezd_8f_source.html
@@ -0,0 +1,162 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezd.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezd_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptezd.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptezd_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform a simple gradient spherical transform.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; between spectral coefficients of a scalar field</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; and its mean and gradient on a global cylindrical grid.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; The wave field is in sequential &#39;IBM ORDER&#39;.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; The grid fiels is indexed East to West, then North to South.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; For more flexibility and efficiency, call sptran().</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param[out] WAVE wave field if IDIR&gt;0</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param[out] GRIDMN global mean if IDIR&lt;0</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param[out] GRIDX grid x-gradients (E-&gt;W,N-&gt;S) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param[out] GRIDY grid y-gradients (E-&gt;W,N-&gt;S) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7">   50</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7">sptezd</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;     &amp;                  WAVE,GRIDMN,GRIDX,GRIDY,IDIR)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordtype">      REAL</span> WAVE(*),GRIDX(IMAX,JMAX),GRIDY(IMAX,JMAX)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand</a>(iromb,maxwv,idrt,imax,jmax,1,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;     &amp;             0,0,0,0,0,0,0,0,jc,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;     &amp;             wave,gridmn,</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;     &amp;             gridx,gridx(1,jmax),gridy,gridy(1,jmax),1)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptezd_8f_html_a6c30b52dcb4da9e403eeeb307b9516d7"><div class="ttname"><a href="sptezd_8f.html#a6c30b52dcb4da9e403eeeb307b9516d7">sptezd</a></div><div class="ttdeci">subroutine sptezd(IROMB, MAXWV, IDRT, IMAX, JMAX, WAVE, GRIDMN, GRIDX, GRIDY, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of a scalar field and it...</div><div class="ttdef"><b>Definition:</b> <a href="sptezd_8f_source.html#l00050">sptezd.f:52</a></div></div>
+<div class="ttc" id="asptrand_8f_html_ae810abad32bcbdfb8345a30e50bcc1ef"><div class="ttname"><a href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand</a></div><div class="ttdeci">subroutine sptrand(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDMN, GRIDXN, GRIDXS, GRIDYN, GRIDYS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar fields and the...</div><div class="ttdef"><b>Definition:</b> <a href="sptrand_8f_source.html#l00088">sptrand.f:92</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezd_8f.html">sptezd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezm_8f.html b/sptezm_8f.html
new file mode 100644
index 00000000..57138f17
--- /dev/null
+++ b/sptezm_8f.html
@@ -0,0 +1,241 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezm.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezm_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptezm.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform simple scalar spherical transforms.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptezm_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a1430a0df2cba7eefaf67c939684be2d1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1">sptezm</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, WAVE, GRID, IDIR)</td></tr>
+<tr class="memdesc:a1430a0df2cba7eefaf67c939684be2d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs spherical transforms between spectral coefficients of scalar quantities and fields on a global cylindrical grid.  <a href="sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1">More...</a><br /></td></tr>
+<tr class="separator:a1430a0df2cba7eefaf67c939684be2d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform simple scalar spherical transforms. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptezm_8f_source.html">sptezm.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a1430a0df2cba7eefaf67c939684be2d1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1430a0df2cba7eefaf67c939684be2d1">&#9670;&nbsp;</a></span>sptezm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptezm </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2),kmax)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax,kmax)&#160;</td>
+          <td class="paramname"><em>GRID</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs spherical transforms between spectral coefficients of scalar quantities and fields on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid.</p>
+<p>Wave fields are in sequential 'IBM ORDER'.</p>
+<p>Grid fields are indexed East to West, then North to South.</p>
+<p>For more flexibility and efficiency, call <a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptran()</a>.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid</li>
+<li>IDRT=0 for equally-spaced grid including poles</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of fields to transform </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVE</td><td>wave field if IDIR&gt;0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRID</td><td>grid field (E-&gt;W,N-&gt;S) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptezm_8f_source.html#l00050">50</a> of file <a class="el" href="sptezm_8f_source.html">sptezm.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, and <a class="el" href="sptranf_8f_source.html#l00077">sptranf()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezm_8f.html">sptezm.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezm_8f.js b/sptezm_8f.js
new file mode 100644
index 00000000..d8cb8be0
--- /dev/null
+++ b/sptezm_8f.js
@@ -0,0 +1,4 @@
+var sptezm_8f =
+[
+    [ "sptezm", "sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1", null ]
+];
\ No newline at end of file
diff --git a/sptezm_8f_source.html b/sptezm_8f_source.html
new file mode 100644
index 00000000..4b9a7720
--- /dev/null
+++ b/sptezm_8f_source.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezm.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezm_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptezm.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptezm_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform simple scalar spherical transforms.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs spherical transforms</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; between spectral coefficients of scalar quantities</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; and fields on a global cylindrical grid.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; Wave fields are in sequential &#39;IBM ORDER&#39;.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; Grid fields are indexed East to West, then North to South.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; For more flexibility and efficiency, call sptran().</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param[out] WAVE wave field if IDIR&gt;0</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param[out] GRID grid field (E-&gt;W,N-&gt;S) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1">   50</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1">sptezm</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,WAVE,GRID,IDIR)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">      REAL</span> WAVE((MAXWV+1)*((IROMB+1)*MAXWV+2),KMAX)</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordtype">      REAL</span> GRID(IMAX,JMAX,KMAX)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      ip=1</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      is=1</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      jn=imax</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      kw=2*mx</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      kg=imax*jmax</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      jb=1</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      je=(jmax+1)/2</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keywordflow">IF</span>(idir.LT.0) wave=0</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf</a>(iromb,maxwv,idrt,imax,jmax,kmax,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;     &amp;             ip,is,jn,js,kw,kg,jb,je,jc,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;     &amp;             wave,grid,grid(1,jmax,1),idir)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptezm_8f_html_a1430a0df2cba7eefaf67c939684be2d1"><div class="ttname"><a href="sptezm_8f.html#a1430a0df2cba7eefaf67c939684be2d1">sptezm</a></div><div class="ttdeci">subroutine sptezm(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, WAVE, GRID, IDIR)</div><div class="ttdoc">This subprogram performs spherical transforms between spectral coefficients of scalar quantities and ...</div><div class="ttdef"><b>Definition:</b> <a href="sptezm_8f_source.html#l00050">sptezm.f:51</a></div></div>
+<div class="ttc" id="asptranf_8f_html_acf086b5141203e48bdb7250441a16c8c"><div class="ttname"><a href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf</a></div><div class="ttdeci">subroutine sptranf(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptranf_8f_source.html#l00074">sptranf.f:77</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezm_8f.html">sptezm.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezmd_8f.html b/sptezmd_8f.html
new file mode 100644
index 00000000..29e74a14
--- /dev/null
+++ b/sptezmd_8f.html
@@ -0,0 +1,255 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezmd.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezmd_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptezmd.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform simple gradient spherical transforms.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptezmd_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a2b9ead06893e51604bfb18928ddee996"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996">sptezmd</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, WAVE, GRIDMN, GRIDX, GRIDY, IDIR)</td></tr>
+<tr class="memdesc:a2b9ead06893e51604bfb18928ddee996"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs spherical transforms between spectral coefficients of scalar fields and their means and gradients on a global cylindrical grid.  <a href="sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996">More...</a><br /></td></tr>
+<tr class="separator:a2b9ead06893e51604bfb18928ddee996"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform simple gradient spherical transforms. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptezmd_8f_source.html">sptezmd.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a2b9ead06893e51604bfb18928ddee996"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2b9ead06893e51604bfb18928ddee996">&#9670;&nbsp;</a></span>sptezmd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptezmd </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2),kmax)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(kmax)&#160;</td>
+          <td class="paramname"><em>GRIDMN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax,kmax)&#160;</td>
+          <td class="paramname"><em>GRIDX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax,kmax)&#160;</td>
+          <td class="paramname"><em>GRIDY</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs spherical transforms between spectral coefficients of scalar fields and their means and gradients on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a gaussian grid.</p>
+<p>The wave fields are in sequential 'IBM ORDER'.</p>
+<p>The grid fields are indexed East to West, then North to South.</p>
+<p>For more flexibility and efficiency, call <a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptran()</a>.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid</li>
+<li>IDRT=0 for equally-spaced grid including poles</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVE</td><td>wave field if IDIR&gt;0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDMN</td><td>global mean if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDX</td><td>grid x-gradients (E-&gt;W,N-&gt;S) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDY</td><td>grid y-gradients (E-&gt;W,N-&gt;S) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptezmd_8f_source.html#l00052">52</a> of file <a class="el" href="sptezmd_8f_source.html">sptezmd.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, and <a class="el" href="sptrand_8f_source.html#l00092">sptrand()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezmd_8f.html">sptezmd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezmd_8f.js b/sptezmd_8f.js
new file mode 100644
index 00000000..31e96979
--- /dev/null
+++ b/sptezmd_8f.js
@@ -0,0 +1,4 @@
+var sptezmd_8f =
+[
+    [ "sptezmd", "sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996", null ]
+];
\ No newline at end of file
diff --git a/sptezmd_8f_source.html b/sptezmd_8f_source.html
new file mode 100644
index 00000000..881cc4cd
--- /dev/null
+++ b/sptezmd_8f_source.html
@@ -0,0 +1,165 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezmd.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezmd_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptezmd.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptezmd_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform simple gradient spherical transforms.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs spherical transforms</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; between spectral coefficients of scalar fields</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; and their means and gradients on a global cylindrical grid.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; (with or without pole points) or a gaussian grid.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; The wave fields are in sequential &#39;IBM ORDER&#39;.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; The grid fields are indexed East to West, then North to South.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; For more flexibility and efficiency, call sptran().</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param KMAX number</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param[out] WAVE wave field if IDIR&gt;0</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param[out] GRIDMN global mean if IDIR&lt;0</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param[out] GRIDX grid x-gradients (E-&gt;W,N-&gt;S) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param[out] GRIDY grid y-gradients (E-&gt;W,N-&gt;S) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996">   52</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996">sptezmd</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;     &amp;                   WAVE,GRIDMN,GRIDX,GRIDY,IDIR)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keywordtype">      REAL</span> WAVE((MAXWV+1)*((IROMB+1)*MAXWV+2),KMAX)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">      REAL</span> GRIDMN(KMAX),GRIDX(IMAX,JMAX,KMAX),GRIDY(IMAX,JMAX,KMAX)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand</a>(iromb,maxwv,idrt,imax,jmax,kmax,</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;     &amp;             0,0,0,0,0,0,0,0,jc,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;     &amp;             wave,gridmn,</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;     &amp;             gridx,gridx(1,jmax,1),gridy,gridy(1,jmax,1),idir)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptezmd_8f_html_a2b9ead06893e51604bfb18928ddee996"><div class="ttname"><a href="sptezmd_8f.html#a2b9ead06893e51604bfb18928ddee996">sptezmd</a></div><div class="ttdeci">subroutine sptezmd(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, WAVE, GRIDMN, GRIDX, GRIDY, IDIR)</div><div class="ttdoc">This subprogram performs spherical transforms between spectral coefficients of scalar fields and thei...</div><div class="ttdef"><b>Definition:</b> <a href="sptezmd_8f_source.html#l00052">sptezmd.f:54</a></div></div>
+<div class="ttc" id="asptrand_8f_html_ae810abad32bcbdfb8345a30e50bcc1ef"><div class="ttname"><a href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand</a></div><div class="ttdeci">subroutine sptrand(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDMN, GRIDXN, GRIDXS, GRIDYN, GRIDYS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar fields and the...</div><div class="ttdef"><b>Definition:</b> <a href="sptrand_8f_source.html#l00088">sptrand.f:92</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezmd_8f.html">sptezmd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezmv_8f.html b/sptezmv_8f.html
new file mode 100644
index 00000000..86831b90
--- /dev/null
+++ b/sptezmv_8f.html
@@ -0,0 +1,255 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezmv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezmv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptezmv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform simple vector spherical transforms.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptezmv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a22dc4fc10c5225ec8d3c12ed3cb4786e"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e">sptezmv</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, WAVED, WAVEZ, GRIDU, GRIDV, IDIR)</td></tr>
+<tr class="memdesc:a22dc4fc10c5225ec8d3c12ed3cb4786e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs spherical transforms between spectral coefficients of divergence and curl and vector fields on a global cylindrical grid.  <a href="sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e">More...</a><br /></td></tr>
+<tr class="separator:a22dc4fc10c5225ec8d3c12ed3cb4786e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform simple vector spherical transforms. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptezmv_8f_source.html">sptezmv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a22dc4fc10c5225ec8d3c12ed3cb4786e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a22dc4fc10c5225ec8d3c12ed3cb4786e">&#9670;&nbsp;</a></span>sptezmv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptezmv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2),kmax)&#160;</td>
+          <td class="paramname"><em>WAVED</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2),kmax)&#160;</td>
+          <td class="paramname"><em>WAVEZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax,kmax)&#160;</td>
+          <td class="paramname"><em>GRIDU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax,kmax)&#160;</td>
+          <td class="paramname"><em>GRIDV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs spherical transforms between spectral coefficients of divergence and curl and vector fields on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid.</p>
+<p>Wave fields are in sequential 'IBM ORDER'.</p>
+<p>Grid fields are indexed east to west, then north to south.</p>
+<p>For more flexibility and efficiency, call <a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptran()</a>.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid</li>
+<li>IDRT=0 for equally-spaced grid including poles</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of fields to transform </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVED</td><td>wave divergence field if IDIR&lt;0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVEZ</td><td>wave vorticity field if IDIR&gt;0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDU</td><td>grid u-wind (E-&gt;W,N-&gt;S) if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDV</td><td>grid v-wind (E-&gt;W,N-&gt;S) if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptezmv_8f_source.html#l00053">53</a> of file <a class="el" href="sptezmv_8f_source.html">sptezmv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, and <a class="el" href="sptranfv_8f_source.html#l00083">sptranfv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezmv_8f.html">sptezmv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezmv_8f.js b/sptezmv_8f.js
new file mode 100644
index 00000000..2b2725eb
--- /dev/null
+++ b/sptezmv_8f.js
@@ -0,0 +1,4 @@
+var sptezmv_8f =
+[
+    [ "sptezmv", "sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e", null ]
+];
\ No newline at end of file
diff --git a/sptezmv_8f_source.html b/sptezmv_8f_source.html
new file mode 100644
index 00000000..e3acbec4
--- /dev/null
+++ b/sptezmv_8f_source.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezmv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezmv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptezmv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptezmv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform simple vector spherical transforms.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs spherical transforms</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; between spectral coefficients of divergence and curl</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; and vector fields on a global cylindrical grid.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; Wave fields are in sequential &#39;IBM ORDER&#39;.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; Grid fields are indexed east to west, then north to south.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; For more flexibility and efficiency, call sptran().</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param[out] WAVED wave divergence field if IDIR&lt;0</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param[out] WAVEZ wave vorticity field if IDIR&gt;0</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param[out] GRIDU grid u-wind (E-&gt;W,N-&gt;S) if IDIR&gt;0</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param[out] GRIDV grid v-wind (E-&gt;W,N-&gt;S) if IDIR&gt;0</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e">   53</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e">sptezmv</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;     &amp;                   WAVED,WAVEZ,GRIDU,GRIDV,IDIR)</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">      REAL</span> WAVED((MAXWV+1)*((IROMB+1)*MAXWV+2),KMAX)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">      REAL</span> WAVEZ((MAXWV+1)*((IROMB+1)*MAXWV+2),KMAX)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keywordtype">      REAL</span> GRIDU(IMAX,JMAX,KMAX)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keywordtype">      REAL</span> GRIDV(IMAX,JMAX,KMAX)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      ip=1</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      is=1</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      jn=imax</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      kw=2*mx</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      kg=imax*jmax</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      jb=1</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      je=(jmax+1)/2</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keywordflow">IF</span>(idir.LT.0) waved=0</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keywordflow">IF</span>(idir.LT.0) wavez=0</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv</a>(iromb,maxwv,idrt,imax,jmax,kmax,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;     &amp;              ip,is,jn,js,kw,kg,jb,je,jc,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;     &amp;              waved,wavez,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;     &amp;              gridu,gridu(1,jmax,1),gridv,gridv(1,jmax,1),idir)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptezmv_8f_html_a22dc4fc10c5225ec8d3c12ed3cb4786e"><div class="ttname"><a href="sptezmv_8f.html#a22dc4fc10c5225ec8d3c12ed3cb4786e">sptezmv</a></div><div class="ttdeci">subroutine sptezmv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, WAVED, WAVEZ, GRIDU, GRIDV, IDIR)</div><div class="ttdoc">This subprogram performs spherical transforms between spectral coefficients of divergence and curl an...</div><div class="ttdef"><b>Definition:</b> <a href="sptezmv_8f_source.html#l00053">sptezmv.f:55</a></div></div>
+<div class="ttc" id="asptranfv_8f_html_a1a7aabbd358d4fe984dac6813c98b106"><div class="ttname"><a href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv</a></div><div class="ttdeci">subroutine sptranfv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranfv_8f_source.html#l00080">sptranfv.f:83</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezmv_8f.html">sptezmv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezv_8f.html b/sptezv_8f.html
new file mode 100644
index 00000000..483d7cc3
--- /dev/null
+++ b/sptezv_8f.html
@@ -0,0 +1,248 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptezv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform a simple vector spherical transform.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptezv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a83e49d961c40a2621c3f2afe70846226"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226">sptezv</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, WAVED, WAVEZ, GRIDU, GRIDV, IDIR)</td></tr>
+<tr class="memdesc:a83e49d961c40a2621c3f2afe70846226"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform between spectral coefficients of divergence and curl and a vector field on a global cylindrical grid.  <a href="sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226">More...</a><br /></td></tr>
+<tr class="separator:a83e49d961c40a2621c3f2afe70846226"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform a simple vector spherical transform. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptezv_8f_source.html">sptezv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a83e49d961c40a2621c3f2afe70846226"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83e49d961c40a2621c3f2afe70846226">&#9670;&nbsp;</a></span>sptezv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptezv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2))&#160;</td>
+          <td class="paramname"><em>WAVED</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2))&#160;</td>
+          <td class="paramname"><em>WAVEZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax)&#160;</td>
+          <td class="paramname"><em>GRIDU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,jmax)&#160;</td>
+          <td class="paramname"><em>GRIDV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform between spectral coefficients of divergence and curl and a vector field on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid.</p>
+<p>The wave field is in sequential 'IBM order'.</p>
+<p>The grid field is indexed east to west, then north to south.</p>
+<p>For more flexibility and efficiency, call SPTRAN().</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Dimension   </th><th class="markdownTableHeadNone">Linear   </th><th class="markdownTableHeadNone">Quadratic    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>Spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>Spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>Grid identifier<ul>
+<li>IDRT=4 for Gaussian grid</li>
+<li>IDRT=0 for equally-spaced grid including poles</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>Even number of longitudes </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>Number of latitudes </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVED</td><td>Wave divergence field if IDIR&gt;0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVEZ</td><td>Wave vorticity field if IDIR&gt;0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDU</td><td>Grid u-wind (E-&gt;W,N-&gt;S) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDV</td><td>Grid v-wind (E-&gt;W,N-&gt;S) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>Transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptezv_8f_source.html#l00051">51</a> of file <a class="el" href="sptezv_8f_source.html">sptezv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, and <a class="el" href="sptranfv_8f_source.html#l00083">sptranfv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezv_8f.html">sptezv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptezv_8f.js b/sptezv_8f.js
new file mode 100644
index 00000000..d9e51fb2
--- /dev/null
+++ b/sptezv_8f.js
@@ -0,0 +1,4 @@
+var sptezv_8f =
+[
+    [ "sptezv", "sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226", null ]
+];
\ No newline at end of file
diff --git a/sptezv_8f_source.html b/sptezv_8f_source.html
new file mode 100644
index 00000000..3c9b5c1c
--- /dev/null
+++ b/sptezv_8f_source.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptezv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptezv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptezv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptezv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform a simple vector spherical transform</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; between spectral coefficients of divergence and curl</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; and a vector field on a global cylindrical grid.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; The wave field is in sequential &#39;IBM order&#39;.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; The grid field is indexed east to west, then north to south.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; For more flexibility and efficiency, call SPTRAN().</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; Dimension                    |Linear              |Quadratic</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param IROMB Spectral domain shape</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param MAXWV Spectral truncation</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param IDRT Grid identifier</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param IMAX Even number of longitudes</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param JMAX Number of latitudes</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param[out] WAVED Wave divergence field if IDIR&gt;0</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param[out] WAVEZ Wave vorticity field if IDIR&gt;0</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param[out] GRIDU Grid u-wind (E-&gt;W,N-&gt;S) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param[out] GRIDV Grid v-wind (E-&gt;W,N-&gt;S) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param IDIR Transform flag</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave)</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226">   51</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226">sptezv</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;     &amp;                  WAVED,WAVEZ,GRIDU,GRIDV,IDIR)</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keywordtype">      REAL</span> WAVED((MAXWV+1)*((IROMB+1)*MAXWV+2))</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keywordtype">      REAL</span> WAVEZ((MAXWV+1)*((IROMB+1)*MAXWV+2))</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">      REAL</span> GRIDU(IMAX,JMAX)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">      REAL</span> GRIDV(IMAX,JMAX)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      ip=1</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      is=1</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      jn=imax</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      kw=2*mx</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      kg=imax*jmax</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      jb=1</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      je=(jmax+1)/2</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keywordflow">IF</span>(idir.LT.0) waved=0</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keywordflow">IF</span>(idir.LT.0) wavez=0</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv</a>(iromb,maxwv,idrt,imax,jmax,1,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;     &amp;              ip,is,jn,js,kw,kg,jb,je,jc,</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;     &amp;              waved,wavez,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;     &amp;              gridu,gridu(1,jmax),gridv,gridv(1,jmax),idir)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptezv_8f_html_a83e49d961c40a2621c3f2afe70846226"><div class="ttname"><a href="sptezv_8f.html#a83e49d961c40a2621c3f2afe70846226">sptezv</a></div><div class="ttdeci">subroutine sptezv(IROMB, MAXWV, IDRT, IMAX, JMAX, WAVED, WAVEZ, GRIDU, GRIDV, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergence and curl a...</div><div class="ttdef"><b>Definition:</b> <a href="sptezv_8f_source.html#l00051">sptezv.f:53</a></div></div>
+<div class="ttc" id="asptranfv_8f_html_a1a7aabbd358d4fe984dac6813c98b106"><div class="ttname"><a href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv</a></div><div class="ttdeci">subroutine sptranfv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranfv_8f_source.html#l00080">sptranfv.f:83</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptezv_8f.html">sptezv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpm_8f.html b/sptgpm_8f.html
new file mode 100644
index 00000000..13c6c40e
--- /dev/null
+++ b/sptgpm_8f.html
@@ -0,0 +1,267 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpm.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpm_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgpm.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral scalar to Mercator.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgpm_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a6cffaeaa602eaae5c03166f48065158d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a> (IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVE, GM)</td></tr>
+<tr class="memdesc:a6cffaeaa602eaae5c03166f48065158d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to scalar fields on a Mercator grid.  <a href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">More...</a><br /></td></tr>
+<tr class="separator:a6cffaeaa602eaae5c03166f48065158d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral scalar to Mercator. </p>
+<h3><a class="anchor" id="autotoc_md55"></a>
+Program history log:</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">OpenMP directives inserted.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgpm_8f_source.html">sptgpm.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a6cffaeaa602eaae5c03166f48065158d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6cffaeaa602eaae5c03166f48065158d">&#9670;&nbsp;</a></span>sptgpm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgpm </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MJ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLAT1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLON1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GM</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of scalar quantities to scalar fields on a Mercator grid. </p>
+<p>The wave-space can be either triangular or rhomboidal. The wave and grid fields may have general indexing, but each wave field is in sequential 'ibm order', i.e. with zonal wavenumber as the slower index. The Mercator grid is identified by the location of its first point and by its respective increments. The transforms are all multiprocessed over sector points. Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>Spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>Spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>Number of fields to transform </td></tr>
+    <tr><td class="paramname">MI</td><td>Number of points in the faster zonal direction </td></tr>
+    <tr><td class="paramname">MJ</td><td>Number of points in the slower merid direction </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>Skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>Skip number between grid fields (defaults to MI*MJ if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>Skip number between grid i-points (defaults to 1 if NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>Skip number between grid j-points (defaults to MI if NJSKIP=0) </td></tr>
+    <tr><td class="paramname">RLAT1</td><td>Latitude of the first grid point in degrees </td></tr>
+    <tr><td class="paramname">RLON1</td><td>Longitude of the first grid point in degrees </td></tr>
+    <tr><td class="paramname">DLAT</td><td>Latitude increment in degrees such that D(PHI)/D(J)=DLAT*COS(PHI) where J is meridional index. DLAT is negative for grids indexed southward. (in terms of grid increment DY valid at latitude RLATI, the latitude increment DLAT is determined as DLAT=DPR*DY/(RERTH*COS(RLATI/DPR)) where DPR=180/PI and RERTH is earth's radius) </td></tr>
+    <tr><td class="paramname">DLON</td><td>Longitude increment in degrees such that D(LAMBDA)/D(I)=DLON where I is zonal index. DLON is negative for grids indexed westward. </td></tr>
+    <tr><td class="paramname">WAVE</td><td>Wave fields </td></tr>
+    <tr><td class="paramname">GM</td><td>Mercator fields</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgpm_8f_source.html#l00053">53</a> of file <a class="el" href="sptgpm_8f_source.html">sptgpm.f</a>.</p>
+
+<p class="reference">References <a class="el" href="splegend_8f_source.html#l00045">splegend()</a>, <a class="el" href="spsynth_8f_source.html#l00039">spsynth()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptrunm_8f_source.html#l00080">sptrunm()</a>, and <a class="el" href="sptrunmv_8f_source.html#l00096">sptrunmv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpm_8f.html">sptgpm.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpm_8f.js b/sptgpm_8f.js
new file mode 100644
index 00000000..d1806195
--- /dev/null
+++ b/sptgpm_8f.js
@@ -0,0 +1,4 @@
+var sptgpm_8f =
+[
+    [ "sptgpm", "sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d", null ]
+];
\ No newline at end of file
diff --git a/sptgpm_8f_source.html b/sptgpm_8f_source.html
new file mode 100644
index 00000000..48cf1a00
--- /dev/null
+++ b/sptgpm_8f_source.html
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpm.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpm_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgpm.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgpm_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral scalar to Mercator</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; ### Program history log:</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; Date       | Programmer | Comments</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; -----------|------------|---------</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt;   96-02-29 | IREDELL | Initial.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 1998-12-15 | IREDELL | OpenMP directives inserted.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; from spectral coefficients of scalar quantities</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; to scalar fields on a Mercator grid.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;ibm order&#39;,</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; The Mercator grid is identified by the location</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; of its first point and by its respective increments.</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over sector points.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param IROMB Spectral domain shape</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param MAXWV Spectral truncation</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param KMAX Number of fields to transform</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param MI Number of points in the faster zonal direction</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param MJ Number of points in the slower merid direction</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param KWSKIP Skip number between wave fields</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param KGSKIP Skip number between grid fields</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; (defaults to MI*MJ if KGSKIP=0)</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param NISKIP Skip number between grid i-points</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; (defaults to 1 if NISKIP=0)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param NJSKIP Skip number between grid j-points</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; (defaults to MI if NJSKIP=0)</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param RLAT1 Latitude of the first grid point in degrees</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param RLON1 Longitude of the first grid point in degrees</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param DLAT Latitude increment in degrees such that</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; D(PHI)/D(J)=DLAT*COS(PHI) where J is meridional index.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; DLAT is negative for grids indexed southward.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; (in terms of grid increment DY valid at latitude RLATI,</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; the latitude increment DLAT is determined as</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; DLAT=DPR*DY/(RERTH*COS(RLATI/DPR))</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; where DPR=180/PI and RERTH is earth&#39;s radius)</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param DLON Longitude increment in degrees such that</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; D(LAMBDA)/D(I)=DLON where I is zonal index.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; DLON is negative for grids indexed westward.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param WAVE Wave fields</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @param GM Mercator fields</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">   53</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a>(IROMB,MAXWV,KMAX,MI,MJ,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;     &amp;                  KWSKIP,KGSKIP,NISKIP,NJSKIP,</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;     &amp;                  RLAT1,RLON1,DLAT,DLON,WAVE,GM)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">      REAL</span> WAVE(*),GM(*)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keywordtype">INTEGER</span> MP(KMAX)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1),KMAX)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">      REAL</span> F(2*MAXWV+3,2,KMAX)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordtype">      REAL</span> CLAT(MJ),SLAT(MJ),CLON(MAXWV,MI),SLON(MAXWV,MI)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      parameter(rerth=6.3712e6)</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      parameter(pi=3.14159265358979,dpr=180./pi)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      mxtop=maxwv+1</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      idim=2*maxwv+3</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      ni=niskip</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      nj=njskip</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=mi*mj</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keywordflow">IF</span>(ni.EQ.0) ni=1</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keywordflow">IF</span>(nj.EQ.0) nj=mi</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <span class="keywordflow">DO</span> i=1,mi</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        rlon=mod(rlon1+dlon*(i-1)+3600,360.)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;          clon(l,i)=cos(l*rlon/dpr)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;          slon(l,i)=sin(l*rlon/dpr)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      ye=1-log(tan((rlat1+90)/2/dpr))*dpr/dlat</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keywordflow">DO</span> j=1,mj</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        rlat=atan(exp(dlat/dpr*(j-ye)))*2*dpr-90</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        clat(j)=cos(rlat/dpr)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        slat(j)=sin(rlat/dpr)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      mp=0</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        wtop(1:2*mxtop,k)=0</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">C  TRANSFORM TO GRID</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(PLN,PLNTOP,F,IJK)</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keywordflow">DO</span> j=1,mj</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat(j),clat(j),eps,epstop,</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,kw,2*mxtop,kmax,</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;     &amp;               clat(j),pln,plntop,mp,wave,wtop,f)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;          <span class="keywordflow">DO</span> i=1,mi</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;            ijk=(i-1)*ni+(j-1)*nj+(k-1)*kg+1</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;            gm(ijk)=f(1,1,k)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;            <span class="keywordflow">DO</span> i=1,mi</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;              ijk=(i-1)*ni+(j-1)*nj+(k-1)*kg+1</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;              gm(ijk)=gm(ijk)+2.*(f(2*l+1,1,k)*clon(l,i)</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;     &amp;                           -f(2*l+2,1,k)*slon(l,i))</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+<div class="ttc" id="asptgpm_8f_html_a6cffaeaa602eaae5c03166f48065158d"><div class="ttname"><a href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a></div><div class="ttdeci">subroutine sptgpm(IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVE, GM)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpm_8f_source.html#l00053">sptgpm.f:56</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpm_8f.html">sptgpm.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpmd_8f.html b/sptgpmd_8f.html
new file mode 100644
index 00000000..8471d635
--- /dev/null
+++ b/sptgpmd_8f.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpmd.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpmd_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgpmd.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral to Mercator gradients.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgpmd_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:af71718c75a2b24b74fa7e1e4318d0539"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539">sptgpmd</a> (IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVE, XM, YM)</td></tr>
+<tr class="memdesc:af71718c75a2b24b74fa7e1e4318d0539"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradient fields on a Mercator grid.  <a href="sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539">More...</a><br /></td></tr>
+<tr class="separator:af71718c75a2b24b74fa7e1e4318d0539"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral to Mercator gradients. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgpmd_8f_source.html">sptgpmd.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="af71718c75a2b24b74fa7e1e4318d0539"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af71718c75a2b24b74fa7e1e4318d0539">&#9670;&nbsp;</a></span>sptgpmd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgpmd </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MJ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLAT1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLON1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>XM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>YM</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradient fields on a Mercator grid. </p>
+<p>The wave-space can be either triangular or rhomboidal. The wave and grid fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>The Mercator grid is identified by the location of its first point and by its respective increments.</p>
+<p>The transforms are all multiprocessed over sector points.</p>
+<p>Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>Spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>Spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>Number of fields to transform </td></tr>
+    <tr><td class="paramname">MI</td><td>Number of points in the faster zonal direction </td></tr>
+    <tr><td class="paramname">MJ</td><td>Number of points in the slower merid direction </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>Skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>Skip number between grid fields (defaults to MI*MJ if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>Skip number between grid i-points (defaults to 1 if NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>Skip number between grid j-points (defaults to MI if NJSKIP=0) </td></tr>
+    <tr><td class="paramname">RLAT1</td><td>Latitude of the first grid point in degrees </td></tr>
+    <tr><td class="paramname">RLON1</td><td>Longitude of the first grid point in degrees </td></tr>
+    <tr><td class="paramname">DLAT</td><td>Latitude increment in degrees such that D(PHI)/D(J)=DLAT*COS(PHI) where J is meridional index. DLAT is negative for grids indexed southward. (in terms of grid increment dy valid at latitude RLATI, the latitude increment DLAT is determined as DLAT=DPR*DY/(RERTH*COS(RLATI/DPR)) where DPR=180/PI and RERTH is Earth's radius) </td></tr>
+    <tr><td class="paramname">DLON</td><td>Longitude increment in degrees such that D(LAMBDA)/D(I)=DLON where I is zonal index. DLON is negative for grids indexed westward. </td></tr>
+    <tr><td class="paramname">WAVE</td><td>Wave fields </td></tr>
+    <tr><td class="paramname">XM</td><td>Mercator x-gradients </td></tr>
+    <tr><td class="paramname">YM</td><td>Mercator y-gradients</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgpmd_8f_source.html#l00053">53</a> of file <a class="el" href="sptgpmd_8f_source.html">sptgpmd.f</a>.</p>
+
+<p class="reference">References <a class="el" href="splaplac_8f_source.html#l00025">splaplac()</a>, <a class="el" href="sptgpmv_8f_source.html#l00063">sptgpmv()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpmd_8f.html">sptgpmd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpmd_8f.js b/sptgpmd_8f.js
new file mode 100644
index 00000000..37a6a937
--- /dev/null
+++ b/sptgpmd_8f.js
@@ -0,0 +1,4 @@
+var sptgpmd_8f =
+[
+    [ "sptgpmd", "sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539", null ]
+];
\ No newline at end of file
diff --git a/sptgpmd_8f_source.html b/sptgpmd_8f_source.html
new file mode 100644
index 00000000..6bacf70f
--- /dev/null
+++ b/sptgpmd_8f_source.html
@@ -0,0 +1,184 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpmd.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpmd_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgpmd.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgpmd_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral to Mercator gradients.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; from spectral coefficients of scalar fields</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; to gradient fields on a Mercator grid.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; The Mercator grid is identified by the location</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; of its first point and by its respective increments.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over sector points.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param IROMB Spectral domain shape</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param MAXWV Spectral truncation</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param KMAX Number of fields to transform</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param MI Number of points in the faster zonal direction</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param MJ Number of points in the slower merid direction</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param KWSKIP Skip number between wave fields</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;                (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param KGSKIP Skip number between grid fields</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt;                (defaults to MI*MJ if KGSKIP=0)</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param NISKIP Skip number between grid i-points</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;                (defaults to 1 if NISKIP=0)</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param NJSKIP Skip number between grid j-points</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;                (defaults to MI if NJSKIP=0)</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param RLAT1 Latitude of the first grid point in degrees</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param RLON1 Longitude of the first grid point in degrees</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param DLAT Latitude increment in degrees such that</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; D(PHI)/D(J)=DLAT*COS(PHI) where J is meridional index.</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; DLAT is negative for grids indexed southward.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; (in terms of grid increment dy valid at latitude RLATI,</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; the latitude increment DLAT is determined as</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; DLAT=DPR*DY/(RERTH*COS(RLATI/DPR))</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; where DPR=180/PI and RERTH is Earth&#39;s radius)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param DLON Longitude increment in degrees such that</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; D(LAMBDA)/D(I)=DLON where I is zonal index.</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; DLON is negative for grids indexed westward.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param WAVE Wave fields</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param XM Mercator x-gradients</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @param YM Mercator y-gradients</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539">   53</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539">sptgpmd</a>(IROMB,MAXWV,KMAX,MI,MJ,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;     &amp;                   KWSKIP,KGSKIP,NISKIP,NJSKIP,</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;     &amp;                   RLAT1,RLON1,DLAT,DLON,WAVE,XM,YM)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">      REAL</span> WAVE(*),XM(*),YM(*)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keywordtype">      REAL</span> WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keywordtype">      REAL</span> WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C  CALCULATE GRADIENTS</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS)</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        kws=(k-1)*kw</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wave(kws+1),wd(1,k),1)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        wz(1:2*mx,k)=0.</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">sptgpmv</a>(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;     &amp;             rlat1,rlon1,dlat,dlon,wd,wz,xm,ym)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+<div class="ttc" id="asptgpmd_8f_html_af71718c75a2b24b74fa7e1e4318d0539"><div class="ttname"><a href="sptgpmd_8f.html#af71718c75a2b24b74fa7e1e4318d0539">sptgpmd</a></div><div class="ttdeci">subroutine sptgpmd(IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVE, XM, YM)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradien...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpmd_8f_source.html#l00053">sptgpmd.f:56</a></div></div>
+<div class="ttc" id="asptgpmv_8f_html_a15de3accfd448d116324872c8fb1bb17"><div class="ttname"><a href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">sptgpmv</a></div><div class="ttdeci">subroutine sptgpmv(IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVED, WAVEZ, UM, VM)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpmv_8f_source.html#l00060">sptgpmv.f:63</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpmd_8f.html">sptgpmd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpmv_8f.html b/sptgpmv_8f.html
new file mode 100644
index 00000000..2312de75
--- /dev/null
+++ b/sptgpmv_8f.html
@@ -0,0 +1,285 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpmv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpmv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgpmv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral vector to Mercator.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgpmv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a15de3accfd448d116324872c8fb1bb17"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">sptgpmv</a> (IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVED, WAVEZ, UM, VM)</td></tr>
+<tr class="memdesc:a15de3accfd448d116324872c8fb1bb17"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to vector fields on a Mercator grid.  <a href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">More...</a><br /></td></tr>
+<tr class="separator:a15de3accfd448d116324872c8fb1bb17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral vector to Mercator. </p>
+<h3><a class="anchor" id="autotoc_md56"></a>
+Program history log:</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">OpenMP directives inserted.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgpmv_8f_source.html">sptgpmv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a15de3accfd448d116324872c8fb1bb17"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a15de3accfd448d116324872c8fb1bb17">&#9670;&nbsp;</a></span>sptgpmv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgpmv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MJ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLAT1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLON1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVED</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVEZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>UM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VM</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of divergences and curls to vector fields on a Mercator grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The wave and grid fields may have general indexing, but each wave field is in sequential 'ibm order', i.e., with zonal wavenumber as the slower index.</p>
+<p>The Mercator grid is identified by the location of its first point and by its respective increments.</p>
+<p>The transforms are all multiprocessed over sector points. Transform several fields at a time to improve vectorization.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>Spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>Spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>Number of fields to transform </td></tr>
+    <tr><td class="paramname">MI</td><td>Number of points in the faster zonal direction </td></tr>
+    <tr><td class="paramname">MJ</td><td>Number of points in the slower merid direction </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>Skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>Skip number between grid fields (defaults to MI*MJ if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>Skip number between grid i-points (defaults to 1 if NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>Skip number between grid j-points (defaults to MI if NJSKIP=0) </td></tr>
+    <tr><td class="paramname">RLAT1</td><td>Latitude of the first grid point in degrees </td></tr>
+    <tr><td class="paramname">RLON1</td><td>Longitude of the first grid point in degrees </td></tr>
+    <tr><td class="paramname">DLAT</td><td>Latitude increment in degrees such that D(PHI)/D(J)=DLAT*COS(PHI) where J is meridional index. DLAT is negative for grids indexed southward. (in terms of grid increment dy valid at latitude RLATI, The latitude increment DLAT is determined as DLAT=DPR*DY/(RERTH*COS(RLATI/DPR)) where DPR=180/PI and RERTH is Earth's radius) </td></tr>
+    <tr><td class="paramname">DLON</td><td>longitude increment in degrees such that D(LAMBDA)/D(I)=DLON where I is zonal index. DLON is negative for grids indexed westward. </td></tr>
+    <tr><td class="paramname">WAVED</td><td>Wave divergence fields </td></tr>
+    <tr><td class="paramname">WAVEZ</td><td>Wave vorticity fields </td></tr>
+    <tr><td class="paramname">UM</td><td>Mercator u-winds </td></tr>
+    <tr><td class="paramname">VM</td><td>Mercator v-winds</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgpmv_8f_source.html#l00060">60</a> of file <a class="el" href="sptgpmv_8f_source.html">sptgpmv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="spdz2uv_8f_source.html#l00049">spdz2uv()</a>, <a class="el" href="splegend_8f_source.html#l00045">splegend()</a>, <a class="el" href="spsynth_8f_source.html#l00039">spsynth()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgpmd_8f_source.html#l00056">sptgpmd()</a>, and <a class="el" href="sptrunmv_8f_source.html#l00096">sptrunmv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpmv_8f.html">sptgpmv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpmv_8f.js b/sptgpmv_8f.js
new file mode 100644
index 00000000..a46a2628
--- /dev/null
+++ b/sptgpmv_8f.js
@@ -0,0 +1,4 @@
+var sptgpmv_8f =
+[
+    [ "sptgpmv", "sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17", null ]
+];
\ No newline at end of file
diff --git a/sptgpmv_8f_source.html b/sptgpmv_8f_source.html
new file mode 100644
index 00000000..4c03f661
--- /dev/null
+++ b/sptgpmv_8f_source.html
@@ -0,0 +1,247 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpmv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpmv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgpmv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgpmv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral vector to Mercator</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; ### Program history log:</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; -----|------------|----------</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; 96-02-29 | IREDELL | Initial.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 1998-12-15 | IREDELL | OpenMP directives inserted.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; from spectral coefficients of divergences and curls</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; to vector fields on a Mercator grid.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;ibm order&#39;,</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; i.e., with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; The Mercator grid is identified by the location</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; of its first point and by its respective increments.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over sector points.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param IROMB Spectral domain shape</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param MAXWV Spectral truncation</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param KMAX Number of fields to transform</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param MI Number of points in the faster zonal direction</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param MJ Number of points in the slower merid direction</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param KWSKIP Skip number between wave fields</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param KGSKIP Skip number between grid fields</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; (defaults to MI*MJ if KGSKIP=0)</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param NISKIP Skip number between grid i-points</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; (defaults to 1 if NISKIP=0)</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param NJSKIP Skip number between grid j-points</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; (defaults to MI if NJSKIP=0)</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param RLAT1 Latitude of the first grid point in degrees</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param RLON1 Longitude of the first grid point in degrees</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param DLAT Latitude increment in degrees such that</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; D(PHI)/D(J)=DLAT*COS(PHI) where J is meridional index.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; DLAT is negative for grids indexed southward.</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; (in terms of grid increment dy valid at latitude RLATI,</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; The latitude increment DLAT is determined as</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; DLAT=DPR*DY/(RERTH*COS(RLATI/DPR))</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; where DPR=180/PI and RERTH is Earth&#39;s radius)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param DLON longitude increment in degrees such that</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; D(LAMBDA)/D(I)=DLON where I is zonal index.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; DLON is negative for grids indexed westward.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; @param WAVED Wave divergence fields</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; @param WAVEZ Wave vorticity fields</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param UM Mercator u-winds</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param VM Mercator v-winds</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">   60</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">sptgpmv</a>(IROMB,MAXWV,KMAX,MI,MJ,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;     &amp;                   KWSKIP,KGSKIP,NISKIP,NJSKIP,</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;     &amp;                   RLAT1,RLON1,DLAT,DLON,WAVED,WAVEZ,UM,VM)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordtype">      REAL</span> WAVED(*),WAVEZ(*),UM(*),VM(*)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keywordtype">INTEGER</span> MP(2*KMAX)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keywordtype">      REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,2*KMAX)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1),2*KMAX)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keywordtype">      REAL</span> F(2*MAXWV+3,2,2*KMAX)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">      REAL</span> CLAT(MJ),SLAT(MJ),CLON(MAXWV,MI),SLON(MAXWV,MI)</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      parameter(rerth=6.3712e6)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      parameter(pi=3.14159265358979,dpr=180./pi)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      mxtop=maxwv+1</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      idim=2*maxwv+3</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      ni=niskip</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      nj=njskip</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=mi*mj</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keywordflow">IF</span>(ni.EQ.0) ni=1</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keywordflow">IF</span>(nj.EQ.0) nj=mi</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keywordflow">DO</span> i=1,mi</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        rlon=mod(rlon1+dlon*(i-1)+3600,360.)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;          clon(l,i)=cos(l*rlon/dpr)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;          slon(l,i)=sin(l*rlon/dpr)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      ye=1-log(tan((rlat1+90)/2/dpr))*dpr/dlat</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keywordflow">DO</span> j=1,mj</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        rlat=atan(exp(dlat/dpr*(j-ye)))*2*dpr-90</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        clat(j)=cos(rlat/dpr)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        slat(j)=sin(rlat/dpr)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      mp=1</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">C  CALCULATE SPECTRAL WINDS</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS)</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        kws=(k-1)*kw</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a>(iromb,maxwv,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;     &amp;               waved(kws+1),wavez(kws+1),</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;     &amp;               w(1,k),w(1,kmax+k),wtop(1,k),wtop(1,kmax+k))</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">C  TRANSFORM TO GRID</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(PLN,PLNTOP,F,KU,KV,IJK)</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keywordflow">DO</span> j=1,mj</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat(j),clat(j),eps,epstop,</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,mdim,2*mxtop,2*kmax,</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;     &amp;               clat(j),pln,plntop,mp,w,wtop,f)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;          ku=k</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;          kv=k+kmax</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;          <span class="keywordflow">DO</span> i=1,mi</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;            ijk=(i-1)*ni+(j-1)*nj+(k-1)*kg+1</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;            um(ijk)=f(1,1,ku)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;            vm(ijk)=f(1,1,kv)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;            <span class="keywordflow">DO</span> i=1,mi</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;              ijk=(i-1)*ni+(j-1)*nj+(k-1)*kg+1</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;              um(ijk)=um(ijk)+2.*(f(2*l+1,1,ku)*clon(l,i)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;     &amp;                           -f(2*l+2,1,ku)*slon(l,i))</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;              vm(ijk)=vm(ijk)+2.*(f(2*l+1,1,kv)*clon(l,i)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;     &amp;                           -f(2*l+2,1,kv)*slon(l,i))</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspdz2uv_8f_html_ae3a4a74c49f78a25425b610743dc0692"><div class="ttname"><a href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a></div><div class="ttdeci">subroutine spdz2uv(I, M, ENN1, ELONN1, EON, EONTOP, D, Z, U, V, UTOP, VTOP)</div><div class="ttdoc">Computes the wind components from divergence and vorticity in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spdz2uv_8f_source.html#l00048">spdz2uv.f:49</a></div></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+<div class="ttc" id="asptgpmv_8f_html_a15de3accfd448d116324872c8fb1bb17"><div class="ttname"><a href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">sptgpmv</a></div><div class="ttdeci">subroutine sptgpmv(IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVED, WAVEZ, UM, VM)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpmv_8f_source.html#l00060">sptgpmv.f:63</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpmv_8f.html">sptgpmv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgps_8f.html b/sptgps_8f.html
new file mode 100644
index 00000000..0ea18ca6
--- /dev/null
+++ b/sptgps_8f.html
@@ -0,0 +1,281 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgps.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgps_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgps.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral scalar to polar stereo.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgps_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:af06a2dccfa311014fc9f671b14f247b2"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a> (IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVE, GN, GS)</td></tr>
+<tr class="memdesc:af06a2dccfa311014fc9f671b14f247b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to scalar fields on a pair of polar stereographic grids.  <a href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">More...</a><br /></td></tr>
+<tr class="separator:af06a2dccfa311014fc9f671b14f247b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral scalar to polar stereo. </p>
+<h3><a class="anchor" id="autotoc_md57"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Openmp directives inserted.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgps_8f_source.html">sptgps.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="af06a2dccfa311014fc9f671b14f247b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af06a2dccfa311014fc9f671b14f247b2">&#9670;&nbsp;</a></span>sptgps()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgps </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>TRUE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>XMESH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ORIENT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GS</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of scalar quantities to scalar fields on a pair of polar stereographic grids. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The wave and grid fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>The two square polar stereographic grids are centered on the respective poles, with the orientation longitude of the southern hemisphere grid 180 degrees opposite that of the northern hemisphere grid.</p>
+<p>The transform is made efficient by combining points in eight sectors of each polar stereographic grid, <br  />
+ numbered as in the diagram below.</p>
+<p>The pole and the sector boundaries <br  />
+ are treated specially in the code. <br  />
+</p>
+<p>Unfortunately, this approach induces some hairy indexing and code loquacity.</p>
+<pre>
+              \ 4 | 5 /
+               \  |  /
+              3 \ | / 6
+                 |/
+              ----+----
+                 /|\
+              2 / | \ 7
+               /  |  \
+              / 1 | 8 \
+ </pre><p>The transforms are all multiprocessed over sector points.</p>
+<p>Transform several fields at a time to improve vectorization.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramname">NPS</td><td>odd order of the polar stereographic grids. </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>skip number between grid fields (defaults to NPS*NPS if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>skip number between grid i-points (defaults to 1 if NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>skip number between grid j-points (defaults to NPS if NJSKIP=0) </td></tr>
+    <tr><td class="paramname">TRUE</td><td>latitude at which ps grid is true (usually 60.) </td></tr>
+    <tr><td class="paramname">XMESH</td><td>grid length at true latitude (m) </td></tr>
+    <tr><td class="paramname">ORIENT</td><td>longitude at bottom of northern ps grid (southern ps grid will have opposite orientation.) </td></tr>
+    <tr><td class="paramname">WAVE</td><td>wave fields </td></tr>
+    <tr><td class="paramname">GN</td><td>northern polar stereographic fields </td></tr>
+    <tr><td class="paramname">GS</td><td>southern polar stereographic fields</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgps_8f_source.html#l00078">78</a> of file <a class="el" href="sptgps_8f_source.html">sptgps.f</a>.</p>
+
+<p class="reference">References <a class="el" href="splegend_8f_source.html#l00045">splegend()</a>, <a class="el" href="spsynth_8f_source.html#l00039">spsynth()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptruns_8f_source.html#l00075">sptruns()</a>, and <a class="el" href="sptrunsv_8f_source.html#l00094">sptrunsv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgps_8f.html">sptgps.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgps_8f.js b/sptgps_8f.js
new file mode 100644
index 00000000..8cdfa429
--- /dev/null
+++ b/sptgps_8f.js
@@ -0,0 +1,4 @@
+var sptgps_8f =
+[
+    [ "sptgps", "sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2", null ]
+];
\ No newline at end of file
diff --git a/sptgps_8f_source.html b/sptgps_8f_source.html
new file mode 100644
index 00000000..5e1936ad
--- /dev/null
+++ b/sptgps_8f_source.html
@@ -0,0 +1,650 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgps.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgps_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgps.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgps_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral scalar to polar stereo.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Openmp directives inserted.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; from spectral coefficients of scalar quantities</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; to scalar fields on a pair of polar stereographic grids.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; The two square polar stereographic grids are centered</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; on the respective poles, with the orientation longitude</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; of the southern hemisphere grid 180 degrees opposite</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; that of the northern hemisphere grid.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; The transform is made efficient</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; by combining points in eight sectors</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; of each polar stereographic grid,   </span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; numbered as in the diagram below.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; The pole and the sector boundaries  </span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; are treated specially in the code.  </span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; Unfortunately, this approach induces</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; some hairy indexing and code loquacity.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; &lt;pre&gt;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt;              \ 4 | 5 /</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt;               \  |  /</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt;              3 \ | / 6</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;                 \|/</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt;              ----+----</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt;                 /|\</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt;              2 / | \ 7</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;               /  |  \</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt;              / 1 | 8 \</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over sector points.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; @param NPS odd order of the polar stereographic grids.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param KWSKIP skip number between wave fields</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param KGSKIP skip number between grid fields</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; (defaults to NPS*NPS if KGSKIP=0)</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param NISKIP skip number between grid i-points</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; (defaults to 1 if NISKIP=0)</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param NJSKIP skip number between grid j-points</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; (defaults to NPS if NJSKIP=0)</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; @param TRUE latitude at which ps grid is true (usually 60.)</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; @param XMESH grid length at true latitude (m)</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; @param ORIENT longitude at bottom of northern ps grid</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt; (southern ps grid will have opposite orientation.)</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; @param WAVE wave fields</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; @param GN northern polar stereographic fields</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt; @param GS southern polar stereographic fields</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">   78</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a>(IROMB,MAXWV,KMAX,NPS,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;     &amp;                  KWSKIP,KGSKIP,NISKIP,NJSKIP,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;     &amp;                  TRUE,XMESH,ORIENT,WAVE,GN,GS)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keywordtype">      REAL</span> WAVE(*),GN(*),GS(*)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <span class="keywordtype">INTEGER</span> MP(KMAX)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordtype">      REAL</span> SLON(MAXWV,8),CLON(MAXWV,8),SROT(0:3),CROT(0:3)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1),KMAX)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordtype">      REAL</span> F(2*MAXWV+3,2,KMAX)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keyword">DATA</span> srot/0.,1.,0.,-1./,crot/1.,0.,-1.,0./</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      parameter(rerth=6.3712e6)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      parameter(pi=3.14159265358979,dpr=180./pi)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      mxtop=maxwv+1</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      idim=2*maxwv+3</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      ni=niskip</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      nj=njskip</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=nps*nps</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keywordflow">IF</span>(ni.EQ.0) ni=1</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keywordflow">IF</span>(nj.EQ.0) nj=nps</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      mp=0</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      nph=(nps-1)/2</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      gq=((1.+sin(true/dpr))*rerth/xmesh)**2</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        wtop(1:2*mxtop,k)=0</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">C  CALCULATE POLE POINT</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      i1=nph+1</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      j1=nph+1</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      ij1=(i1-1)*ni+(j1-1)*nj+1</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      slat1=1.</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      clat1=0.</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;     &amp;              pln,plntop)</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,kw,2*mxtop,kmax,</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;     &amp;             clat1,pln,plntop,mp,wave,wtop,f)</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        gn(ijk1)=f(1,1,k)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        gs(ijk1)=f(1,2,k)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">C  CALCULATE POINTS ALONG THE ROW AND COLUMN OF THE POLE,</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">C  STARTING AT THE ORIENTATION LONGITUDE AND GOING CLOCKWISE.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(I1,J2,I2,J3,I3,J4,I4,J5,I5,J6,I6,J7,I7,J8,I8)</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJ1,IJ2,IJ3,IJ4,IJ5,IJ6,IJ7,IJ8)</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJK1,IJK2,IJK3,IJK4,IJK5,IJK6,IJK7,IJK8)</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(DJ1,DI1,RQ,RADLON,RADLON1,RADLON2,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(PLN,PLNTOP,F,SLON,CLON,LR,LI)</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keywordflow">DO</span> j1=1,nph</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        i1=nph+1</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        radlon=orient/dpr</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        j3=nps+1-i1</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        i3=j1</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        j5=nps+1-j1</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        i5=nps+1-i1</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        j7=i1</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        i7=nps+1-j1</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        ij1=(i1-1)*ni+(j1-1)*nj+1</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        ij3=(i3-1)*ni+(j3-1)*nj+1</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        ij5=(i5-1)*ni+(j5-1)*nj+1</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        ij7=(i7-1)*ni+(j7-1)*nj+1</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        di1=i1-nph-1</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        dj1=j1-nph-1</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        rq=di1**2+dj1**2</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        slat1=(gq-rq)/(gq+rq)</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        clat1=sqrt(1.-slat1**2)</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,kw,2*mxtop,kmax,</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;     &amp;               clat1,pln,plntop,mp,wave,wtop,f)</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;          slon(l,1)=sin(l*radlon)</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;          clon(l,1)=cos(l*radlon)</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;          slon(l,3)=slon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;     &amp;             -clon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;          clon(l,3)=clon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;     &amp;             +slon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;          slon(l,5)=slon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;     &amp;             -clon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;          clon(l,5)=clon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;     &amp;             +slon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;          slon(l,7)=slon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;     &amp;             -clon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;          clon(l,7)=clon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;     &amp;             +slon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;          ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;          ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;          ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;          ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;          gn(ijk1)=f(1,1,k)</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;          gn(ijk3)=f(1,1,k)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;          gn(ijk5)=f(1,1,k)</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          gn(ijk7)=f(1,1,k)</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;          gs(ijk1)=f(1,2,k)</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;          gs(ijk3)=f(1,2,k)</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;          gs(ijk5)=f(1,2,k)</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;          gs(ijk7)=f(1,2,k)</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <span class="keywordflow">IF</span>(kmax.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;            lr=2*l+1</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;            li=2*l+2</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;            gn(ij1)=gn(ij1)+2*(f(lr,1,1)*clon(l,1)</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;     &amp;                        -f(li,1,1)*slon(l,1))</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;            gn(ij3)=gn(ij3)+2*(f(lr,1,1)*clon(l,3)</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;     &amp;                        -f(li,1,1)*slon(l,3))</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;            gn(ij5)=gn(ij5)+2*(f(lr,1,1)*clon(l,5)</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;     &amp;                        -f(li,1,1)*slon(l,5))</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;            gn(ij7)=gn(ij7)+2*(f(lr,1,1)*clon(l,7)</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;     &amp;                        -f(li,1,1)*slon(l,7))</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;            gs(ij1)=gs(ij1)+2*(f(lr,2,1)*clon(l,5)</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;     &amp;                        -f(li,2,1)*slon(l,5))</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;            gs(ij3)=gs(ij3)+2*(f(lr,2,1)*clon(l,3)</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;     &amp;                        -f(li,2,1)*slon(l,3))</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;            gs(ij5)=gs(ij5)+2*(f(lr,2,1)*clon(l,1)</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;     &amp;                        -f(li,2,1)*slon(l,1))</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;            gs(ij7)=gs(ij7)+2*(f(lr,2,1)*clon(l,7)</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;     &amp;                        -f(li,2,1)*slon(l,7))</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;            lr=2*l+1</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;            li=2*l+2</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;            <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;              ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;              ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;              ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;              ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;              gn(ijk1)=gn(ijk1)+2*(f(lr,1,k)*clon(l,1)</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;     &amp;                            -f(li,1,k)*slon(l,1))</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;              gn(ijk3)=gn(ijk3)+2*(f(lr,1,k)*clon(l,3)</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;     &amp;                            -f(li,1,k)*slon(l,3))</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;              gn(ijk5)=gn(ijk5)+2*(f(lr,1,k)*clon(l,5)</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;     &amp;                            -f(li,1,k)*slon(l,5))</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;              gn(ijk7)=gn(ijk7)+2*(f(lr,1,k)*clon(l,7)</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;     &amp;                            -f(li,1,k)*slon(l,7))</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;              gs(ijk1)=gs(ijk1)+2*(f(lr,2,k)*clon(l,5)</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;     &amp;                            -f(li,2,k)*slon(l,5))</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;              gs(ijk3)=gs(ijk3)+2*(f(lr,2,k)*clon(l,3)</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;     &amp;                            -f(li,2,k)*slon(l,3))</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;              gs(ijk5)=gs(ijk5)+2*(f(lr,2,k)*clon(l,1)</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;     &amp;                            -f(li,2,k)*slon(l,1))</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;              gs(ijk7)=gs(ijk7)+2*(f(lr,2,k)*clon(l,7)</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;     &amp;                            -f(li,2,k)*slon(l,7))</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160; </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="comment">C  CALCULATE POINTS ON THE MAIN DIAGONALS THROUGH THE POLE,</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="comment">C  STARTING CLOCKWISE OF THE ORIENTATION LONGITUDE AND GOING CLOCKWISE.</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(I1,J2,I2,J3,I3,J4,I4,J5,I5,J6,I6,J7,I7,J8,I8)</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJ1,IJ2,IJ3,IJ4,IJ5,IJ6,IJ7,IJ8)</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJK1,IJK2,IJK3,IJK4,IJK5,IJK6,IJK7,IJK8)</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(DJ1,DI1,RQ,RADLON,RADLON1,RADLON2,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(PLN,PLNTOP,F,SLON,CLON,LR,LI)</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;      <span class="keywordflow">DO</span> j1=1,nph</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        i1=j1</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        radlon=(orient-45)/dpr</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        j3=nps+1-i1</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        i3=j1</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        j5=nps+1-j1</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        i5=nps+1-i1</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        j7=i1</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        i7=nps+1-j1</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        ij1=(i1-1)*ni+(j1-1)*nj+1</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        ij3=(i3-1)*ni+(j3-1)*nj+1</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        ij5=(i5-1)*ni+(j5-1)*nj+1</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        ij7=(i7-1)*ni+(j7-1)*nj+1</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        di1=i1-nph-1</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        dj1=j1-nph-1</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        rq=di1**2+dj1**2</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        slat1=(gq-rq)/(gq+rq)</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        clat1=sqrt(1.-slat1**2)</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,kw,2*mxtop,kmax,</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;     &amp;               clat1,pln,plntop,mp,wave,wtop,f)</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;          slon(l,1)=sin(l*radlon)</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;          clon(l,1)=cos(l*radlon)</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;          slon(l,3)=slon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;     &amp;             -clon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;          clon(l,3)=clon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;     &amp;             +slon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;          slon(l,5)=slon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;     &amp;             -clon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;          clon(l,5)=clon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;     &amp;             +slon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;          slon(l,7)=slon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;     &amp;             -clon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;          clon(l,7)=clon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;     &amp;             +slon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;          ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;          ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;          ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;          ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;          gn(ijk1)=f(1,1,k)</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;          gn(ijk3)=f(1,1,k)</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;          gn(ijk5)=f(1,1,k)</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;          gn(ijk7)=f(1,1,k)</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;          gs(ijk1)=f(1,2,k)</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;          gs(ijk3)=f(1,2,k)</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;          gs(ijk5)=f(1,2,k)</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;          gs(ijk7)=f(1,2,k)</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        <span class="keywordflow">IF</span>(kmax.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;            lr=2*l+1</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;            li=2*l+2</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;            gn(ij1)=gn(ij1)+2*(f(lr,1,1)*clon(l,1)</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;     &amp;                        -f(li,1,1)*slon(l,1))</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;            gn(ij3)=gn(ij3)+2*(f(lr,1,1)*clon(l,3)</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;     &amp;                        -f(li,1,1)*slon(l,3))</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;            gn(ij5)=gn(ij5)+2*(f(lr,1,1)*clon(l,5)</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;     &amp;                        -f(li,1,1)*slon(l,5))</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;            gn(ij7)=gn(ij7)+2*(f(lr,1,1)*clon(l,7)</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;     &amp;                        -f(li,1,1)*slon(l,7))</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            gs(ij1)=gs(ij1)+2*(f(lr,2,1)*clon(l,3)</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;     &amp;                        -f(li,2,1)*slon(l,3))</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            gs(ij3)=gs(ij3)+2*(f(lr,2,1)*clon(l,1)</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;     &amp;                        -f(li,2,1)*slon(l,1))</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;            gs(ij5)=gs(ij5)+2*(f(lr,2,1)*clon(l,7)</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;     &amp;                        -f(li,2,1)*slon(l,7))</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;            gs(ij7)=gs(ij7)+2*(f(lr,2,1)*clon(l,5)</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;     &amp;                        -f(li,2,1)*slon(l,5))</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;            lr=2*l+1</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;            li=2*l+2</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;            <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;              ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;              ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;              ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;              ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;              gn(ijk1)=gn(ijk1)+2*(f(lr,1,k)*clon(l,1)</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;     &amp;                            -f(li,1,k)*slon(l,1))</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;              gn(ijk3)=gn(ijk3)+2*(f(lr,1,k)*clon(l,3)</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;     &amp;                            -f(li,1,k)*slon(l,3))</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;              gn(ijk5)=gn(ijk5)+2*(f(lr,1,k)*clon(l,5)</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;     &amp;                            -f(li,1,k)*slon(l,5))</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;              gn(ijk7)=gn(ijk7)+2*(f(lr,1,k)*clon(l,7)</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;     &amp;                            -f(li,1,k)*slon(l,7))</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;              gs(ijk1)=gs(ijk1)+2*(f(lr,2,k)*clon(l,3)</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;     &amp;                            -f(li,2,k)*slon(l,3))</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;              gs(ijk3)=gs(ijk3)+2*(f(lr,2,k)*clon(l,1)</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;     &amp;                            -f(li,2,k)*slon(l,1))</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;              gs(ijk5)=gs(ijk5)+2*(f(lr,2,k)*clon(l,7)</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;     &amp;                            -f(li,2,k)*slon(l,7))</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;              gs(ijk7)=gs(ijk7)+2*(f(lr,2,k)*clon(l,5)</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;     &amp;                            -f(li,2,k)*slon(l,5))</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160; </div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="comment">C  CALCULATE THE REMAINDER OF THE POLAR STEREOGRAPHIC DOMAIN,</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="comment">C  STARTING AT THE SECTOR JUST CLOCKWISE OF THE ORIENTATION LONGITUDE</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="comment">C  AND GOING CLOCKWISE UNTIL ALL EIGHT SECTORS ARE DONE.</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(I1,J2,I2,J3,I3,J4,I4,J5,I5,J6,I6,J7,I7,J8,I8)</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJ1,IJ2,IJ3,IJ4,IJ5,IJ6,IJ7,IJ8)</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJK1,IJK2,IJK3,IJK4,IJK5,IJK6,IJK7,IJK8)</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(DJ1,DI1,RQ,RADLON,RADLON1,RADLON2,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(PLN,PLNTOP,F,SLON,CLON,LR,LI)</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;      <span class="keywordflow">DO</span> j1=1,nph-1</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        <span class="keywordflow">DO</span> i1=j1+1,nph</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;          j2=i1</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;          i2=j1</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;          j3=nps+1-i1</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;          i3=j1</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;          j4=nps+1-j1</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;          i4=i1</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;          j5=nps+1-j1</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;          i5=nps+1-i1</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;          j6=nps+1-i1</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;          i6=nps+1-j1</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;          j7=i1</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;          i7=nps+1-j1</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;          j8=j1</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;          i8=nps+1-i1</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;          ij1=(i1-1)*ni+(j1-1)*nj+1</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;          ij2=(i2-1)*ni+(j2-1)*nj+1</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;          ij3=(i3-1)*ni+(j3-1)*nj+1</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;          ij4=(i4-1)*ni+(j4-1)*nj+1</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;          ij5=(i5-1)*ni+(j5-1)*nj+1</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;          ij6=(i6-1)*ni+(j6-1)*nj+1</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;          ij7=(i7-1)*ni+(j7-1)*nj+1</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;          ij8=(i8-1)*ni+(j8-1)*nj+1</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;          di1=i1-nph-1</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;          dj1=j1-nph-1</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;          rq=di1**2+dj1**2</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;          slat1=(gq-rq)/(gq+rq)</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;          clat1=sqrt(1.-slat1**2)</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;          radlon1=orient/dpr+atan(-di1/dj1)</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;          radlon2=(orient-45)/dpr*2-radlon1</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;     &amp;                  pln,plntop)</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;          <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,kw,2*mxtop,kmax,</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;     &amp;                 clat1,pln,plntop,mp,wave,wtop,f)</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;            slon(l,1)=sin(l*radlon1)</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;            clon(l,1)=cos(l*radlon1)</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;            slon(l,2)=sin(l*radlon2)</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;            clon(l,2)=cos(l*radlon2)</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;            slon(l,3)=slon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;     &amp;               -clon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;            clon(l,3)=clon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;     &amp;               +slon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;            slon(l,4)=slon(l,2)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;     &amp;               -clon(l,2)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;            clon(l,4)=clon(l,2)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;     &amp;               +slon(l,2)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;            slon(l,5)=slon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;     &amp;               -clon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;            clon(l,5)=clon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;     &amp;               +slon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;            slon(l,6)=slon(l,2)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;     &amp;               -clon(l,2)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;            clon(l,6)=clon(l,2)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;     &amp;               +slon(l,2)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;            slon(l,7)=slon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;     &amp;               -clon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;            clon(l,7)=clon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;     &amp;               +slon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;            slon(l,8)=slon(l,2)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;     &amp;               -clon(l,2)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;            clon(l,8)=clon(l,2)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;     &amp;               +slon(l,2)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;          <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;            ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;            ijk2=ij2+(k-1)*kg</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;            ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;            ijk4=ij4+(k-1)*kg</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;            ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;            ijk6=ij6+(k-1)*kg</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;            ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;            ijk8=ij8+(k-1)*kg</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;            gn(ijk1)=f(1,1,k)</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;            gn(ijk2)=f(1,1,k)</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;            gn(ijk3)=f(1,1,k)</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;            gn(ijk4)=f(1,1,k)</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;            gn(ijk5)=f(1,1,k)</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;            gn(ijk6)=f(1,1,k)</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;            gn(ijk7)=f(1,1,k)</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;            gn(ijk8)=f(1,1,k)</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;            gs(ijk1)=f(1,2,k)</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;            gs(ijk2)=f(1,2,k)</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;            gs(ijk3)=f(1,2,k)</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;            gs(ijk4)=f(1,2,k)</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;            gs(ijk5)=f(1,2,k)</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;            gs(ijk6)=f(1,2,k)</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;            gs(ijk7)=f(1,2,k)</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;            gs(ijk8)=f(1,2,k)</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;          <span class="keywordflow">IF</span>(kmax.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;            <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;              lr=2*l+1</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;              li=2*l+2</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;              gn(ij1)=gn(ij1)+2*(f(lr,1,1)*clon(l,1)</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;     &amp;                          -f(li,1,1)*slon(l,1))</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;              gn(ij2)=gn(ij2)+2*(f(lr,1,1)*clon(l,2)</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;     &amp;                          -f(li,1,1)*slon(l,2))</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;              gn(ij3)=gn(ij3)+2*(f(lr,1,1)*clon(l,3)</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;     &amp;                          -f(li,1,1)*slon(l,3))</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;              gn(ij4)=gn(ij4)+2*(f(lr,1,1)*clon(l,4)</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;     &amp;                          -f(li,1,1)*slon(l,4))</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;              gn(ij5)=gn(ij5)+2*(f(lr,1,1)*clon(l,5)</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;     &amp;                          -f(li,1,1)*slon(l,5))</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;              gn(ij6)=gn(ij6)+2*(f(lr,1,1)*clon(l,6)</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;     &amp;                          -f(li,1,1)*slon(l,6))</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;              gn(ij7)=gn(ij7)+2*(f(lr,1,1)*clon(l,7)</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;     &amp;                          -f(li,1,1)*slon(l,7))</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;              gn(ij8)=gn(ij8)+2*(f(lr,1,1)*clon(l,8)</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;     &amp;                          -f(li,1,1)*slon(l,8))</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;              gs(ij1)=gs(ij1)+2*(f(lr,2,1)*clon(l,4)</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;     &amp;                          -f(li,2,1)*slon(l,4))</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;              gs(ij2)=gs(ij2)+2*(f(lr,2,1)*clon(l,3)</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;     &amp;                          -f(li,2,1)*slon(l,3))</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;              gs(ij3)=gs(ij3)+2*(f(lr,2,1)*clon(l,2)</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;     &amp;                          -f(li,2,1)*slon(l,2))</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;              gs(ij4)=gs(ij4)+2*(f(lr,2,1)*clon(l,1)</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;     &amp;                          -f(li,2,1)*slon(l,1))</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;              gs(ij5)=gs(ij5)+2*(f(lr,2,1)*clon(l,8)</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;     &amp;                          -f(li,2,1)*slon(l,8))</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;              gs(ij6)=gs(ij6)+2*(f(lr,2,1)*clon(l,7)</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;     &amp;                          -f(li,2,1)*slon(l,7))</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;              gs(ij7)=gs(ij7)+2*(f(lr,2,1)*clon(l,6)</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;     &amp;                          -f(li,2,1)*slon(l,6))</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;              gs(ij8)=gs(ij8)+2*(f(lr,2,1)*clon(l,5)</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;     &amp;                          -f(li,2,1)*slon(l,5))</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;            <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;              lr=2*l+1</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;              li=2*l+2</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;              <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;                ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;                ijk2=ij2+(k-1)*kg</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;                ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;                ijk4=ij4+(k-1)*kg</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;                ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;                ijk6=ij6+(k-1)*kg</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;                ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;                ijk8=ij8+(k-1)*kg</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;                gn(ijk1)=gn(ijk1)+2*(f(lr,1,k)*clon(l,1)</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;     &amp;                              -f(li,1,k)*slon(l,1))</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;                gn(ijk2)=gn(ijk2)+2*(f(lr,1,k)*clon(l,2)</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;     &amp;                              -f(li,1,k)*slon(l,2))</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;                gn(ijk3)=gn(ijk3)+2*(f(lr,1,k)*clon(l,3)</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;     &amp;                              -f(li,1,k)*slon(l,3))</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;                gn(ijk4)=gn(ijk4)+2*(f(lr,1,k)*clon(l,4)</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;     &amp;                              -f(li,1,k)*slon(l,4))</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;                gn(ijk5)=gn(ijk5)+2*(f(lr,1,k)*clon(l,5)</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;     &amp;                              -f(li,1,k)*slon(l,5))</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;                gn(ijk6)=gn(ijk6)+2*(f(lr,1,k)*clon(l,6)</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;     &amp;                              -f(li,1,k)*slon(l,6))</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;                gn(ijk7)=gn(ijk7)+2*(f(lr,1,k)*clon(l,7)</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;     &amp;                              -f(li,1,k)*slon(l,7))</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;                gn(ijk8)=gn(ijk8)+2*(f(lr,1,k)*clon(l,8)</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;     &amp;                              -f(li,1,k)*slon(l,8))</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;                gs(ijk1)=gs(ijk1)+2*(f(lr,2,k)*clon(l,4)</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;     &amp;                              -f(li,2,k)*slon(l,4))</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;                gs(ijk2)=gs(ijk2)+2*(f(lr,2,k)*clon(l,3)</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;     &amp;                              -f(li,2,k)*slon(l,3))</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;                gs(ijk3)=gs(ijk3)+2*(f(lr,2,k)*clon(l,2)</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;     &amp;                              -f(li,2,k)*slon(l,2))</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;                gs(ijk4)=gs(ijk4)+2*(f(lr,2,k)*clon(l,1)</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;     &amp;                              -f(li,2,k)*slon(l,1))</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;                gs(ijk5)=gs(ijk5)+2*(f(lr,2,k)*clon(l,8)</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;     &amp;                              -f(li,2,k)*slon(l,8))</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;                gs(ijk6)=gs(ijk6)+2*(f(lr,2,k)*clon(l,7)</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;     &amp;                              -f(li,2,k)*slon(l,7))</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;                gs(ijk7)=gs(ijk7)+2*(f(lr,2,k)*clon(l,6)</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;     &amp;                              -f(li,2,k)*slon(l,6))</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;                gs(ijk8)=gs(ijk8)+2*(f(lr,2,k)*clon(l,5)</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;     &amp;                              -f(li,2,k)*slon(l,5))</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="keywordflow">              ENDDO</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160; </div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+<div class="ttc" id="asptgps_8f_html_af06a2dccfa311014fc9f671b14f247b2"><div class="ttname"><a href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a></div><div class="ttdeci">subroutine sptgps(IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVE, GN, GS)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...</div><div class="ttdef"><b>Definition:</b> <a href="sptgps_8f_source.html#l00078">sptgps.f:81</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgps_8f.html">sptgps.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpsd_8f.html b/sptgpsd_8f.html
new file mode 100644
index 00000000..887d8868
--- /dev/null
+++ b/sptgpsd_8f.html
@@ -0,0 +1,282 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpsd.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpsd_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgpsd.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral to polar stereographic gradients.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgpsd_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ad6d10c3360c47558a8116b2f5666ed30"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30">sptgpsd</a> (IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVE, XN, YN, XS, YS)</td></tr>
+<tr class="memdesc:ad6d10c3360c47558a8116b2f5666ed30"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradient fields on a pair of polar stereographic grids.  <a href="sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30">More...</a><br /></td></tr>
+<tr class="separator:ad6d10c3360c47558a8116b2f5666ed30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral to polar stereographic gradients. </p>
+<h3><a class="anchor" id="autotoc_md58"></a>
+Program history log:</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">OpenMP directives inserted.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgpsd_8f_source.html">sptgpsd.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ad6d10c3360c47558a8116b2f5666ed30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad6d10c3360c47558a8116b2f5666ed30">&#9670;&nbsp;</a></span>sptgpsd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgpsd </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>TRUE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>XMESH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ORIENT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>XN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>YN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>XS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>YS</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradient fields on a pair of polar stereographic grids. </p>
+<p>The wave-space can be either triangular or rhomboidal. The wave and grid fields may have general indexing, but each wave field is in sequential 'ibm order', i.e., with zonal wavenumber as the slower index. The two square polar stereographic grids are centered on the respective poles, with the orientation longitude of the southern hemisphere grid 180 degrees opposite that of the northern hemisphere grid. The vectors are automatically rotated to be resolved relative to the respective polar stereographic grids.</p>
+<p>The transform is made efficient by combining points in eight sectors of each polar stereographic grid, numbered as in the following diagram. The pole and the sector boundaries are treated specially in the code. Unfortunately, this approach induces some hairy indexing and code loquacity, for which the developer apologizes.</p>
+<pre class="fragment">   \ 4 | 5 /
+    \  |  /
+   3 \ | / 6
+      \|/
+   ----+----
+      /|\
+   2 / | \ 7
+    /  |  \
+   / 1 | 8 \</pre><p>The transforms are all multiprocessed over sector points. transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>Spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>Spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>Number of fields to transform </td></tr>
+    <tr><td class="paramname">NPS</td><td>Odd order of the polar stereographic grids </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>Skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>Skip number between grid fields (defaults to NPS*NPS if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>Skip number between grid i-points (defaults to 1 if NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>Skip number between grid j-points (defaults to NPS if NJSKIP=0) </td></tr>
+    <tr><td class="paramname">TRUE</td><td>Latitude at which PS grid is true (usually 60.) </td></tr>
+    <tr><td class="paramname">XMESH</td><td>Grid length at true latitude (M) </td></tr>
+    <tr><td class="paramname">ORIENT</td><td>Longitude at bottom of northern PS grid (southern PS grid will have opposite orientation.) </td></tr>
+    <tr><td class="paramname">WAVE</td><td>Wave fields </td></tr>
+    <tr><td class="paramname">XN</td><td>Northern polar stereographic x-gradients </td></tr>
+    <tr><td class="paramname">YN</td><td>Northern polar stereographic y-gradients </td></tr>
+    <tr><td class="paramname">XS</td><td>Southern polar stereographic x-gradients </td></tr>
+    <tr><td class="paramname">YS</td><td>Southern polar stereographic y-gradients</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgpsd_8f_source.html#l00071">71</a> of file <a class="el" href="sptgpsd_8f_source.html">sptgpsd.f</a>.</p>
+
+<p class="reference">References <a class="el" href="splaplac_8f_source.html#l00025">splaplac()</a>, <a class="el" href="sptgpsv_8f_source.html#l00083">sptgpsv()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpsd_8f.html">sptgpsd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpsd_8f.js b/sptgpsd_8f.js
new file mode 100644
index 00000000..1b5e1ff3
--- /dev/null
+++ b/sptgpsd_8f.js
@@ -0,0 +1,4 @@
+var sptgpsd_8f =
+[
+    [ "sptgpsd", "sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30", null ]
+];
\ No newline at end of file
diff --git a/sptgpsd_8f_source.html b/sptgpsd_8f_source.html
new file mode 100644
index 00000000..3c361ef9
--- /dev/null
+++ b/sptgpsd_8f_source.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpsd.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpsd_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgpsd.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgpsd_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral to polar stereographic gradients</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; ### Program history log:</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; -----|------------|----------</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt;  96-02-29 | IREDELL | Initial.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 1998-12-15 | IREDELL | OpenMP directives inserted.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; from spectral coefficients of scalar fields</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; to gradient fields on a pair of polar stereographic grids.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;ibm order&#39;,</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; i.e., with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; The two square polar stereographic grids are centered</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; on the respective poles, with the orientation longitude</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; of the southern hemisphere grid 180 degrees opposite</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; that of the northern hemisphere grid.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; The vectors are automatically rotated to be resolved</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; relative to the respective polar stereographic grids.</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; The transform is made efficient by combining points in eight</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; sectors of each polar stereographic grid, numbered as in the</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; following diagram. The pole and the sector boundaries are</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; treated specially in the code. Unfortunately, this approach</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; induces some hairy indexing and code loquacity, for which</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; the developer apologizes.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; \verbatim</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;   \ 4 | 5 /</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;    \  |  /</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;   3 \ | / 6</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;      \|/</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt;   ----+----</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt;      /|\</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;   2 / | \ 7</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt;    /  |  \</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt;   / 1 | 8 \</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; \endverbatim</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over sector points.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param IROMB Spectral domain shape</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param MAXWV Spectral truncation</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @param KMAX Number of fields to transform</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param NPS Odd order of the polar stereographic grids</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param KWSKIP Skip number between wave fields</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; @param KGSKIP Skip number between grid fields</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; (defaults to NPS*NPS if KGSKIP=0)</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param NISKIP Skip number between grid i-points</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; (defaults to 1 if NISKIP=0)</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param NJSKIP Skip number between grid j-points</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; (defaults to NPS if NJSKIP=0)</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; @param TRUE Latitude at which PS grid is true (usually 60.)</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param XMESH Grid length at true latitude (M)</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; @param ORIENT Longitude at bottom of northern PS grid</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; (southern PS grid will have opposite orientation.)</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; @param WAVE Wave fields</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param XN Northern polar stereographic x-gradients</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; @param YN Northern polar stereographic y-gradients</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param XS Southern polar stereographic x-gradients</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; @param YS Southern polar stereographic y-gradients</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30">   71</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30">sptgpsd</a>(IROMB,MAXWV,KMAX,NPS,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;     &amp;                   KWSKIP,KGSKIP,NISKIP,NJSKIP,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;     &amp;                   TRUE,XMESH,ORIENT,WAVE,XN,YN,XS,YS)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keywordtype">      REAL</span> WAVE(*),XN(*),YN(*),XS(*),YS(*)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keywordtype">      REAL</span> WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordtype">      REAL</span> WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">C  CALCULATE GRADIENTS</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS)</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        kws=(k-1)*kw</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wave(kws+1),wd(1,k),1)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        wz(1:2*mx,k)=0.</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">sptgpsv</a>(iromb,maxwv,kmax,nps,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;     &amp;             true,xmesh,orient,wd,wz,xn,yn,xs,ys)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+<div class="ttc" id="asptgpsd_8f_html_ad6d10c3360c47558a8116b2f5666ed30"><div class="ttname"><a href="sptgpsd_8f.html#ad6d10c3360c47558a8116b2f5666ed30">sptgpsd</a></div><div class="ttdeci">subroutine sptgpsd(IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVE, XN, YN, XS, YS)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradien...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpsd_8f_source.html#l00071">sptgpsd.f:74</a></div></div>
+<div class="ttc" id="asptgpsv_8f_html_af2bf2335047ec277730564dbfa859079"><div class="ttname"><a href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">sptgpsv</a></div><div class="ttdeci">subroutine sptgpsv(IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVED, WAVEZ, UN, VN, US, VS)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpsv_8f_source.html#l00080">sptgpsv.f:83</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpsd_8f.html">sptgpsd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpsv_8f.html b/sptgpsv_8f.html
new file mode 100644
index 00000000..a16d2f9a
--- /dev/null
+++ b/sptgpsv_8f.html
@@ -0,0 +1,299 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpsv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpsv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgpsv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral vector to polar stereo.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgpsv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:af2bf2335047ec277730564dbfa859079"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">sptgpsv</a> (IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVED, WAVEZ, UN, VN, US, VS)</td></tr>
+<tr class="memdesc:af2bf2335047ec277730564dbfa859079"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to vector fields on a pair of polar stereographic grids.  <a href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">More...</a><br /></td></tr>
+<tr class="separator:af2bf2335047ec277730564dbfa859079"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral vector to polar stereo. </p>
+<h3><a class="anchor" id="autotoc_md59"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Openmp directives inserted.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgpsv_8f_source.html">sptgpsv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="af2bf2335047ec277730564dbfa859079"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af2bf2335047ec277730564dbfa859079">&#9670;&nbsp;</a></span>sptgpsv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgpsv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>TRUE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>XMESH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ORIENT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVED</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVEZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>UN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>US</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VS</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of divergences and curls to vector fields on a pair of polar stereographic grids. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The wave and grid fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>The two square polar stereographic grids are centered on the respective poles, with the orientation longitude of the southern hemisphere grid 180 degrees opposite that of the northern hemisphere grid.</p>
+<p>The vectors are automatically rotated to be resolved relative to the respective polar stereographic grids.</p>
+<p>The transform is made efficient by combining points in eight sectors of each polar stereographic grid, <br  />
+ numbered as in the diagram below. The pole and the sector boundaries <br  />
+ are treated specially in the code. <br  />
+ Unfortunately, this approach induces some hairy indexing and code loquacity, for which the developer apologizes.</p>
+<pre>
+              \ 4 | 5 /
+               \  |  /
+              3 \ | / 6
+                 |/
+              ----+----
+                 /|\
+              2 / | \ 7
+               /  |  \
+              / 1 | 8 \
+ </pre><p>The transforms are all multiprocessed over sector points. transform several fields at a time to improve vectorization. subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramname">NPS</td><td>odd order of the polar stereographic grids </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>skip number between grid fields (defaults to NPS*NPS if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>skip number between grid i-points (defaults to 1 if NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>skip number between grid j-points (defaults to NPS if NJSKIP=0) </td></tr>
+    <tr><td class="paramname">TRUE</td><td>latitude at which ps grid is true (usually 60.) </td></tr>
+    <tr><td class="paramname">XMESH</td><td>grid length at true latitude (m) </td></tr>
+    <tr><td class="paramname">ORIENT</td><td>longitude at bottom of northern ps grid (southern ps grid will have opposite orientation.) </td></tr>
+    <tr><td class="paramname">WAVED</td><td>wave divergence fields </td></tr>
+    <tr><td class="paramname">WAVEZ</td><td>wave vorticity fields </td></tr>
+    <tr><td class="paramname">UN</td><td>northern polar stereographic u-winds </td></tr>
+    <tr><td class="paramname">VN</td><td>northern polar stereographic v-winds </td></tr>
+    <tr><td class="paramname">US</td><td>southern polar stereographic u-winds </td></tr>
+    <tr><td class="paramname">VS</td><td>southern polar stereographic v-winds</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgpsv_8f_source.html#l00080">80</a> of file <a class="el" href="sptgpsv_8f_source.html">sptgpsv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="spdz2uv_8f_source.html#l00049">spdz2uv()</a>, <a class="el" href="splegend_8f_source.html#l00045">splegend()</a>, <a class="el" href="spsynth_8f_source.html#l00039">spsynth()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgpsd_8f_source.html#l00074">sptgpsd()</a>, and <a class="el" href="sptrunsv_8f_source.html#l00094">sptrunsv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpsv_8f.html">sptgpsv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpsv_8f.js b/sptgpsv_8f.js
new file mode 100644
index 00000000..ec835636
--- /dev/null
+++ b/sptgpsv_8f.js
@@ -0,0 +1,4 @@
+var sptgpsv_8f =
+[
+    [ "sptgpsv", "sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079", null ]
+];
\ No newline at end of file
diff --git a/sptgpsv_8f_source.html b/sptgpsv_8f_source.html
new file mode 100644
index 00000000..4792ddcb
--- /dev/null
+++ b/sptgpsv_8f_source.html
@@ -0,0 +1,1038 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpsv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpsv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgpsv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgpsv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral vector to polar stereo.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Openmp directives inserted.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; from spectral coefficients of divergences and curls</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; to vector fields on a pair of polar stereographic grids.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; The two square polar stereographic grids are centered</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; on the respective poles, with the orientation longitude</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; of the southern hemisphere grid 180 degrees opposite</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; that of the northern hemisphere grid.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; The vectors are automatically rotated to be resolved</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; relative to the respective polar stereographic grids.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; The transform is made efficient</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; by combining points in eight sectors</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; of each polar stereographic grid,   </span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; numbered as in the diagram below.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; The pole and the sector boundaries  </span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; are treated specially in the code.  </span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; Unfortunately, this approach induces</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; some hairy indexing and code loquacity,</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; for which the developer apologizes.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; &lt;pre&gt;</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt;              \ 4 | 5 /</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt;               \  |  /</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;              3 \ | / 6</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt;                 \|/</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt;              ----+----</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt;                 /|\</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;              2 / | \ 7</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt;               /  |  \</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;              / 1 | 8 \</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over sector points.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param NPS odd order of the polar stereographic grids</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; @param KWSKIP skip number between wave fields</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; @param KGSKIP skip number between grid fields</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; (defaults to NPS*NPS if KGSKIP=0)</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; @param NISKIP skip number between grid i-points</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; (defaults to 1 if NISKIP=0)</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; @param NJSKIP skip number between grid j-points</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; (defaults to NPS if NJSKIP=0)</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; @param TRUE latitude at which ps grid is true (usually 60.)</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; @param XMESH grid length at true latitude (m)</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; @param ORIENT longitude at bottom of northern ps grid</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; (southern ps grid will have opposite orientation.)</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt; @param WAVED wave divergence fields</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; @param WAVEZ wave vorticity fields</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; @param UN northern polar stereographic u-winds</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt; @param VN northern polar stereographic v-winds</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt; @param US southern polar stereographic u-winds</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt; @param VS southern polar stereographic v-winds</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">   80</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">sptgpsv</a>(IROMB,MAXWV,KMAX,NPS,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;     &amp;                   KWSKIP,KGSKIP,NISKIP,NJSKIP,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;     &amp;                   TRUE,XMESH,ORIENT,WAVED,WAVEZ,UN,VN,US,VS)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">      REAL</span> WAVED(*),WAVEZ(*),UN(*),VN(*),US(*),VS(*)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keywordtype">INTEGER</span> MP(2*KMAX)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">      REAL</span> SLON(MAXWV,8),CLON(MAXWV,8),SROT(0:3),CROT(0:3)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordtype">      REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,2*KMAX)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1),2*KMAX)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordtype">      REAL</span> F(2*MAXWV+3,2,2*KMAX)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keyword">DATA</span> srot/0.,1.,0.,-1./,crot/1.,0.,-1.,0./</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      parameter(rerth=6.3712e6)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      parameter(pi=3.14159265358979,dpr=180./pi)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      mxtop=maxwv+1</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      idim=2*maxwv+3</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      ni=niskip</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      nj=njskip</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=nps*nps</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keywordflow">IF</span>(ni.EQ.0) ni=1</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keywordflow">IF</span>(nj.EQ.0) nj=nps</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      mp=1</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      nph=(nps-1)/2</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      gq=((1.+sin(true/dpr))*rerth/xmesh)**2</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      srh=sqrt(0.5)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">C  CALCULATE SPECTRAL WINDS</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS)</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        kws=(k-1)*kw</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a>(iromb,maxwv,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;     &amp;               waved(kws+1),wavez(kws+1),</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;     &amp;               w(1,k),w(1,kmax+k),wtop(1,k),wtop(1,kmax+k))</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">C  CALCULATE POLE POINT</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      i1=nph+1</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      j1=nph+1</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      ij1=(i1-1)*ni+(j1-1)*nj+1</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      slat1=1.</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      clat1=0.</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;     &amp;              pln,plntop)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,mdim,2*mxtop,2*kmax,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;     &amp;             clat1,pln,plntop,mp,w,wtop,f)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      coso=cos(orient/dpr)</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      sino=sin(orient/dpr)</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        ku=k</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        kv=k+kmax</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        un(ijk1)=2*( coso*f(3,1,ku)+sino*f(3,1,kv))</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        vn(ijk1)=2*(-sino*f(3,1,ku)+coso*f(3,1,kv))</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        us(ijk1)=2*( coso*f(3,2,ku)-sino*f(3,2,kv))</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        vs(ijk1)=2*( sino*f(3,2,ku)+coso*f(3,2,kv))</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">C  CALCULATE POINTS ALONG THE ROW AND COLUMN OF THE POLE,</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">C  STARTING AT THE ORIENTATION LONGITUDE AND GOING CLOCKWISE.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(I1,J2,I2,J3,I3,J4,I4,J5,I5,J6,I6,J7,I7,J8,I8)</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJ1,IJ2,IJ3,IJ4,IJ5,IJ6,IJ7,IJ8)</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJK1,IJK2,IJK3,IJK4,IJK5,IJK6,IJK7,IJK8)</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(DJ1,DI1,RQ,RR,RADLON,RADLON1,RADLON2,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(PLN,PLNTOP,F,SLON,CLON,KU,KV,LR,LI)</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      <span class="keywordflow">DO</span> j1=1,nph</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        i1=nph+1</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        radlon=orient/dpr</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        j3=nps+1-i1</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        i3=j1</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        j5=nps+1-j1</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        i5=nps+1-i1</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        j7=i1</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        i7=nps+1-j1</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        ij1=(i1-1)*ni+(j1-1)*nj+1</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        ij3=(i3-1)*ni+(j3-1)*nj+1</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        ij5=(i5-1)*ni+(j5-1)*nj+1</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        ij7=(i7-1)*ni+(j7-1)*nj+1</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        di1=i1-nph-1</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        dj1=j1-nph-1</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        rq=di1**2+dj1**2</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        slat1=(gq-rq)/(gq+rq)</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        clat1=sqrt(1.-slat1**2)</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,mdim,2*mxtop,2*kmax,</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;     &amp;               clat1,pln,plntop,mp,w,wtop,f)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;          slon(l,1)=sin(l*radlon)</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;          clon(l,1)=cos(l*radlon)</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;          slon(l,3)=slon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;     &amp;             -clon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;          clon(l,3)=clon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;     &amp;             +slon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;          slon(l,5)=slon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;     &amp;             -clon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          clon(l,5)=clon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;     &amp;             +slon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;          slon(l,7)=slon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;     &amp;             -clon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;          clon(l,7)=clon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;     &amp;             +slon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;          ku=k</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;          kv=k+kmax</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;          ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;          ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;          ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;          ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;          un(ijk1)= f(1,1,ku)</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;          vn(ijk1)= f(1,1,kv)</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;          un(ijk3)= f(1,1,kv)</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;          vn(ijk3)=-f(1,1,ku)</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;          un(ijk5)=-f(1,1,ku)</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;          vn(ijk5)=-f(1,1,kv)</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;          un(ijk7)=-f(1,1,kv)</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;          vn(ijk7)= f(1,1,ku)</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;          us(ijk1)=-f(1,2,ku)</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;          vs(ijk1)=-f(1,2,kv)</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;          us(ijk3)=-f(1,2,kv)</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;          vs(ijk3)= f(1,2,ku)</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;          us(ijk5)= f(1,2,ku)</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;          vs(ijk5)= f(1,2,kv)</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;          us(ijk7)= f(1,2,kv)</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;          vs(ijk7)=-f(1,2,ku)</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keywordflow">IF</span>(kmax.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;          ku=1</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;          kv=2</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;            lr=2*l+1</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;            li=2*l+2</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;            un(ij1)=un(ij1)+2*(f(lr,1,ku)*clon(l,1)</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;     &amp;                        -f(li,1,ku)*slon(l,1))</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;            vn(ij1)=vn(ij1)+2*(f(lr,1,kv)*clon(l,1)</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;     &amp;                        -f(li,1,kv)*slon(l,1))</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;            un(ij3)=un(ij3)+2*(f(lr,1,kv)*clon(l,3)</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;     &amp;                        -f(li,1,kv)*slon(l,3))</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;            vn(ij3)=vn(ij3)-2*(f(lr,1,ku)*clon(l,3)</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;     &amp;                        -f(li,1,ku)*slon(l,3))</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;            un(ij5)=un(ij5)-2*(f(lr,1,ku)*clon(l,5)</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;     &amp;                        -f(li,1,ku)*slon(l,5))</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;            vn(ij5)=vn(ij5)-2*(f(lr,1,kv)*clon(l,5)</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;     &amp;                        -f(li,1,kv)*slon(l,5))</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;            un(ij7)=un(ij7)-2*(f(lr,1,kv)*clon(l,7)</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;     &amp;                        -f(li,1,kv)*slon(l,7))</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;            vn(ij7)=vn(ij7)+2*(f(lr,1,ku)*clon(l,7)</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;     &amp;                        -f(li,1,ku)*slon(l,7))</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;            us(ij1)=us(ij1)-2*(f(lr,2,ku)*clon(l,5)</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;     &amp;                        -f(li,2,ku)*slon(l,5))</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;            vs(ij1)=vs(ij1)-2*(f(lr,2,kv)*clon(l,5)</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;     &amp;                        -f(li,2,kv)*slon(l,5))</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;            us(ij3)=us(ij3)-2*(f(lr,2,kv)*clon(l,3)</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;     &amp;                        -f(li,2,kv)*slon(l,3))</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;            vs(ij3)=vs(ij3)+2*(f(lr,2,ku)*clon(l,3)</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;     &amp;                        -f(li,2,ku)*slon(l,3))</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;            us(ij5)=us(ij5)+2*(f(lr,2,ku)*clon(l,1)</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;     &amp;                        -f(li,2,ku)*slon(l,1))</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;            vs(ij5)=vs(ij5)+2*(f(lr,2,kv)*clon(l,1)</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;     &amp;                        -f(li,2,kv)*slon(l,1))</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;            us(ij7)=us(ij7)+2*(f(lr,2,kv)*clon(l,7)</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;     &amp;                        -f(li,2,kv)*slon(l,7))</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;            vs(ij7)=vs(ij7)-2*(f(lr,2,ku)*clon(l,7)</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;     &amp;                        -f(li,2,ku)*slon(l,7))</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;            lr=2*l+1</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;            li=2*l+2</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;            <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;              ku=k</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;              kv=k+kmax</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;              ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;              ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;              ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;              ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;              un(ijk1)=un(ijk1)+2*(f(lr,1,ku)*clon(l,1)</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;     &amp;                            -f(li,1,ku)*slon(l,1))</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;              vn(ijk1)=vn(ijk1)+2*(f(lr,1,kv)*clon(l,1)</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;     &amp;                            -f(li,1,kv)*slon(l,1))</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;              un(ijk3)=un(ijk3)+2*(f(lr,1,kv)*clon(l,3)</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;     &amp;                            -f(li,1,kv)*slon(l,3))</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;              vn(ijk3)=vn(ijk3)-2*(f(lr,1,ku)*clon(l,3)</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;     &amp;                            -f(li,1,ku)*slon(l,3))</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;              un(ijk5)=un(ijk5)-2*(f(lr,1,ku)*clon(l,5)</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;     &amp;                            -f(li,1,ku)*slon(l,5))</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;              vn(ijk5)=vn(ijk5)-2*(f(lr,1,kv)*clon(l,5)</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;     &amp;                            -f(li,1,kv)*slon(l,5))</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;              un(ijk7)=un(ijk7)-2*(f(lr,1,kv)*clon(l,7)</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;     &amp;                            -f(li,1,kv)*slon(l,7))</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;              vn(ijk7)=vn(ijk7)+2*(f(lr,1,ku)*clon(l,7)</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;     &amp;                            -f(li,1,ku)*slon(l,7))</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;              us(ijk1)=us(ijk1)-2*(f(lr,2,ku)*clon(l,5)</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;     &amp;                            -f(li,2,ku)*slon(l,5))</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;              vs(ijk1)=vs(ijk1)-2*(f(lr,2,kv)*clon(l,5)</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;     &amp;                            -f(li,2,kv)*slon(l,5))</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;              us(ijk3)=us(ijk3)-2*(f(lr,2,kv)*clon(l,3)</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;     &amp;                            -f(li,2,kv)*slon(l,3))</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;              vs(ijk3)=vs(ijk3)+2*(f(lr,2,ku)*clon(l,3)</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;     &amp;                            -f(li,2,ku)*slon(l,3))</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;              us(ijk5)=us(ijk5)+2*(f(lr,2,ku)*clon(l,1)</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;     &amp;                            -f(li,2,ku)*slon(l,1))</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;              vs(ijk5)=vs(ijk5)+2*(f(lr,2,kv)*clon(l,1)</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;     &amp;                            -f(li,2,kv)*slon(l,1))</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;              us(ijk7)=us(ijk7)+2*(f(lr,2,kv)*clon(l,7)</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;     &amp;                            -f(li,2,kv)*slon(l,7))</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;              vs(ijk7)=vs(ijk7)-2*(f(lr,2,ku)*clon(l,7)</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;     &amp;                            -f(li,2,ku)*slon(l,7))</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160; </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="comment">C  CALCULATE POINTS ON THE MAIN DIAGONALS THROUGH THE POLE,</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="comment">C  STARTING CLOCKWISE OF THE ORIENTATION LONGITUDE AND GOING CLOCKWISE.</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(I1,J2,I2,J3,I3,J4,I4,J5,I5,J6,I6,J7,I7,J8,I8)</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJ1,IJ2,IJ3,IJ4,IJ5,IJ6,IJ7,IJ8)</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJK1,IJK2,IJK3,IJK4,IJK5,IJK6,IJK7,IJK8)</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(DJ1,DI1,RQ,RR,RADLON,RADLON1,RADLON2,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(PLN,PLNTOP,F,SLON,CLON,KU,KV,LR,LI)</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;      <span class="keywordflow">DO</span> j1=1,nph</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        i1=j1</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        radlon=(orient-45)/dpr</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        j3=nps+1-i1</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        i3=j1</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;        j5=nps+1-j1</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        i5=nps+1-i1</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        j7=i1</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        i7=nps+1-j1</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        ij1=(i1-1)*ni+(j1-1)*nj+1</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        ij3=(i3-1)*ni+(j3-1)*nj+1</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        ij5=(i5-1)*ni+(j5-1)*nj+1</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        ij7=(i7-1)*ni+(j7-1)*nj+1</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        di1=i1-nph-1</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        dj1=j1-nph-1</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        rq=di1**2+dj1**2</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        slat1=(gq-rq)/(gq+rq)</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        clat1=sqrt(1.-slat1**2)</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,mdim,2*mxtop,2*kmax,</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;     &amp;               clat1,pln,plntop,mp,w,wtop,f)</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;          slon(l,1)=sin(l*radlon)</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;          clon(l,1)=cos(l*radlon)</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;          slon(l,3)=slon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;     &amp;             -clon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;          clon(l,3)=clon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;     &amp;             +slon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;          slon(l,5)=slon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;     &amp;             -clon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;          clon(l,5)=clon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;     &amp;             +slon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;          slon(l,7)=slon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;     &amp;             -clon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;          clon(l,7)=clon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;     &amp;             +slon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;          ku=k</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;          kv=k+kmax</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;          ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;          ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;          ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;          ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;          un(ijk1)=srh*( f(1,1,ku)+f(1,1,kv))</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;          vn(ijk1)=srh*(-f(1,1,ku)+f(1,1,kv))</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;          un(ijk3)=srh*(-f(1,1,ku)+f(1,1,kv))</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;          vn(ijk3)=srh*(-f(1,1,ku)-f(1,1,kv))</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;          un(ijk5)=srh*(-f(1,1,ku)-f(1,1,kv))</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;          vn(ijk5)=srh*( f(1,1,ku)-f(1,1,kv))</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;          un(ijk7)=srh*( f(1,1,ku)-f(1,1,kv))</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;          vn(ijk7)=srh*( f(1,1,ku)+f(1,1,kv))</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;          us(ijk1)=srh*(-f(1,2,ku)-f(1,2,kv))</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;          vs(ijk1)=srh*( f(1,2,ku)-f(1,2,kv))</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;          us(ijk3)=srh*( f(1,2,ku)-f(1,2,kv))</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;          vs(ijk3)=srh*( f(1,2,ku)+f(1,2,kv))</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;          us(ijk5)=srh*( f(1,2,ku)+f(1,2,kv))</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;          vs(ijk5)=srh*(-f(1,2,ku)+f(1,2,kv))</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;          us(ijk7)=srh*(-f(1,2,ku)+f(1,2,kv))</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;          vs(ijk7)=srh*(-f(1,2,ku)-f(1,2,kv))</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        <span class="keywordflow">IF</span>(kmax.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;          ku=1</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;          kv=2</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;            lr=2*l+1</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;            li=2*l+2</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;            un(ij1)=un(ij1)+2*srh*(( f(lr,1,ku)+f(lr,1,kv))</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;     &amp;                             *clon(l,1)</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;     &amp;                            -( f(li,1,ku)+f(li,1,kv))</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;     &amp;                             *slon(l,1))</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;            vn(ij1)=vn(ij1)+2*srh*((-f(lr,1,ku)+f(lr,1,kv))</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;     &amp;                             *clon(l,1)</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;     &amp;                            -(-f(li,1,ku)+f(li,1,kv))</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;     &amp;                             *slon(l,1))</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;            un(ij3)=un(ij3)+2*srh*((-f(lr,1,ku)+f(lr,1,kv))</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;     &amp;                             *clon(l,3)</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;     &amp;                            -(-f(li,1,ku)+f(li,1,kv))</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;     &amp;                             *slon(l,3))</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;            vn(ij3)=vn(ij3)+2*srh*((-f(lr,1,ku)-f(lr,1,kv))</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;     &amp;                             *clon(l,3)</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;     &amp;                            -(-f(li,1,ku)-f(li,1,kv))</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;     &amp;                             *slon(l,3))</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;            un(ij5)=un(ij5)+2*srh*((-f(lr,1,ku)-f(lr,1,kv))</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;     &amp;                             *clon(l,5)</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;     &amp;                            -(-f(li,1,ku)-f(li,1,kv))</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;     &amp;                             *slon(l,5))</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;            vn(ij5)=vn(ij5)+2*srh*(( f(lr,1,ku)-f(lr,1,kv))</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;     &amp;                             *clon(l,5)</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;     &amp;                            -( f(li,1,ku)-f(li,1,kv))</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;     &amp;                             *slon(l,5))</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;            un(ij7)=un(ij7)+2*srh*(( f(lr,1,ku)-f(lr,1,kv))</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;     &amp;                             *clon(l,7)</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;     &amp;                            -( f(li,1,ku)-f(li,1,kv))</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;     &amp;                             *slon(l,7))</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;            vn(ij7)=vn(ij7)+2*srh*(( f(lr,1,ku)+f(lr,1,kv))</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;     &amp;                             *clon(l,7)</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;     &amp;                            -( f(li,1,ku)+f(li,1,kv))</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;     &amp;                             *slon(l,7))</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;            us(ij1)=us(ij1)+2*srh*((-f(lr,2,ku)-f(lr,2,kv))</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;     &amp;                             *clon(l,3)</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;     &amp;                            -(-f(li,2,ku)-f(li,2,kv))</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;     &amp;                             *slon(l,3))</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;            vs(ij1)=vs(ij1)+2*srh*(( f(lr,2,ku)-f(lr,2,kv))</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;     &amp;                             *clon(l,3)</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;     &amp;                            -( f(li,2,ku)-f(li,2,kv))</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;     &amp;                             *slon(l,3))</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;            us(ij3)=us(ij3)+2*srh*(( f(lr,2,ku)-f(lr,2,kv))</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;     &amp;                             *clon(l,1)</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;     &amp;                            -( f(li,2,ku)-f(li,2,kv))</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;     &amp;                             *slon(l,1))</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;            vs(ij3)=vs(ij3)+2*srh*(( f(lr,2,ku)+f(lr,2,kv))</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;     &amp;                             *clon(l,1)</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;     &amp;                            -( f(li,2,ku)+f(li,2,kv))</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;     &amp;                             *slon(l,1))</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;            us(ij5)=us(ij5)+2*srh*(( f(lr,2,ku)+f(lr,2,kv))</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;     &amp;                             *clon(l,7)</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;     &amp;                            -( f(li,2,ku)+f(li,2,kv))</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;     &amp;                             *slon(l,7))</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;            vs(ij5)=vs(ij5)+2*srh*((-f(lr,2,ku)+f(lr,2,kv))</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;     &amp;                             *clon(l,7)</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;     &amp;                            -(-f(li,2,ku)+f(li,2,kv))</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;     &amp;                             *slon(l,7))</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;            us(ij7)=us(ij7)+2*srh*((-f(lr,2,ku)+f(lr,2,kv))</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;     &amp;                             *clon(l,5)</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;     &amp;                            -(-f(li,2,ku)+f(li,2,kv))</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;     &amp;                             *slon(l,5))</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;            vs(ij7)=vs(ij7)+2*srh*((-f(lr,2,ku)-f(lr,2,kv))</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;     &amp;                             *clon(l,5)</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;     &amp;                            -(-f(li,2,ku)-f(li,2,kv))</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;     &amp;                             *slon(l,5))</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;            lr=2*l+1</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;            li=2*l+2</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;            <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;              ku=k</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;              kv=k+kmax</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;              ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;              ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;              ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;              ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;              un(ijk1)=un(ijk1)+2*srh*(( f(lr,1,ku)+f(lr,1,kv))</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;     &amp;                                 *clon(l,1)</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;     &amp;                                -( f(li,1,ku)+f(li,1,kv))</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;     &amp;                                 *slon(l,1))</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;              vn(ijk1)=vn(ijk1)+2*srh*((-f(lr,1,ku)+f(lr,1,kv))</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;     &amp;                                 *clon(l,1)</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;     &amp;                                -(-f(li,1,ku)+f(li,1,kv))</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;     &amp;                                 *slon(l,1))</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;              un(ijk3)=un(ijk3)+2*srh*((-f(lr,1,ku)+f(lr,1,kv))</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;     &amp;                                 *clon(l,3)</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;     &amp;                                -(-f(li,1,ku)+f(li,1,kv))</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;     &amp;                                 *slon(l,3))</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;              vn(ijk3)=vn(ijk3)+2*srh*((-f(lr,1,ku)-f(lr,1,kv))</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;     &amp;                                 *clon(l,3)</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;     &amp;                                -(-f(li,1,ku)-f(li,1,kv))</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;     &amp;                                 *slon(l,3))</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;              un(ijk5)=un(ijk5)+2*srh*((-f(lr,1,ku)-f(lr,1,kv))</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;     &amp;                                 *clon(l,5)</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;     &amp;                                -(-f(li,1,ku)-f(li,1,kv))</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;     &amp;                                 *slon(l,5))</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;              vn(ijk5)=vn(ijk5)+2*srh*(( f(lr,1,ku)-f(lr,1,kv))</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;     &amp;                                 *clon(l,5)</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;     &amp;                                -( f(li,1,ku)-f(li,1,kv))</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;     &amp;                                 *slon(l,5))</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;              un(ijk7)=un(ijk7)+2*srh*(( f(lr,1,ku)-f(lr,1,kv))</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;     &amp;                                 *clon(l,7)</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;     &amp;                                -( f(li,1,ku)-f(li,1,kv))</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;     &amp;                                 *slon(l,7))</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;              vn(ijk7)=vn(ijk7)+2*srh*(( f(lr,1,ku)+f(lr,1,kv))</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;     &amp;                                 *clon(l,7)</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;     &amp;                                -( f(li,1,ku)+f(li,1,kv))</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;     &amp;                                 *slon(l,7))</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;              us(ijk1)=us(ijk1)+2*srh*((-f(lr,2,ku)-f(lr,2,kv))</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;     &amp;                                 *clon(l,3)</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;     &amp;                                -(-f(li,2,ku)-f(li,2,kv))</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;     &amp;                                 *slon(l,3))</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;              vs(ijk1)=vs(ijk1)+2*srh*(( f(lr,2,ku)-f(lr,2,kv))</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;     &amp;                                 *clon(l,3)</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;     &amp;                                -( f(li,2,ku)-f(li,2,kv))</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;     &amp;                                 *slon(l,3))</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;              us(ijk3)=us(ijk3)+2*srh*(( f(lr,2,ku)-f(lr,2,kv))</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;     &amp;                                 *clon(l,1)</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;     &amp;                                -( f(li,2,ku)-f(li,2,kv))</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;     &amp;                                 *slon(l,1))</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;              vs(ijk3)=vs(ijk3)+2*srh*(( f(lr,2,ku)+f(lr,2,kv))</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;     &amp;                                 *clon(l,1)</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;     &amp;                                -( f(li,2,ku)+f(li,2,kv))</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;     &amp;                                 *slon(l,1))</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;              us(ijk5)=us(ijk5)+2*srh*(( f(lr,2,ku)+f(lr,2,kv))</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;     &amp;                                 *clon(l,7)</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;     &amp;                                -( f(li,2,ku)+f(li,2,kv))</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;     &amp;                                 *slon(l,7))</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;              vs(ijk5)=vs(ijk5)+2*srh*((-f(lr,2,ku)+f(lr,2,kv))</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;     &amp;                                 *clon(l,7)</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;     &amp;                                -(-f(li,2,ku)+f(li,2,kv))</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;     &amp;                                 *slon(l,7))</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;              us(ijk7)=us(ijk7)+2*srh*((-f(lr,2,ku)+f(lr,2,kv))</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;     &amp;                                 *clon(l,5)</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;     &amp;                                -(-f(li,2,ku)+f(li,2,kv))</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;     &amp;                                 *slon(l,5))</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;              vs(ijk7)=vs(ijk7)+2*srh*((-f(lr,2,ku)-f(lr,2,kv))</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;     &amp;                                 *clon(l,5)</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;     &amp;                                -(-f(li,2,ku)-f(li,2,kv))</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;     &amp;                                 *slon(l,5))</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160; </div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;<span class="comment">C  CALCULATE THE REMAINDER OF THE POLAR STEREOGRAPHIC DOMAIN,</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;<span class="comment">C  STARTING AT THE SECTOR JUST CLOCKWISE OF THE ORIENTATION LONGITUDE</span></div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="comment">C  AND GOING CLOCKWISE UNTIL ALL EIGHT SECTORS ARE DONE.</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(I1,J2,I2,J3,I3,J4,I4,J5,I5,J6,I6,J7,I7,J8,I8)</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJ1,IJ2,IJ3,IJ4,IJ5,IJ6,IJ7,IJ8)</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(IJK1,IJK2,IJK3,IJK4,IJK5,IJK6,IJK7,IJK8)</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(DJ1,DI1,RQ,RR,RADLON,RADLON1,RADLON2,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="comment">C$OMP&amp;       PRIVATE(PLN,PLNTOP,F,SLON,CLON,KU,KV,LR,LI)</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;      <span class="keywordflow">DO</span> j1=1,nph-1</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        <span class="keywordflow">DO</span> i1=j1+1,nph</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;          j2=i1</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;          i2=j1</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;          j3=nps+1-i1</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;          i3=j1</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;          j4=nps+1-j1</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;          i4=i1</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;          j5=nps+1-j1</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;          i5=nps+1-i1</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;          j6=nps+1-i1</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;          i6=nps+1-j1</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;          j7=i1</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;          i7=nps+1-j1</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;          j8=j1</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;          i8=nps+1-i1</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;          ij1=(i1-1)*ni+(j1-1)*nj+1</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;          ij2=(i2-1)*ni+(j2-1)*nj+1</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;          ij3=(i3-1)*ni+(j3-1)*nj+1</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;          ij4=(i4-1)*ni+(j4-1)*nj+1</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;          ij5=(i5-1)*ni+(j5-1)*nj+1</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;          ij6=(i6-1)*ni+(j6-1)*nj+1</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;          ij7=(i7-1)*ni+(j7-1)*nj+1</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;          ij8=(i8-1)*ni+(j8-1)*nj+1</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;          di1=i1-nph-1</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;          dj1=j1-nph-1</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;          rq=di1**2+dj1**2</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;          rr=sqrt(1/rq)</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;          slat1=(gq-rq)/(gq+rq)</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;          clat1=sqrt(1.-slat1**2)</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;          radlon1=orient/dpr+atan(-di1/dj1)</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;          radlon2=(orient-45)/dpr*2-radlon1</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;     &amp;                  pln,plntop)</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;          <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,mdim,2*mxtop,2*kmax,</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;     &amp;                 clat1,pln,plntop,mp,w,wtop,f)</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;          <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;            slon(l,1)=sin(l*radlon1)</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;            clon(l,1)=cos(l*radlon1)</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;            slon(l,2)=sin(l*radlon2)</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;            clon(l,2)=cos(l*radlon2)</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;            slon(l,3)=slon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;     &amp;               -clon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;            clon(l,3)=clon(l,1)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;     &amp;               +slon(l,1)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;            slon(l,4)=slon(l,2)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;     &amp;               -clon(l,2)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;            clon(l,4)=clon(l,2)*crot(mod(1*l,4))</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;     &amp;               +slon(l,2)*srot(mod(1*l,4))</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;            slon(l,5)=slon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;     &amp;               -clon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;            clon(l,5)=clon(l,1)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;     &amp;               +slon(l,1)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;            slon(l,6)=slon(l,2)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;     &amp;               -clon(l,2)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;            clon(l,6)=clon(l,2)*crot(mod(2*l,4))</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;     &amp;               +slon(l,2)*srot(mod(2*l,4))</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;            slon(l,7)=slon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;     &amp;               -clon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;            clon(l,7)=clon(l,1)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;     &amp;               +slon(l,1)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;            slon(l,8)=slon(l,2)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;     &amp;               -clon(l,2)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;            clon(l,8)=clon(l,2)*crot(mod(3*l,4))</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;     &amp;               +slon(l,2)*srot(mod(3*l,4))</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;          <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;            ku=k</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;            kv=k+kmax</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;            ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;            ijk2=ij2+(k-1)*kg</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;            ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;            ijk4=ij4+(k-1)*kg</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;            ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;            ijk6=ij6+(k-1)*kg</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;            ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;            ijk8=ij8+(k-1)*kg</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;            un(ijk1)=rr*(-dj1*f(1,1,ku)-di1*f(1,1,kv))</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;            vn(ijk1)=rr*( di1*f(1,1,ku)-dj1*f(1,1,kv))</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;            un(ijk2)=rr*(-di1*f(1,1,ku)-dj1*f(1,1,kv))</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;            vn(ijk2)=rr*( dj1*f(1,1,ku)-di1*f(1,1,kv))</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;            un(ijk3)=rr*( di1*f(1,1,ku)-dj1*f(1,1,kv))</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;            vn(ijk3)=rr*( dj1*f(1,1,ku)+di1*f(1,1,kv))</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;            un(ijk4)=rr*( dj1*f(1,1,ku)-di1*f(1,1,kv))</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;            vn(ijk4)=rr*( di1*f(1,1,ku)+dj1*f(1,1,kv))</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;            un(ijk5)=rr*( dj1*f(1,1,ku)+di1*f(1,1,kv))</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;            vn(ijk5)=rr*(-di1*f(1,1,ku)+dj1*f(1,1,kv))</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;            un(ijk6)=rr*( di1*f(1,1,ku)+dj1*f(1,1,kv))</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;            vn(ijk6)=rr*(-dj1*f(1,1,ku)+di1*f(1,1,kv))</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;            un(ijk7)=rr*(-di1*f(1,1,ku)+dj1*f(1,1,kv))</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;            vn(ijk7)=rr*(-dj1*f(1,1,ku)-di1*f(1,1,kv))</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;            un(ijk8)=rr*(-dj1*f(1,1,ku)+di1*f(1,1,kv))</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;            vn(ijk8)=rr*(-di1*f(1,1,ku)-dj1*f(1,1,kv))</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;            us(ijk1)=rr*( dj1*f(1,2,ku)+di1*f(1,2,kv))</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;            vs(ijk1)=rr*(-di1*f(1,2,ku)+dj1*f(1,2,kv))</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;            us(ijk2)=rr*( di1*f(1,2,ku)+dj1*f(1,2,kv))</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;            vs(ijk2)=rr*(-dj1*f(1,2,ku)+di1*f(1,2,kv))</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;            us(ijk3)=rr*(-di1*f(1,2,ku)+dj1*f(1,2,kv))</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;            vs(ijk3)=rr*(-dj1*f(1,2,ku)-di1*f(1,2,kv))</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;            us(ijk4)=rr*(-dj1*f(1,2,ku)+di1*f(1,2,kv))</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;            vs(ijk4)=rr*(-di1*f(1,2,ku)-dj1*f(1,2,kv))</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;            us(ijk5)=rr*(-dj1*f(1,2,ku)-di1*f(1,2,kv))</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;            vs(ijk5)=rr*( di1*f(1,2,ku)-dj1*f(1,2,kv))</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;            us(ijk6)=rr*(-di1*f(1,2,ku)-dj1*f(1,2,kv))</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;            vs(ijk6)=rr*( dj1*f(1,2,ku)-di1*f(1,2,kv))</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;            us(ijk7)=rr*( di1*f(1,2,ku)-dj1*f(1,2,kv))</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;            vs(ijk7)=rr*( dj1*f(1,2,ku)+di1*f(1,2,kv))</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;            us(ijk8)=rr*( dj1*f(1,2,ku)-di1*f(1,2,kv))</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;            vs(ijk8)=rr*( di1*f(1,2,ku)+dj1*f(1,2,kv))</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;          <span class="keywordflow">IF</span>(kmax.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;            ku=1</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;            kv=2</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;            <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;              lr=2*l+1</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;              li=2*l+2</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;              un(ij1)=un(ij1)+2*rr*((-dj1*f(lr,1,ku)-di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;     &amp;                              *clon(l,1)</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;     &amp;                             -(-dj1*f(li,1,ku)-di1*f(li,1,kv))</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;     &amp;                              *slon(l,1))</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;              vn(ij1)=vn(ij1)+2*rr*(( di1*f(lr,1,ku)-dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;     &amp;                              *clon(l,1)</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;     &amp;                             -( di1*f(li,1,ku)-dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;     &amp;                              *slon(l,1))</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;              un(ij2)=un(ij2)+2*rr*((-di1*f(lr,1,ku)-dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;     &amp;                              *clon(l,2)</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;     &amp;                             -(-di1*f(li,1,ku)-dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;     &amp;                              *slon(l,2))</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;              vn(ij2)=vn(ij2)+2*rr*(( dj1*f(lr,1,ku)-di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;     &amp;                              *clon(l,2)</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;     &amp;                             -( dj1*f(li,1,ku)-di1*f(li,1,kv))</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;     &amp;                              *slon(l,2))</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;              un(ij3)=un(ij3)+2*rr*(( di1*f(lr,1,ku)-dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;     &amp;                              *clon(l,3)</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;     &amp;                             -( di1*f(li,1,ku)-dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;     &amp;                              *slon(l,3))</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;              vn(ij3)=vn(ij3)+2*rr*(( dj1*f(lr,1,ku)+di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;     &amp;                              *clon(l,3)</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;     &amp;                             -( dj1*f(li,1,ku)+di1*f(li,1,kv))</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;     &amp;                              *slon(l,3))</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;              un(ij4)=un(ij4)+2*rr*(( dj1*f(lr,1,ku)-di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;     &amp;                              *clon(l,4)</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;     &amp;                             -( dj1*f(li,1,ku)-di1*f(li,1,kv))</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;     &amp;                              *slon(l,4))</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;              vn(ij4)=vn(ij4)+2*rr*(( di1*f(lr,1,ku)+dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;     &amp;                              *clon(l,4)</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;     &amp;                             -( di1*f(li,1,ku)+dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;     &amp;                              *slon(l,4))</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;              un(ij5)=un(ij5)+2*rr*(( dj1*f(lr,1,ku)+di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;     &amp;                              *clon(l,5)</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;     &amp;                             -( dj1*f(li,1,ku)+di1*f(li,1,kv))</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;     &amp;                              *slon(l,5))</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;              vn(ij5)=vn(ij5)+2*rr*((-di1*f(lr,1,ku)+dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;     &amp;                              *clon(l,5)</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;     &amp;                             -(-di1*f(li,1,ku)+dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;     &amp;                              *slon(l,5))</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;              un(ij6)=un(ij6)+2*rr*(( di1*f(lr,1,ku)+dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;     &amp;                              *clon(l,6)</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;     &amp;                             -( di1*f(li,1,ku)+dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;     &amp;                              *slon(l,6))</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;              vn(ij6)=vn(ij6)+2*rr*((-dj1*f(lr,1,ku)+di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;     &amp;                              *clon(l,6)</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;     &amp;                             -(-dj1*f(li,1,ku)+di1*f(li,1,kv))</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;     &amp;                              *slon(l,6))</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;              un(ij7)=un(ij7)+2*rr*((-di1*f(lr,1,ku)+dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;     &amp;                              *clon(l,7)</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;     &amp;                             -(-di1*f(li,1,ku)+dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;     &amp;                              *slon(l,7))</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;              vn(ij7)=vn(ij7)+2*rr*((-dj1*f(lr,1,ku)-di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;     &amp;                              *clon(l,7)</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;     &amp;                             -(-dj1*f(li,1,ku)-di1*f(li,1,kv))</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;     &amp;                              *slon(l,7))</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;              un(ij8)=un(ij8)+2*rr*((-dj1*f(lr,1,ku)+di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;     &amp;                              *clon(l,8)</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;     &amp;                             -(-dj1*f(li,1,ku)+di1*f(li,1,kv))</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;     &amp;                              *slon(l,8))</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;              vn(ij8)=vn(ij8)+2*rr*((-di1*f(lr,1,ku)-dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;     &amp;                              *clon(l,8)</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;     &amp;                             -(-di1*f(li,1,ku)-dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;     &amp;                              *slon(l,8))</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;              us(ij1)=us(ij1)+2*rr*(( dj1*f(lr,2,ku)+di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;     &amp;                              *clon(l,4)</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;     &amp;                             -( dj1*f(li,2,ku)+di1*f(li,2,kv))</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;     &amp;                              *slon(l,4))</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;              vs(ij1)=vs(ij1)+2*rr*((-di1*f(lr,2,ku)+dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;     &amp;                              *clon(l,4)</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;     &amp;                             -(-di1*f(li,2,ku)+dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;     &amp;                              *slon(l,4))</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;              us(ij2)=us(ij2)+2*rr*(( di1*f(lr,2,ku)+dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;     &amp;                              *clon(l,3)</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;     &amp;                             -( di1*f(li,2,ku)+dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;     &amp;                              *slon(l,3))</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;              vs(ij2)=vs(ij2)+2*rr*((-dj1*f(lr,2,ku)+di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;     &amp;                              *clon(l,3)</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;     &amp;                             -(-dj1*f(li,2,ku)+di1*f(li,2,kv))</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;     &amp;                              *slon(l,3))</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;              us(ij3)=us(ij3)+2*rr*((-di1*f(lr,2,ku)+dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;     &amp;                              *clon(l,2)</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;     &amp;                             -(-di1*f(li,2,ku)+dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;     &amp;                              *slon(l,2))</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;              vs(ij3)=vs(ij3)+2*rr*((-dj1*f(lr,2,ku)-di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;     &amp;                              *clon(l,2)</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;     &amp;                             -(-dj1*f(li,2,ku)-di1*f(li,2,kv))</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;     &amp;                              *slon(l,2))</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;              us(ij4)=us(ij4)+2*rr*((-dj1*f(lr,2,ku)+di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;     &amp;                              *clon(l,1)</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;     &amp;                             -(-dj1*f(li,2,ku)+di1*f(li,2,kv))</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;     &amp;                              *slon(l,1))</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;              vs(ij4)=vs(ij4)+2*rr*((-di1*f(lr,2,ku)-dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;     &amp;                              *clon(l,1)</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;     &amp;                             -(-di1*f(li,2,ku)-dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;     &amp;                              *slon(l,1))</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;              us(ij5)=us(ij5)+2*rr*((-dj1*f(lr,2,ku)-di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;     &amp;                              *clon(l,8)</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;     &amp;                             -(-dj1*f(li,2,ku)-di1*f(li,2,kv))</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;     &amp;                              *slon(l,8))</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;              vs(ij5)=vs(ij5)+2*rr*(( di1*f(lr,2,ku)-dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;     &amp;                              *clon(l,8)</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;     &amp;                             -( di1*f(li,2,ku)-dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;     &amp;                              *slon(l,8))</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;              us(ij6)=us(ij6)+2*rr*((-di1*f(lr,2,ku)-dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;     &amp;                              *clon(l,7)</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;     &amp;                             -(-di1*f(li,2,ku)-dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;     &amp;                              *slon(l,7))</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;              vs(ij6)=vs(ij6)+2*rr*(( dj1*f(lr,2,ku)-di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;     &amp;                              *clon(l,7)</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;     &amp;                             -( dj1*f(li,2,ku)-di1*f(li,2,kv))</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;     &amp;                              *slon(l,7))</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;              us(ij7)=us(ij7)+2*rr*(( di1*f(lr,2,ku)-dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;     &amp;                              *clon(l,6)</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;     &amp;                             -( di1*f(li,2,ku)-dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;     &amp;                              *slon(l,6))</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;              vs(ij7)=vs(ij7)+2*rr*(( dj1*f(lr,2,ku)+di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;     &amp;                              *clon(l,6)</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;     &amp;                             -( dj1*f(li,2,ku)+di1*f(li,2,kv))</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;     &amp;                              *slon(l,6))</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;              us(ij8)=us(ij8)+2*rr*(( dj1*f(lr,2,ku)-di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;     &amp;                              *clon(l,5)</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;     &amp;                             -( dj1*f(li,2,ku)-di1*f(li,2,kv))</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;     &amp;                              *slon(l,5))</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;              vs(ij8)=vs(ij8)+2*rr*(( di1*f(lr,2,ku)+dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;     &amp;                              *clon(l,5)</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;     &amp;                             -( di1*f(li,2,ku)+dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;     &amp;                              *slon(l,5))</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;            <span class="keywordflow">DO</span> l=1,maxwv</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;              lr=2*l+1</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;              li=2*l+2</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;              <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;                ku=k</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;                kv=k+kmax</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;                ijk1=ij1+(k-1)*kg</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;                ijk2=ij2+(k-1)*kg</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;                ijk3=ij3+(k-1)*kg</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;                ijk4=ij4+(k-1)*kg</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;                ijk5=ij5+(k-1)*kg</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;                ijk6=ij6+(k-1)*kg</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;                ijk7=ij7+(k-1)*kg</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;                ijk8=ij8+(k-1)*kg</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;                un(ijk1)=un(ijk1)+2*rr*((-dj1*f(lr,1,ku)-di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;     &amp;                                  *clon(l,1)</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;     &amp;                                 -(-dj1*f(li,1,ku)-di1*f(li,1,kv))</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;     &amp;                                  *slon(l,1))</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;                vn(ijk1)=vn(ijk1)+2*rr*(( di1*f(lr,1,ku)-dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;     &amp;                                  *clon(l,1)</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;     &amp;                                 -( di1*f(li,1,ku)-dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;     &amp;                                  *slon(l,1))</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;                un(ijk2)=un(ijk2)+2*rr*((-di1*f(lr,1,ku)-dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;     &amp;                                  *clon(l,2)</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;     &amp;                                 -(-di1*f(li,1,ku)-dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;     &amp;                                  *slon(l,2))</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;                vn(ijk2)=vn(ijk2)+2*rr*(( dj1*f(lr,1,ku)-di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;     &amp;                                  *clon(l,2)</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;     &amp;                                 -( dj1*f(li,1,ku)-di1*f(li,1,kv))</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;     &amp;                                  *slon(l,2))</div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;                un(ijk3)=un(ijk3)+2*rr*(( di1*f(lr,1,ku)-dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;     &amp;                                  *clon(l,3)</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;     &amp;                                 -( di1*f(li,1,ku)-dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;     &amp;                                  *slon(l,3))</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;                vn(ijk3)=vn(ijk3)+2*rr*(( dj1*f(lr,1,ku)+di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;     &amp;                                  *clon(l,3)</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;     &amp;                                 -( dj1*f(li,1,ku)+di1*f(li,1,kv))</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;     &amp;                                  *slon(l,3))</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;                un(ijk4)=un(ijk4)+2*rr*(( dj1*f(lr,1,ku)-di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;     &amp;                                  *clon(l,4)</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;     &amp;                                 -( dj1*f(li,1,ku)-di1*f(li,1,kv))</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;     &amp;                                  *slon(l,4))</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;                vn(ijk4)=vn(ijk4)+2*rr*(( di1*f(lr,1,ku)+dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;     &amp;                                  *clon(l,4)</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;     &amp;                                 -( di1*f(li,1,ku)+dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;     &amp;                                  *slon(l,4))</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;                un(ijk5)=un(ijk5)+2*rr*(( dj1*f(lr,1,ku)+di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;     &amp;                                  *clon(l,5)</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;     &amp;                                 -( dj1*f(li,1,ku)+di1*f(li,1,kv))</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;     &amp;                                  *slon(l,5))</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;                vn(ijk5)=vn(ijk5)+2*rr*((-di1*f(lr,1,ku)+dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;     &amp;                                  *clon(l,5)</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;     &amp;                                 -(-di1*f(li,1,ku)+dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;     &amp;                                  *slon(l,5))</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;                un(ijk6)=un(ijk6)+2*rr*(( di1*f(lr,1,ku)+dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;     &amp;                                  *clon(l,6)</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;     &amp;                                 -( di1*f(li,1,ku)+dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;     &amp;                                  *slon(l,6))</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;                vn(ijk6)=vn(ijk6)+2*rr*((-dj1*f(lr,1,ku)+di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;     &amp;                                  *clon(l,6)</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;     &amp;                                 -(-dj1*f(li,1,ku)+di1*f(li,1,kv))</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;     &amp;                                  *slon(l,6))</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;                un(ijk7)=un(ijk7)+2*rr*((-di1*f(lr,1,ku)+dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;     &amp;                                  *clon(l,7)</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;     &amp;                                 -(-di1*f(li,1,ku)+dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;     &amp;                                  *slon(l,7))</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;                vn(ijk7)=vn(ijk7)+2*rr*((-dj1*f(lr,1,ku)-di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;     &amp;                                  *clon(l,7)</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;     &amp;                                 -(-dj1*f(li,1,ku)-di1*f(li,1,kv))</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;     &amp;                                  *slon(l,7))</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;                un(ijk8)=un(ijk8)+2*rr*((-dj1*f(lr,1,ku)+di1*f(lr,1,kv))</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;     &amp;                                  *clon(l,8)</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;     &amp;                                 -(-dj1*f(li,1,ku)+di1*f(li,1,kv))</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;     &amp;                                  *slon(l,8))</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;                vn(ijk8)=vn(ijk8)+2*rr*((-di1*f(lr,1,ku)-dj1*f(lr,1,kv))</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;     &amp;                                  *clon(l,8)</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;     &amp;                                 -(-di1*f(li,1,ku)-dj1*f(li,1,kv))</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;     &amp;                                  *slon(l,8))</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;                us(ijk1)=us(ijk1)+2*rr*(( dj1*f(lr,2,ku)+di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;     &amp;                                  *clon(l,4)</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;     &amp;                                 -( dj1*f(li,2,ku)+di1*f(li,2,kv))</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;     &amp;                                  *slon(l,4))</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;                vs(ijk1)=vs(ijk1)+2*rr*((-di1*f(lr,2,ku)+dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;     &amp;                                  *clon(l,4)</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;     &amp;                                 -(-di1*f(li,2,ku)+dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;     &amp;                                  *slon(l,4))</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;                us(ijk2)=us(ijk2)+2*rr*(( di1*f(lr,2,ku)+dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;     &amp;                                  *clon(l,3)</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;     &amp;                                 -( di1*f(li,2,ku)+dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;     &amp;                                  *slon(l,3))</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;                vs(ijk2)=vs(ijk2)+2*rr*((-dj1*f(lr,2,ku)+di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;     &amp;                                  *clon(l,3)</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;     &amp;                                 -(-dj1*f(li,2,ku)+di1*f(li,2,kv))</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;     &amp;                                  *slon(l,3))</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;                us(ijk3)=us(ijk3)+2*rr*((-di1*f(lr,2,ku)+dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;     &amp;                                  *clon(l,2)</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;     &amp;                                 -(-di1*f(li,2,ku)+dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;     &amp;                                  *slon(l,2))</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;                vs(ijk3)=vs(ijk3)+2*rr*((-dj1*f(lr,2,ku)-di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;     &amp;                                  *clon(l,2)</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;     &amp;                                 -(-dj1*f(li,2,ku)-di1*f(li,2,kv))</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;     &amp;                                  *slon(l,2))</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;                us(ijk4)=us(ijk4)+2*rr*((-dj1*f(lr,2,ku)+di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;     &amp;                                  *clon(l,1)</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;     &amp;                                 -(-dj1*f(li,2,ku)+di1*f(li,2,kv))</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;     &amp;                                  *slon(l,1))</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;                vs(ijk4)=vs(ijk4)+2*rr*((-di1*f(lr,2,ku)-dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;     &amp;                                  *clon(l,1)</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;     &amp;                                 -(-di1*f(li,2,ku)-dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;     &amp;                                  *slon(l,1))</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;                us(ijk5)=us(ijk5)+2*rr*((-dj1*f(lr,2,ku)-di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;     &amp;                                  *clon(l,8)</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;     &amp;                                 -(-dj1*f(li,2,ku)-di1*f(li,2,kv))</div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;     &amp;                                  *slon(l,8))</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;                vs(ijk5)=vs(ijk5)+2*rr*(( di1*f(lr,2,ku)-dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;     &amp;                                  *clon(l,8)</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;     &amp;                                 -( di1*f(li,2,ku)-dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;     &amp;                                  *slon(l,8))</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;                us(ijk6)=us(ijk6)+2*rr*((-di1*f(lr,2,ku)-dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;     &amp;                                  *clon(l,7)</div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;     &amp;                                 -(-di1*f(li,2,ku)-dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;     &amp;                                  *slon(l,7))</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;                vs(ijk6)=vs(ijk6)+2*rr*(( dj1*f(lr,2,ku)-di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;     &amp;                                  *clon(l,7)</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;     &amp;                                 -( dj1*f(li,2,ku)-di1*f(li,2,kv))</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;     &amp;                                  *slon(l,7))</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;                us(ijk7)=us(ijk7)+2*rr*(( di1*f(lr,2,ku)-dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;     &amp;                                  *clon(l,6)</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;     &amp;                                 -( di1*f(li,2,ku)-dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;     &amp;                                  *slon(l,6))</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;                vs(ijk7)=vs(ijk7)+2*rr*(( dj1*f(lr,2,ku)+di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;     &amp;                                  *clon(l,6)</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;     &amp;                                 -( dj1*f(li,2,ku)+di1*f(li,2,kv))</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;     &amp;                                  *slon(l,6))</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;                us(ijk8)=us(ijk8)+2*rr*(( dj1*f(lr,2,ku)-di1*f(lr,2,kv))</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;     &amp;                                  *clon(l,5)</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;     &amp;                                 -( dj1*f(li,2,ku)-di1*f(li,2,kv))</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;     &amp;                                  *slon(l,5))</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;                vs(ijk8)=vs(ijk8)+2*rr*(( di1*f(lr,2,ku)+dj1*f(lr,2,kv))</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;     &amp;                                  *clon(l,5)</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;     &amp;                                 -( di1*f(li,2,ku)+dj1*f(li,2,kv))</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;     &amp;                                  *slon(l,5))</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;<span class="keywordflow">              ENDDO</span></div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;<span class="keywordflow">            ENDDO</span></div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160; </div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspdz2uv_8f_html_ae3a4a74c49f78a25425b610743dc0692"><div class="ttname"><a href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a></div><div class="ttdeci">subroutine spdz2uv(I, M, ENN1, ELONN1, EON, EONTOP, D, Z, U, V, UTOP, VTOP)</div><div class="ttdoc">Computes the wind components from divergence and vorticity in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spdz2uv_8f_source.html#l00048">spdz2uv.f:49</a></div></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+<div class="ttc" id="asptgpsv_8f_html_af2bf2335047ec277730564dbfa859079"><div class="ttname"><a href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">sptgpsv</a></div><div class="ttdeci">subroutine sptgpsv(IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVED, WAVEZ, UN, VN, US, VS)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpsv_8f_source.html#l00080">sptgpsv.f:83</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpsv_8f.html">sptgpsv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpt_8f.html b/sptgpt_8f.html
new file mode 100644
index 00000000..71aec305
--- /dev/null
+++ b/sptgpt_8f.html
@@ -0,0 +1,252 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpt.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpt_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgpt.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral scalar to station points.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgpt_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a1b8d333bcc601e5b7e8d3dd1369f54b1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a> (IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVE, GP)</td></tr>
+<tr class="memdesc:a1b8d333bcc601e5b7e8d3dd1369f54b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to specified sets of station points on the globe.  <a href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">More...</a><br /></td></tr>
+<tr class="separator:a1b8d333bcc601e5b7e8d3dd1369f54b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral scalar to station points. </p>
+<h3><a class="anchor" id="autotoc_md60"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Openmp directives inserted.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2003-06-30   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Use <a class="el" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356" title="This subprogram computes a slow Fourier transform from Fourier space to a set of gridpoints.">spfftpt()</a>.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgpt_8f_source.html">sptgpt.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a1b8d333bcc601e5b7e8d3dd1369f54b1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b8d333bcc601e5b7e8d3dd1369f54b1">&#9670;&nbsp;</a></span>sptgpt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgpt </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NRSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of scalar quantities to specified sets of station points on the globe. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The wave and point fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>The transforms are all multiprocessed over stations.</p>
+<p>Transform several fields at a time to improve vectorization.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramname">NMAX</td><td>number of station points to return </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>skip number between station point sets (defaults to NMAX if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NRSKIP</td><td>skip number between station lats and lons (defaults to 1 if NRSKIP=0) </td></tr>
+    <tr><td class="paramname">NGSKIP</td><td>skip number between station points (defaults to 1 if NGSKIP=0) </td></tr>
+    <tr><td class="paramname">RLAT</td><td>station latitudes in degrees </td></tr>
+    <tr><td class="paramname">RLON</td><td>station longitudes in degrees </td></tr>
+    <tr><td class="paramname">WAVE</td><td>wave fields </td></tr>
+    <tr><td class="paramname">GP</td><td>station point sets</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgpt_8f_source.html#l00048">48</a> of file <a class="el" href="sptgpt_8f_source.html">sptgpt.f</a>.</p>
+
+<p class="reference">References <a class="el" href="spfftpt_8f_source.html#l00023">spfftpt()</a>, <a class="el" href="splegend_8f_source.html#l00045">splegend()</a>, <a class="el" href="spsynth_8f_source.html#l00039">spsynth()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptrung_8f_source.html#l00068">sptrung()</a>, and <a class="el" href="sptrungv_8f_source.html#l00085">sptrungv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpt_8f.html">sptgpt.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgpt_8f.js b/sptgpt_8f.js
new file mode 100644
index 00000000..708e1051
--- /dev/null
+++ b/sptgpt_8f.js
@@ -0,0 +1,4 @@
+var sptgpt_8f =
+[
+    [ "sptgpt", "sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1", null ]
+];
\ No newline at end of file
diff --git a/sptgpt_8f_source.html b/sptgpt_8f_source.html
new file mode 100644
index 00000000..b873a634
--- /dev/null
+++ b/sptgpt_8f_source.html
@@ -0,0 +1,208 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgpt.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgpt_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgpt.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgpt_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral scalar to station points.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Openmp directives inserted.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; 2003-06-30 | Iredell | Use spfftpt().</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">c&gt; from spectral coefficients of scalar quantities</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">c&gt; to specified sets of station points on the globe.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; The wave and point fields may have general indexing,</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">c&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">c&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over stations.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param NMAX number of station points to return</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param KWSKIP skip number between wave fields</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param KGSKIP skip number between station point sets</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; (defaults to NMAX if KGSKIP=0)</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param NRSKIP skip number between station lats and lons</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; (defaults to 1 if NRSKIP=0)</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param NGSKIP skip number between station points</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; (defaults to 1 if NGSKIP=0)</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param RLAT station latitudes in degrees</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param RLON station longitudes in degrees</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param WAVE wave fields</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param GP station point sets</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">   48</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a>(IROMB,MAXWV,KMAX,NMAX,</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;     &amp;                  KWSKIP,KGSKIP,NRSKIP,NGSKIP,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;     &amp;                  RLAT,RLON,WAVE,GP)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">      REAL</span> RLAT(*),RLON(*),WAVE(*),GP(*)</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keywordtype">INTEGER</span> MP(KMAX)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1),KMAX)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keywordtype">      REAL</span> F(2*MAXWV+3,2,KMAX)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      parameter(pi=3.14159265358979)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      mxtop=maxwv+1</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      idim=2*maxwv+3</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      nr=nrskip</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      ng=ngskip</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=nmax</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keywordflow">IF</span>(nr.EQ.0) nr=1</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keywordflow">IF</span>(ng.EQ.0) ng=1</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      mp=0</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        wtop(1:2*mxtop,k)=0</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">C  CALCULATE STATION FIELDS</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(RADLAT,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">C$OMP&amp;            PRIVATE(PLN,PLNTOP,F,NK)</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keywordflow">DO</span> n=1,nmax</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        radlat=pi/180*rlat((n-1)*nr+1)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <span class="keywordflow">IF</span>(rlat((n-1)*nr+1).GE.89.9995) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;          slat1=1.</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;          clat1=0.</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <span class="keywordflow">ELSEIF</span>(rlat((n-1)*nr+1).LE.-89.9995) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;          slat1=-1.</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;          clat1=0.</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;          slat1=sin(radlat)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;          clat1=cos(radlat)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,kw,2*mxtop,kmax,</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;     &amp;               clat1,pln,plntop,mp,wave,wtop,f)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a>(maxwv,1,2*maxwv+3,kg,kmax,rlon((n-1)*nr+1),</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;     &amp;               f,gp((n-1)*ng+1))</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspfftpt_8f_html_ad16e674ce87bd762a714853967f81356"><div class="ttname"><a href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a></div><div class="ttdeci">subroutine spfftpt(M, N, INCW, INCG, KMAX, RLON, W, G)</div><div class="ttdoc">This subprogram computes a slow Fourier transform from Fourier space to a set of gridpoints.</div><div class="ttdef"><b>Definition:</b> <a href="spfftpt_8f_source.html#l00022">spfftpt.f:23</a></div></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+<div class="ttc" id="asptgpt_8f_html_a1b8d333bcc601e5b7e8d3dd1369f54b1"><div class="ttname"><a href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a></div><div class="ttdeci">subroutine sptgpt(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVE, GP)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to spe...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpt_8f_source.html#l00048">sptgpt.f:51</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgpt_8f.html">sptgpt.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgptd_8f.html b/sptgptd_8f.html
new file mode 100644
index 00000000..35b6d8e5
--- /dev/null
+++ b/sptgptd_8f.html
@@ -0,0 +1,255 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgptd.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgptd_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgptd.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral to station point gradients.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgptd_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a64d1fe761662182ca3495531152d1cd3"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3">sptgptd</a> (IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVE, XP, YP)</td></tr>
+<tr class="memdesc:a64d1fe761662182ca3495531152d1cd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of scalar fields to specified sets of station point gradients on the globe.  <a href="sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3">More...</a><br /></td></tr>
+<tr class="separator:a64d1fe761662182ca3495531152d1cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral to station point gradients. </p>
+<h3><a class="anchor" id="autotoc_md61"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Openmp directives inserted.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgptd_8f_source.html">sptgptd.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a64d1fe761662182ca3495531152d1cd3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64d1fe761662182ca3495531152d1cd3">&#9670;&nbsp;</a></span>sptgptd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgptd </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NRSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>XP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>YP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of scalar fields to specified sets of station point gradients on the globe. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The wave and point fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>The transforms are all multiprocessed over stations.</p>
+<p>Transform several fields at a time to improve vectorization.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramname">NMAX</td><td>number of station points to return </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>skip number between station point sets (defaults to NMAX if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NRSKIP</td><td>skip number between station lats and lons (defaults to 1 if NRSKIP=0) </td></tr>
+    <tr><td class="paramname">NGSKIP</td><td>skip number between station points (defaults to 1 if NGSKIP=0) </td></tr>
+    <tr><td class="paramname">RLAT</td><td>station latitudes in degrees </td></tr>
+    <tr><td class="paramname">RLON</td><td>station longitudes in degrees </td></tr>
+    <tr><td class="paramname">WAVE</td><td>wave fields </td></tr>
+    <tr><td class="paramname">XP</td><td>station point x-gradient sets </td></tr>
+    <tr><td class="paramname">YP</td><td>station point y-gradient sets</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgptd_8f_source.html#l00048">48</a> of file <a class="el" href="sptgptd_8f_source.html">sptgptd.f</a>.</p>
+
+<p class="reference">References <a class="el" href="splaplac_8f_source.html#l00025">splaplac()</a>, <a class="el" href="sptgptv_8f_source.html#l00054">sptgptv()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgptd_8f.html">sptgptd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgptd_8f.js b/sptgptd_8f.js
new file mode 100644
index 00000000..437951b8
--- /dev/null
+++ b/sptgptd_8f.js
@@ -0,0 +1,4 @@
+var sptgptd_8f =
+[
+    [ "sptgptd", "sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3", null ]
+];
\ No newline at end of file
diff --git a/sptgptd_8f_source.html b/sptgptd_8f_source.html
new file mode 100644
index 00000000..9a34783f
--- /dev/null
+++ b/sptgptd_8f_source.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgptd.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgptd_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgptd.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgptd_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral to station point gradients.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Openmp directives inserted.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">c&gt; from spectral coefficients of scalar fields</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">c&gt; to specified sets of station point gradients on the globe.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; The wave and point fields may have general indexing,</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">c&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">c&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over stations.</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">c&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param NMAX number of station points to return</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param KWSKIP skip number between wave fields</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param KGSKIP skip number between station point sets</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; (defaults to NMAX if KGSKIP=0)</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param NRSKIP skip number between station lats and lons</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; (defaults to 1 if NRSKIP=0)</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param NGSKIP skip number between station points</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">c&gt; (defaults to 1 if NGSKIP=0)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param RLAT station latitudes in degrees</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param RLON station longitudes in degrees</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param WAVE wave fields</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param XP station point x-gradient sets</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param YP station point y-gradient sets</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3">   48</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3">sptgptd</a>(IROMB,MAXWV,KMAX,NMAX,</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;     &amp;                   KWSKIP,KGSKIP,NRSKIP,NGSKIP,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;     &amp;                   RLAT,RLON,WAVE,XP,YP)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">      REAL</span> RLAT(*),RLON(*),WAVE(*),XP(*),YP(*)</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">      REAL</span> WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keywordtype">      REAL</span> WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C  CALCULATE STATION FIELDS</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS)</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        kws=(k-1)*kw</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wave(kws+1),wd(1,k),1)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        wz(1:2*mx,k)=0.</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">sptgptv</a>(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;     &amp;             rlat,rlon,wd,wz,xp,yp)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+<div class="ttc" id="asptgptd_8f_html_a64d1fe761662182ca3495531152d1cd3"><div class="ttname"><a href="sptgptd_8f.html#a64d1fe761662182ca3495531152d1cd3">sptgptd</a></div><div class="ttdeci">subroutine sptgptd(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVE, XP, YP)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar fields to specifi...</div><div class="ttdef"><b>Definition:</b> <a href="sptgptd_8f_source.html#l00048">sptgptd.f:51</a></div></div>
+<div class="ttc" id="asptgptv_8f_html_a9af8a22564d132a887a5237f30710f13"><div class="ttname"><a href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">sptgptv</a></div><div class="ttdeci">subroutine sptgptv(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVED, WAVEZ, UP, VP)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgptv_8f_source.html#l00051">sptgptv.f:54</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgptd_8f.html">sptgptd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgptsd_8f.html b/sptgptsd_8f.html
new file mode 100644
index 00000000..b3a36610
--- /dev/null
+++ b/sptgptsd_8f.html
@@ -0,0 +1,266 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgptsd.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgptsd_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgptsd.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral scalar to station points.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgptsd_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ad3ab15089a57b493cc74443ea3b3d88f"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f">sptgptsd</a> (IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVE, GP, XP, YP)</td></tr>
+<tr class="memdesc:ad3ab15089a57b493cc74443ea3b3d88f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to specified sets of station point values and their gradients on the globe.  <a href="sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f">More...</a><br /></td></tr>
+<tr class="separator:ad3ab15089a57b493cc74443ea3b3d88f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral scalar to station points. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29</dd></dl>
+<h3><a class="anchor" id="autotoc_md62"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Openmp directives inserted.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">1999-08-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Openmp directive typo fixed.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgptsd_8f_source.html">sptgptsd.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ad3ab15089a57b493cc74443ea3b3d88f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad3ab15089a57b493cc74443ea3b3d88f">&#9670;&nbsp;</a></span>sptgptsd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgptsd </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NRSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>XP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>YP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of scalar quantities to specified sets of station point values and their gradients on the globe. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The wave and point fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>The transforms are all multiprocessed over stations.</p>
+<p>Transform several fields at a time to improve vectorization.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramname">NMAX</td><td>number of station points to return </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>skip number between station point sets (defaults to NMAX if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NRSKIP</td><td>skip number between station lats and lons (defaults to 1 if NRSKIP=0) </td></tr>
+    <tr><td class="paramname">NGSKIP</td><td>skip number between station points (defaults to 1 if NGSKIP=0) </td></tr>
+    <tr><td class="paramname">RLAT</td><td>station latitudes in degrees </td></tr>
+    <tr><td class="paramname">RLON</td><td>station longitudes in degrees </td></tr>
+    <tr><td class="paramname">WAVE</td><td>wave fields </td></tr>
+    <tr><td class="paramname">GP</td><td>station point sets </td></tr>
+    <tr><td class="paramname">XP</td><td>station point x-gradient sets </td></tr>
+    <tr><td class="paramname">YP</td><td>station point y-gradient sets</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgptsd_8f_source.html#l00052">52</a> of file <a class="el" href="sptgptsd_8f_source.html">sptgptsd.f</a>.</p>
+
+<p class="reference">References <a class="el" href="spfftpt_8f_source.html#l00023">spfftpt()</a>, <a class="el" href="spgradx_8f_source.html#l00038">spgradx()</a>, <a class="el" href="spgrady_8f_source.html#l00032">spgrady()</a>, <a class="el" href="splegend_8f_source.html#l00045">splegend()</a>, <a class="el" href="spsynth_8f_source.html#l00039">spsynth()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgptsd_8f.html">sptgptsd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgptsd_8f.js b/sptgptsd_8f.js
new file mode 100644
index 00000000..ccdb5de0
--- /dev/null
+++ b/sptgptsd_8f.js
@@ -0,0 +1,4 @@
+var sptgptsd_8f =
+[
+    [ "sptgptsd", "sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f", null ]
+];
\ No newline at end of file
diff --git a/sptgptsd_8f_source.html b/sptgptsd_8f_source.html
new file mode 100644
index 00000000..78844f24
--- /dev/null
+++ b/sptgptsd_8f_source.html
@@ -0,0 +1,236 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgptsd.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgptsd_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgptsd.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgptsd_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral scalar to station points.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 96-02-29 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Openmp directives inserted.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; 1999-08-18 | Iredell | Openmp directive typo fixed.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; from spectral coefficients of scalar quantities</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; to specified sets of station point values</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; and their gradients on the globe.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; The wave and point fields may have general indexing,</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over stations.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param NMAX number of station points to return</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param KWSKIP skip number between wave fields</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param KGSKIP skip number between station point sets</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; (defaults to NMAX if KGSKIP=0)</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param NRSKIP skip number between station lats and lons</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; (defaults to 1 if NRSKIP=0)</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param NGSKIP skip number between station points</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; (defaults to 1 if NGSKIP=0)</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param RLAT station latitudes in degrees</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param RLON station longitudes in degrees</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param WAVE wave fields</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param GP station point sets</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param XP station point x-gradient sets</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param YP station point y-gradient sets</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f">   52</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f">sptgptsd</a>(IROMB,MAXWV,KMAX,NMAX,</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;     &amp;                    KWSKIP,KGSKIP,NRSKIP,NGSKIP,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;     &amp;                    RLAT,RLON,WAVE,GP,XP,YP)</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">      REAL</span> RLAT(*),RLON(*),WAVE(*)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      <span class="keywordtype">REAL</span> GP(*),XP(*),YP(*)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keywordtype">      REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="keywordtype">INTEGER</span> MP(2*KMAX)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keywordtype">      REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2,2*KMAX)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1),2*KMAX)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordtype">      REAL</span> F(2*MAXWV+2,2,3*KMAX),G(3*KMAX)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      parameter(pi=3.14159265358979)</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      mxtop=maxwv+1</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      mdim=2*mx</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      idim=2*maxwv+2</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      nr=nrskip</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      ng=ngskip</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=nmax</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keywordflow">IF</span>(nr.EQ.0) nr=1</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keywordflow">IF</span>(ng.EQ.0) ng=1</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      mp(1:kmax)=10</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      mp(kmax+1:2*kmax)=1</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">C  CALCULATE SPECTRAL WINDS</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS,KS,KY)</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        kws=(k-1)*kw</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        ks=0*kmax+k</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        ky=1*kmax+k</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        <span class="keywordflow">DO</span> i=1,2*mx</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;          w(i,ks)=wave(kws+i)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keywordflow">DO</span> i=1,2*mxtop</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;          wtop(i,ks)=0</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1">spgrady</a>(iromb,maxwv,enn1,eon,eontop,</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;     &amp;               wave(kws+1),w(1,ky),wtop(1,ky))</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">C  CALCULATE STATION FIELDS</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KS,KY,KX,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">C$OMP&amp;            PRIVATE(PLN,PLNTOP,F,G,NK)</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keywordflow">DO</span> n=1,nmax</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keywordflow">IF</span>(abs(rlat((n-1)*nr+1)).GE.89.9995) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;          slat1=sign(1.,rlat((n-1)*nr+1))</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;          clat1=0.</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;          slat1=sin(pi/180*rlat((n-1)*nr+1))</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;          clat1=cos(pi/180*rlat((n-1)*nr+1))</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,mdim,2*mxtop,2*kmax,</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;     &amp;               clat1,pln,plntop,mp,w,wtop,f)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">spgradx</a>(maxwv,idim,kmax,mp,clat1,f(1,1,1),f(1,1,2*kmax+1))</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a>(maxwv,1,idim,1,3*kmax,rlon((n-1)*nr+1),f,g)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;          ks=0*kmax+k</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;          ky=1*kmax+k</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;          kx=2*kmax+k</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;          nk=(n-1)*ng+(k-1)*kg+1</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;          gp(nk)=g(ks)</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;          xp(nk)=g(kx)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;          yp(nk)=g(ky)</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspfftpt_8f_html_ad16e674ce87bd762a714853967f81356"><div class="ttname"><a href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a></div><div class="ttdeci">subroutine spfftpt(M, N, INCW, INCG, KMAX, RLON, W, G)</div><div class="ttdoc">This subprogram computes a slow Fourier transform from Fourier space to a set of gridpoints.</div><div class="ttdef"><b>Definition:</b> <a href="spfftpt_8f_source.html#l00022">spfftpt.f:23</a></div></div>
+<div class="ttc" id="aspgradx_8f_html_a749bc07e763e9cd44490fff2284d00b4"><div class="ttname"><a href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">spgradx</a></div><div class="ttdeci">subroutine spgradx(M, INCW, KMAX, MP, CLAT, W, WX)</div><div class="ttdoc">This subprogram computes the x-gradient of fields in complex Fourier space.</div><div class="ttdef"><b>Definition:</b> <a href="spgradx_8f_source.html#l00037">spgradx.f:38</a></div></div>
+<div class="ttc" id="aspgrady_8f_html_a1b3e38e56560de7d7dcf19ea3e931cf1"><div class="ttname"><a href="spgrady_8f.html#a1b3e38e56560de7d7dcf19ea3e931cf1">spgrady</a></div><div class="ttdeci">subroutine spgrady(I, M, ENN1, EON, EONTOP, Q, QDY, QDYTOP)</div><div class="ttdoc">Computes the horizontal vector y-gradient of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spgrady_8f_source.html#l00031">spgrady.f:32</a></div></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+<div class="ttc" id="asptgptsd_8f_html_ad3ab15089a57b493cc74443ea3b3d88f"><div class="ttname"><a href="sptgptsd_8f.html#ad3ab15089a57b493cc74443ea3b3d88f">sptgptsd</a></div><div class="ttdeci">subroutine sptgptsd(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVE, GP, XP, YP)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to spe...</div><div class="ttdef"><b>Definition:</b> <a href="sptgptsd_8f_source.html#l00052">sptgptsd.f:55</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgptsd_8f.html">sptgptsd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgptv_8f.html b/sptgptv_8f.html
new file mode 100644
index 00000000..ec850798
--- /dev/null
+++ b/sptgptv_8f.html
@@ -0,0 +1,268 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgptv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgptv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgptv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral vector to station points.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgptv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a9af8a22564d132a887a5237f30710f13"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">sptgptv</a> (IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVED, WAVEZ, UP, VP)</td></tr>
+<tr class="memdesc:a9af8a22564d132a887a5237f30710f13"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to specified sets of station point vectors on the globe.  <a href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">More...</a><br /></td></tr>
+<tr class="separator:a9af8a22564d132a887a5237f30710f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral vector to station points. </p>
+<h3><a class="anchor" id="autotoc_md63"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Openmp directives inserted    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">1999-08-18   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Openmp directive typo fixed    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2003-06-30   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">use <a class="el" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356" title="This subprogram computes a slow Fourier transform from Fourier space to a set of gridpoints.">spfftpt()</a>   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgptv_8f_source.html">sptgptv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a9af8a22564d132a887a5237f30710f13"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9af8a22564d132a887a5237f30710f13">&#9670;&nbsp;</a></span>sptgptv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgptv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NRSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVED</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVEZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>UP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of divergences and curls to specified sets of station point vectors on the globe. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The wave and point fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>The transforms are all multiprocessed over stations.</p>
+<p>Transform several fields at a time to improve vectorization.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramname">NMAX</td><td>number of station points to return </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>skip number between station point sets (defaults to NMAX IF KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NRSKIP</td><td>skip number between station lats and lons (defaults to 1 if NRSKIP=0) </td></tr>
+    <tr><td class="paramname">NGSKIP</td><td>skip number between station points (defaults to 1 if NGSKIP=0) </td></tr>
+    <tr><td class="paramname">RLAT</td><td>station latitudes in degrees </td></tr>
+    <tr><td class="paramname">RLON</td><td>station longitudes in degrees </td></tr>
+    <tr><td class="paramname">WAVED</td><td>wave divergence fields </td></tr>
+    <tr><td class="paramname">WAVEZ</td><td>wave vorticity fields </td></tr>
+    <tr><td class="paramname">UP</td><td>station point u-wind sets </td></tr>
+    <tr><td class="paramname">VP</td><td>station point v-wind sets</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgptv_8f_source.html#l00051">51</a> of file <a class="el" href="sptgptv_8f_source.html">sptgptv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="spdz2uv_8f_source.html#l00049">spdz2uv()</a>, <a class="el" href="spfftpt_8f_source.html#l00023">spfftpt()</a>, <a class="el" href="splegend_8f_source.html#l00045">splegend()</a>, <a class="el" href="spsynth_8f_source.html#l00039">spsynth()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgptd_8f_source.html#l00051">sptgptd()</a>, and <a class="el" href="sptrungv_8f_source.html#l00085">sptrungv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgptv_8f.html">sptgptv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgptv_8f.js b/sptgptv_8f.js
new file mode 100644
index 00000000..59a8e5b1
--- /dev/null
+++ b/sptgptv_8f.js
@@ -0,0 +1,4 @@
+var sptgptv_8f =
+[
+    [ "sptgptv", "sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13", null ]
+];
\ No newline at end of file
diff --git a/sptgptv_8f_source.html b/sptgptv_8f_source.html
new file mode 100644
index 00000000..bc2c949a
--- /dev/null
+++ b/sptgptv_8f_source.html
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgptv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgptv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgptv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgptv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral vector to station points.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | IREDELL | Initial</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | IREDELL | Openmp directives inserted</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; 1999-08-18 | IREDELL | Openmp directive typo fixed </span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; 2003-06-30 | IREDELL | use spfftpt()</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; from spectral coefficients of divergences and curls</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; to specified sets of station point vectors on the globe.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; The wave and point fields may have general indexing,</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over stations.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">c&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param NMAX number of station points to return</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param KWSKIP skip number between wave fields</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">c&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=0)</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param KGSKIP skip number between station point sets</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">c&gt; (defaults to NMAX IF KGSKIP=0)</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param NRSKIP skip number between station lats and lons</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">c&gt; (defaults to 1 if NRSKIP=0)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param NGSKIP skip number between station points</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">c&gt; (defaults to 1 if NGSKIP=0)</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param RLAT station latitudes in degrees</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param RLON station longitudes in degrees</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param WAVED wave divergence fields</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param WAVEZ wave vorticity fields</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param UP station point u-wind sets</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param VP station point v-wind sets</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">   51</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">sptgptv</a>(IROMB,MAXWV,KMAX,NMAX,</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;     &amp;                   KWSKIP,KGSKIP,NRSKIP,NGSKIP,</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;     &amp;                   RLAT,RLON,WAVED,WAVEZ,UP,VP)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keywordtype">      REAL</span> RLAT(*),RLON(*),WAVED(*),WAVEZ(*),UP(*),VP(*)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keywordtype">INTEGER</span> MP(2*KMAX)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keywordtype">      REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,2*KMAX)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1),2*KMAX)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordtype">      REAL</span> F(2*MAXWV+3,2,2*KMAX)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">      REAL</span> G(2*KMAX)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      parameter(pi=3.14159265358979)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      mxtop=maxwv+1</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      idim=2*maxwv+3</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      nr=nrskip</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      ng=ngskip</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=nmax</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keywordflow">IF</span>(nr.EQ.0) nr=1</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keywordflow">IF</span>(ng.EQ.0) ng=1</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      mp=1</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">C  CALCULATE SPECTRAL WINDS</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS)</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        kws=(k-1)*kw</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a>(iromb,maxwv,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;     &amp;               waved(kws+1),wavez(kws+1),</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;     &amp;               w(1,k),w(1,kmax+k),wtop(1,k),wtop(1,kmax+k))</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">C  CALCULATE STATION FIELDS</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KU,KV,RADLAT,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">C$OMP&amp;            PRIVATE(PLN,PLNTOP,F,G,NK)</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keywordflow">DO</span> n=1,nmax</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        radlat=pi/180*rlat((n-1)*nr+1)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        <span class="keywordflow">IF</span>(rlat((n-1)*nr+1).GE.89.9995) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;          slat1=1.</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;          clat1=0.</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        <span class="keywordflow">ELSEIF</span>(rlat((n-1)*nr+1).LE.-89.9995) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;          slat1=-1.</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;          clat1=0.</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;          slat1=sin(radlat)</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;          clat1=cos(radlat)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,mdim,2*mxtop,2*kmax,</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;     &amp;               clat1,pln,plntop,mp,w,wtop,f)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a>(maxwv,1,2*maxwv+3,1,2*kmax,rlon((n-1)*nr+1),f,g)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;          ku=k</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;          kv=k+kmax</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;          nk=(n-1)*ng+(k-1)*kg+1</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;          up(nk)=g(ku)</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;          vp(nk)=g(kv)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspdz2uv_8f_html_ae3a4a74c49f78a25425b610743dc0692"><div class="ttname"><a href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a></div><div class="ttdeci">subroutine spdz2uv(I, M, ENN1, ELONN1, EON, EONTOP, D, Z, U, V, UTOP, VTOP)</div><div class="ttdoc">Computes the wind components from divergence and vorticity in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spdz2uv_8f_source.html#l00048">spdz2uv.f:49</a></div></div>
+<div class="ttc" id="aspfftpt_8f_html_ad16e674ce87bd762a714853967f81356"><div class="ttname"><a href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a></div><div class="ttdeci">subroutine spfftpt(M, N, INCW, INCG, KMAX, RLON, W, G)</div><div class="ttdoc">This subprogram computes a slow Fourier transform from Fourier space to a set of gridpoints.</div><div class="ttdef"><b>Definition:</b> <a href="spfftpt_8f_source.html#l00022">spfftpt.f:23</a></div></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+<div class="ttc" id="asptgptv_8f_html_a9af8a22564d132a887a5237f30710f13"><div class="ttname"><a href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">sptgptv</a></div><div class="ttdeci">subroutine sptgptv(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVED, WAVEZ, UP, VP)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgptv_8f_source.html#l00051">sptgptv.f:54</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgptv_8f.html">sptgptv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgptvd_8f.html b/sptgptvd_8f.html
new file mode 100644
index 00000000..0519a396
--- /dev/null
+++ b/sptgptvd_8f.html
@@ -0,0 +1,313 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgptvd.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgptvd_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptgptvd.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Transform spectral vector to station points.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptgptvd_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ae03c6c76cad685ae1ed32d74bcba6753"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753">sptgptvd</a> (IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVED, WAVEZ, DP, ZP, UP, VP, UXP, VXP, UYP, VYP)</td></tr>
+<tr class="memdesc:ae03c6c76cad685ae1ed32d74bcba6753"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to specified sets of station point vectors and their gradients on the globe.  <a href="sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753">More...</a><br /></td></tr>
+<tr class="separator:ae03c6c76cad685ae1ed32d74bcba6753"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Transform spectral vector to station points. </p>
+<h3><a class="anchor" id="autotoc_md64"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Openmp directives inserted.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">1999-08-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Openmp directive typo fixed.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptgptvd_8f_source.html">sptgptvd.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ae03c6c76cad685ae1ed32d74bcba6753"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae03c6c76cad685ae1ed32d74bcba6753">&#9670;&nbsp;</a></span>sptgptvd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptgptvd </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NRSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVED</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVEZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>DP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>ZP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>UP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>UXP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VXP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>UYP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VYP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform from spectral coefficients of divergences and curls to specified sets of station point vectors and their gradients on the globe. </p>
+<pre>
+ DP=(D(UP)/DLON+D(VP*CLAT)/DLAT)/(R*CLAT)
+ ZP=(D(VP)/DLON-D(UP*CLAT)/DLAT)/(R*CLAT)
+ UXP=D(UP*CLAT)/DLON/(R*CLAT)
+ VXP=D(VP*CLAT)/DLON/(R*CLAT)
+ UYP=D(UP*CLAT)/DLAT/R
+ VYP=D(VP*CLAT)/DLAT/R
+ </pre><p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The wave and point fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>The transforms are all multiprocessed over stations.</p>
+<p>Transform several fields at a time to improve vectorization.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramname">NMAX</td><td>number of station points to return </td></tr>
+    <tr><td class="paramname">KWSKIP</td><td>skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>skip number between station point sets (defaults to NMAX if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NRSKIP</td><td>skip number between station lats and lons (defaults to 1 if NRSKIP=0) </td></tr>
+    <tr><td class="paramname">NGSKIP</td><td>skip number between station points (defaults to 1 if NGSKIP=0) </td></tr>
+    <tr><td class="paramname">RLAT</td><td>station latitudes in degrees </td></tr>
+    <tr><td class="paramname">RLON</td><td>station longitudes in degrees </td></tr>
+    <tr><td class="paramname">WAVED</td><td>wave divergence fields </td></tr>
+    <tr><td class="paramname">WAVEZ</td><td>wave vorticity fields </td></tr>
+    <tr><td class="paramname">DP</td><td>station point divergence sets </td></tr>
+    <tr><td class="paramname">ZP</td><td>station point vorticity sets </td></tr>
+    <tr><td class="paramname">UP</td><td>station point u-wind sets </td></tr>
+    <tr><td class="paramname">VP</td><td>station point v-wind sets </td></tr>
+    <tr><td class="paramname">UXP</td><td>station point u-wind x-gradient sets </td></tr>
+    <tr><td class="paramname">VXP</td><td>station point v-wind x-gradient sets </td></tr>
+    <tr><td class="paramname">UYP</td><td>station point u-wind y-gradient sets </td></tr>
+    <tr><td class="paramname">VYP</td><td>station point v-wind y-gradient sets</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptgptvd_8f_source.html#l00066">66</a> of file <a class="el" href="sptgptvd_8f_source.html">sptgptvd.f</a>.</p>
+
+<p class="reference">References <a class="el" href="spdz2uv_8f_source.html#l00049">spdz2uv()</a>, <a class="el" href="spfftpt_8f_source.html#l00023">spfftpt()</a>, <a class="el" href="spgradx_8f_source.html#l00038">spgradx()</a>, <a class="el" href="splegend_8f_source.html#l00045">splegend()</a>, <a class="el" href="spsynth_8f_source.html#l00039">spsynth()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgptvd_8f.html">sptgptvd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptgptvd_8f.js b/sptgptvd_8f.js
new file mode 100644
index 00000000..9a2bc046
--- /dev/null
+++ b/sptgptvd_8f.js
@@ -0,0 +1,4 @@
+var sptgptvd_8f =
+[
+    [ "sptgptvd", "sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753", null ]
+];
\ No newline at end of file
diff --git a/sptgptvd_8f_source.html b/sptgptvd_8f_source.html
new file mode 100644
index 00000000..f599caeb
--- /dev/null
+++ b/sptgptvd_8f_source.html
@@ -0,0 +1,266 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptgptvd.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptgptvd_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptgptvd.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptgptvd_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Transform spectral vector to station points.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Openmp directives inserted.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; 1999-08-18 | Iredell | Openmp directive typo fixed.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; from spectral coefficients of divergences and curls</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; to specified sets of station point vectors and their</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; gradients on the globe.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; &lt;pre&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; DP=(D(UP)/DLON+D(VP*CLAT)/DLAT)/(R*CLAT)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; ZP=(D(VP)/DLON-D(UP*CLAT)/DLAT)/(R*CLAT)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; UXP=D(UP*CLAT)/DLON/(R*CLAT)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; VXP=D(VP*CLAT)/DLON/(R*CLAT)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; UYP=D(UP*CLAT)/DLAT/R</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; VYP=D(VP*CLAT)/DLAT/R</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; The wave and point fields may have general indexing,</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over stations.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param NMAX number of station points to return</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param KWSKIP skip number between wave fields</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=0)</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param KGSKIP skip number between station point sets</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; (defaults to NMAX if KGSKIP=0)</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param NRSKIP skip number between station lats and lons</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; (defaults to 1 if NRSKIP=0)</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @param NGSKIP skip number between station points</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; (defaults to 1 if NGSKIP=0)</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param RLAT station latitudes in degrees</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; @param RLON station longitudes in degrees</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; @param WAVED wave divergence fields</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; @param WAVEZ wave vorticity fields</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param DP station point divergence sets</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param ZP station point vorticity sets</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param UP station point u-wind sets</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param VP station point v-wind sets</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; @param UXP station point u-wind x-gradient sets</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param VXP station point v-wind x-gradient sets</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; @param UYP station point u-wind y-gradient sets</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param VYP station point v-wind y-gradient sets</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753">   66</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753">sptgptvd</a>(IROMB,MAXWV,KMAX,NMAX,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;     &amp;                    KWSKIP,KGSKIP,NRSKIP,NGSKIP,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;     &amp;                    RLAT,RLON,WAVED,WAVEZ,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;     &amp;                    DP,ZP,UP,VP,UXP,VXP,UYP,VYP)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keywordtype">      REAL</span> RLAT(*),RLON(*),WAVED(*),WAVEZ(*)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      <span class="keywordtype">REAL</span> DP(*),ZP(*),UP(*),VP(*),UXP(*),VXP(*),UYP(*),VYP(*)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keywordtype">INTEGER</span> MP(4*KMAX)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">      REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2,4*KMAX)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1),4*KMAX)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordtype">      REAL</span> F(2*MAXWV+2,2,6*KMAX),G(6*KMAX)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      parameter(pi=3.14159265358979)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">C  CALCULATE PRELIMINARY CONSTANTS</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      mxtop=maxwv+1</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      mdim=2*mx</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      idim=2*maxwv+2</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      nr=nrskip</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      ng=ngskip</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=nmax</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keywordflow">IF</span>(nr.EQ.0) nr=1</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keywordflow">IF</span>(ng.EQ.0) ng=1</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      mp(1:2*kmax)=0</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      mp(2*kmax+1:4*kmax)=1</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">C  CALCULATE SPECTRAL WINDS</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS,KD,KZ,KU,KV)</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        kws=(k-1)*kw</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        kd=0*kmax+k</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        kz=1*kmax+k</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        ku=2*kmax+k</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        kv=3*kmax+k</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keywordflow">DO</span> i=1,2*mx</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;          w(i,kd)=waved(kws+i)</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;          w(i,kz)=wavez(kws+i)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keywordflow">DO</span> i=1,2*mxtop</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;          wtop(i,kd)=0</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;          wtop(i,kz)=0</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a>(iromb,maxwv,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;     &amp;               waved(kws+1),wavez(kws+1),</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;     &amp;               w(1,ku),w(1,kv),wtop(1,ku),wtop(1,kv))</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">C  CALCULATE STATION FIELDS</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KD,KZ,KU,KV,KUX,KVX,SLAT1,CLAT1)</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">C$OMP&amp;            PRIVATE(PLN,PLNTOP,F,G,NK)</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      <span class="keywordflow">DO</span> n=1,nmax</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        ku=2*kmax+1</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        kux=4*kmax+1</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keywordflow">IF</span>(abs(rlat((n-1)*nr+1)).GE.89.9995) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;          slat1=sign(1.,rlat((n-1)*nr+1))</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;          clat1=0.</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;          slat1=sin(pi/180*rlat((n-1)*nr+1))</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;          clat1=cos(pi/180*rlat((n-1)*nr+1))</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat1,clat1,eps,epstop,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;     &amp;                pln,plntop)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,2*maxwv,idim,mdim,2*mxtop,4*kmax,</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;     &amp;               clat1,pln,plntop,mp,w,wtop,f)</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">spgradx</a>(maxwv,idim,2*kmax,mp(2*kmax+1),clat1,</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;     &amp;               f(1,1,2*kmax+1),f(1,1,4*kmax+1))</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a>(maxwv,1,idim,1,6*kmax,rlon((n-1)*nr+1),f,g)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;          kd=0*kmax+k</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;          kz=1*kmax+k</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;          ku=2*kmax+k</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;          kv=3*kmax+k</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;          kux=4*kmax+k</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;          kvx=5*kmax+k</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;          nk=(n-1)*ng+(k-1)*kg+1</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;          dp(nk)=g(kd)</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;          zp(nk)=g(kz)</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;          up(nk)=g(ku)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;          vp(nk)=g(kv)</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;          uxp(nk)=g(kux)</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;          vxp(nk)=g(kvx)</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;          uyp(nk)=g(kvx)-clat1*g(kz)</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;          vyp(nk)=clat1*g(kd)-g(kux)</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspdz2uv_8f_html_ae3a4a74c49f78a25425b610743dc0692"><div class="ttname"><a href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a></div><div class="ttdeci">subroutine spdz2uv(I, M, ENN1, ELONN1, EON, EONTOP, D, Z, U, V, UTOP, VTOP)</div><div class="ttdoc">Computes the wind components from divergence and vorticity in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spdz2uv_8f_source.html#l00048">spdz2uv.f:49</a></div></div>
+<div class="ttc" id="aspfftpt_8f_html_ad16e674ce87bd762a714853967f81356"><div class="ttname"><a href="spfftpt_8f.html#ad16e674ce87bd762a714853967f81356">spfftpt</a></div><div class="ttdeci">subroutine spfftpt(M, N, INCW, INCG, KMAX, RLON, W, G)</div><div class="ttdoc">This subprogram computes a slow Fourier transform from Fourier space to a set of gridpoints.</div><div class="ttdef"><b>Definition:</b> <a href="spfftpt_8f_source.html#l00022">spfftpt.f:23</a></div></div>
+<div class="ttc" id="aspgradx_8f_html_a749bc07e763e9cd44490fff2284d00b4"><div class="ttname"><a href="spgradx_8f.html#a749bc07e763e9cd44490fff2284d00b4">spgradx</a></div><div class="ttdeci">subroutine spgradx(M, INCW, KMAX, MP, CLAT, W, WX)</div><div class="ttdoc">This subprogram computes the x-gradient of fields in complex Fourier space.</div><div class="ttdef"><b>Definition:</b> <a href="spgradx_8f_source.html#l00037">spgradx.f:38</a></div></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+<div class="ttc" id="asptgptvd_8f_html_ae03c6c76cad685ae1ed32d74bcba6753"><div class="ttname"><a href="sptgptvd_8f.html#ae03c6c76cad685ae1ed32d74bcba6753">sptgptvd</a></div><div class="ttdeci">subroutine sptgptvd(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVED, WAVEZ, DP, ZP, UP, VP, UXP, VXP, UYP, VYP)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgptvd_8f_source.html#l00066">sptgptvd.f:70</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptgptvd_8f.html">sptgptvd.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptran_8f.html b/sptran_8f.html
new file mode 100644
index 00000000..ebd2b075
--- /dev/null
+++ b/sptran_8f.html
@@ -0,0 +1,323 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptran.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptran_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptran.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform a scalar spherical transform.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptran_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:af7610e42f0dcd199b8cf80f851dcfed0"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</td></tr>
+<tr class="memdesc:af7610e42f0dcd199b8cf80f851dcfed0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and fields on a global cylindrical grid.  <a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">More...</a><br /></td></tr>
+<tr class="separator:af7610e42f0dcd199b8cf80f851dcfed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform a scalar spherical transform. </p>
+<h3><a class="anchor" id="autotoc_md65"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Generic fft used, openmp directives inserted   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptran_8f_source.html">sptran.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="af7610e42f0dcd199b8cf80f851dcfed0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af7610e42f0dcd199b8cf80f851dcfed0">&#9670;&nbsp;</a></span>sptran()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptran </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JNSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JBEG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JEND</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform between spectral coefficients of scalar quantities and fields on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid.</p>
+<p>The wave and grid fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>Transforms are done in latitude pairs for efficiency; thus grid arrays for each hemisphere must be passed. If so requested, just a subset of the latitude pairs may be transformed in each invocation of the subprogram.</p>
+<p>The transforms are all multiprocessed over latitude except the transform from Fourier to spectral is multiprocessed over zonal wavenumber to ensure reproducibility.</p>
+<p>Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid,</li>
+<li>IDRT=0 for equally-spaced grid including poles,</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IPRIME</td><td>longitude index for the prime meridian. (defaults to 1 if IPRIME=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ISKIP</td><td>skip number between longitudes (defaults to 1 if ISKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JNSKIP</td><td>skip number between n.h. latitudes from north (defaults to imax if JNSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JSSKIP</td><td>skip number between s.h. latitudes from south (defaults to -imax if JSSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KWSKIP</td><td>skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KGSKIP</td><td>skip number between grid fields (defaults to IMAX*JMAX IF KGSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JBEG</td><td>latitude index (from pole) to begin transform (defaults to 1 if JBEG=0) (if JBEG=0 and IDIR&lt;0, wave is zeroed before transform) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JEND</td><td>latitude index (from pole) to end transform (defaults to (JMAX+1)/2 IF JEND=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JCPU</td><td>number of cpus over which to multiprocess </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVE</td><td>wave fields if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">gridn</td><td>n.h. grid fields (starting at jbeg) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">grids</td><td>s.h. grid fields (starting at jbeg) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (idir&gt;0 for wave to grid, idir&lt;0 for grid to wave)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptran_8f_source.html#l00084">84</a> of file <a class="el" href="sptran_8f_source.html">sptran.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, and <a class="el" href="sptranf_8f_source.html#l00077">sptranf()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptrun_8f_source.html#l00058">sptrun()</a>, <a class="el" href="sptrund_8f_source.html#l00076">sptrund()</a>, <a class="el" href="sptrung_8f_source.html#l00068">sptrung()</a>, <a class="el" href="sptrunl_8f_source.html#l00082">sptrunl()</a>, <a class="el" href="sptrunm_8f_source.html#l00080">sptrunm()</a>, <a class="el" href="sptruns_8f_source.html#l00075">sptruns()</a>, and <a class="el" href="sptrunv_8f_source.html#l00096">sptrunv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptran_8f.html">sptran.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptran_8f.js b/sptran_8f.js
new file mode 100644
index 00000000..ec95a0ac
--- /dev/null
+++ b/sptran_8f.js
@@ -0,0 +1,4 @@
+var sptran_8f =
+[
+    [ "sptran", "sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0", null ]
+];
\ No newline at end of file
diff --git a/sptran_8f_source.html b/sptran_8f_source.html
new file mode 100644
index 00000000..18552512
--- /dev/null
+++ b/sptran_8f_source.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptran.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptran_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptran.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptran_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform a scalar spherical transform.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | IREDELL | Initial</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | IREDELL | Generic fft used, openmp directives inserted</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform between spectral</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; coefficients of scalar quantities and fields on a global</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; cylindrical grid.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; rhomboidal.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; Transforms are done in latitude pairs for efficiency;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; thus grid arrays for each hemisphere must be passed.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; If so requested, just a subset of the latitude pairs</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; may be transformed in each invocation of the subprogram.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over latitude except</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; the transform from Fourier to spectral is multiprocessed</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; over zonal wavenumber to ensure reproducibility.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; IMAX                         | 2*MAXWV+2          | 3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        | 1*MAXWV+1          | 3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        | 2*MAXWV+1          | 5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        | 2*MAXWV+3          | 3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        | 4*MAXWV+3          | 5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      | 2*MAXWV+1          | 3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      | 4*MAXWV+1          | 5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">c&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid,</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles,</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param IPRIME longitude index for the prime meridian.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; (defaults to 1 if IPRIME=0)</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param ISKIP skip number between longitudes</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; (defaults to 1 if ISKIP=0)</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param JNSKIP skip number between n.h. latitudes from north</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; (defaults to imax if JNSKIP=0)</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param JSSKIP skip number between s.h. latitudes from south</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">c&gt; (defaults to -imax if JSSKIP=0)</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param KWSKIP skip number between wave fields</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">c&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=0)</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; @param KGSKIP skip number between grid fields</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">c&gt; (defaults to IMAX*JMAX IF KGSKIP=0)</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; @param JBEG latitude index (from pole) to begin transform</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">c&gt; (defaults to 1 if JBEG=0)</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; (if JBEG=0 and IDIR&lt;0, wave is zeroed before transform)</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; @param JEND latitude index (from pole) to end transform</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">c&gt; (defaults to (JMAX+1)/2 IF JEND=0)</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt; @param JCPU number of cpus over which to multiprocess</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt; @param[out] WAVE wave fields if IDIR&gt;0</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C&gt; @param[out] gridn n.h. grid fields (starting at jbeg) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C&gt; @param[out] grids s.h. grid fields (starting at jbeg) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">C&gt; (idir&gt;0 for wave to grid, idir&lt;0 for grid to wave)</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">   84</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;     &amp;                  IPRIME,ISKIP,JNSKIP,JSSKIP,KWSKIP,KGSKIP,</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;     &amp;                  JBEG,JEND,JCPU,</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;     &amp;                  WAVE,GRIDN,GRIDS,IDIR)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordtype">      REAL</span> WAVE(*),GRIDN(*),GRIDS(*)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      MX=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      ip=iprime</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      is=iskip</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      jn=jnskip</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      js=jsskip</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      jb=jbeg</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      je=jend</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      <span class="keywordflow">IF</span>(ip.EQ.0) ip=1</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keywordflow">IF</span>(is.EQ.0) is=1</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imax</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keywordflow">IF</span>(js.EQ.0) js=-jn</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=imax*jmax</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keywordflow">IF</span>(jb.EQ.0) jb=1</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keywordflow">IF</span>(je.EQ.0) je=(jmax+1)/2</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keywordflow">IF</span>(idir.LT.0.AND.jbeg.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;          kws=(k-1)*kw</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;          wave(kws+1:kws+2*mx)=0</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf</a>(iromb,maxwv,idrt,imax,jmax,kmax,</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;     &amp;             ip,is,jn,js,kw,kg,jb,je,jc,</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;     &amp;             wave,gridn,grids,idir)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptran_8f_html_af7610e42f0dcd199b8cf80f851dcfed0"><div class="ttname"><a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a></div><div class="ttdeci">subroutine sptran(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptran_8f_source.html#l00084">sptran.f:88</a></div></div>
+<div class="ttc" id="asptranf_8f_html_acf086b5141203e48bdb7250441a16c8c"><div class="ttname"><a href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf</a></div><div class="ttdeci">subroutine sptranf(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptranf_8f_source.html#l00074">sptranf.f:77</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptran_8f.html">sptran.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrand_8f.html b/sptrand_8f.html
new file mode 100644
index 00000000..08fa5cdd
--- /dev/null
+++ b/sptrand_8f.html
@@ -0,0 +1,346 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrand.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrand_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrand.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform a gradient spherical transform.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrand_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ae810abad32bcbdfb8345a30e50bcc1ef"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDMN, GRIDXN, GRIDXS, GRIDYN, GRIDYS, IDIR)</td></tr>
+<tr class="memdesc:ae810abad32bcbdfb8345a30e50bcc1ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform between spectral coefficients of scalar fields and their means and gradients on a global cylindrical grid.  <a href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">More...</a><br /></td></tr>
+<tr class="separator:ae810abad32bcbdfb8345a30e50bcc1ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform a gradient spherical transform. </p>
+<h3><a class="anchor" id="autotoc_md66"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">openmp directives inserted   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrand_8f_source.html">sptrand.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ae810abad32bcbdfb8345a30e50bcc1ef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae810abad32bcbdfb8345a30e50bcc1ef">&#9670;&nbsp;</a></span>sptrand()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrand </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JNSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JBEG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JEND</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(kmax)&#160;</td>
+          <td class="paramname"><em>GRIDMN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDXN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDXS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDYN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDYS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform between spectral coefficients of scalar fields and their means and gradients on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid.</p>
+<p>The wave and grid fields may have general indexing, but each wave field is in sequential 'IBM order', i.e. with zonal wavenumber as the slower index.</p>
+<p>Transforms are done in latitude pairs for efficiency; thus grid arrays for each hemisphere must be passed. if so requested, just a subset of the latitude pairs may be transformed in each invocation of the subprogram.</p>
+<p>The transforms are all multiprocessed over latitude except the transform from Fourier to spectral is multiprocessed over zonal wavenumber to ensure reproducibility.</p>
+<p>Transform several fields at a time to improve vectorization.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid</li>
+<li>IDRT=0 for equally-spaced grid including poles</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IPRIME</td><td>longitude index for the prime meridian. (defaults to 1 if IPRIME=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ISKIP</td><td>skip number between longitudes (defaults to 1 if ISKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JNSKIP</td><td>skip number between n.h. latitudes from north (defaults to IMAX if JNSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JSSKIP</td><td>skip number between s.h. latitudes from south (defaults to -IMAX if JSSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KWSKIP</td><td>skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KGSKIP</td><td>skip number between grid fields (defaults to IMAX*JMAX if KGSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JBEG</td><td>latitude index (from pole) to begin transform (defaults to 1 if JBEG=0). If JBEG=0 and IDIR&lt;0, wave is zeroed before transform. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JEND</td><td>latitude index (from pole) to end transform (defaults to (JMAX+1)/2 if JEND=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JCPU</td><td>number of cpus over which to multiprocess </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVE</td><td>wave fields if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDMN</td><td>global means if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDXN</td><td>n.h. x-gradients (starting at JBEG) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDXS</td><td>s.h. x-gradients (starting at JBEG) if IDIR&lt;0 [GRIDX=(D(WAVE)/DLAM)/(CLAT*RERTH)] <br  />
+ </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDYN</td><td>n.h. y-gradients (starting at JBEG) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDYS</td><td>s.h. y-gradients (starting at JBEG) if IDIR&lt;0 [GRIDY=(D(WAVE)/DPHI)/RERTH] </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptrand_8f_source.html#l00088">88</a> of file <a class="el" href="sptrand_8f_source.html">sptrand.f</a>.</p>
+
+<p class="reference">References <a class="el" href="splaplac_8f_source.html#l00025">splaplac()</a>, <a class="el" href="sptranv_8f_source.html#l00091">sptranv()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptezd_8f_source.html#l00052">sptezd()</a>, <a class="el" href="sptezmd_8f_source.html#l00054">sptezmd()</a>, and <a class="el" href="sptrund_8f_source.html#l00076">sptrund()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrand_8f.html">sptrand.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrand_8f.js b/sptrand_8f.js
new file mode 100644
index 00000000..c01144d7
--- /dev/null
+++ b/sptrand_8f.js
@@ -0,0 +1,4 @@
+var sptrand_8f =
+[
+    [ "sptrand", "sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef", null ]
+];
\ No newline at end of file
diff --git a/sptrand_8f_source.html b/sptrand_8f_source.html
new file mode 100644
index 00000000..291d35d6
--- /dev/null
+++ b/sptrand_8f_source.html
@@ -0,0 +1,253 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrand.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrand_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrand.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrand_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform a gradient spherical transform.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | IREDELL | Initial</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | IREDELL | openmp directives inserted</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; between spectral coefficients of scalar fields</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; and their means and gradients on a global cylindrical grid.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;IBM order&#39;,</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; Transforms are done in latitude pairs for efficiency;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; thus grid arrays for each hemisphere must be passed.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; if so requested, just a subset of the latitude pairs</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; may be transformed in each invocation of the subprogram.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over latitude except</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; the transform from Fourier to spectral is multiprocessed</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; over zonal wavenumber to ensure reproducibility.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param IPRIME longitude index for the prime meridian.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; (defaults to 1 if IPRIME=0)</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param ISKIP skip number between longitudes</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; (defaults to 1 if ISKIP=0)</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param JNSKIP skip number between n.h. latitudes from north</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; (defaults to IMAX if JNSKIP=0)</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param JSSKIP skip number between s.h. latitudes from south</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; (defaults to -IMAX if JSSKIP=0)</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param KWSKIP skip number between wave fields</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0)</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; @param KGSKIP skip number between grid fields</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; (defaults to IMAX*JMAX if KGSKIP=0)</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; @param JBEG latitude index (from pole) to begin transform</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt; (defaults to 1 if JBEG=0). If JBEG=0 and IDIR&lt;0, wave is zeroed before transform.</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; @param JEND latitude index (from pole) to end transform</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; (defaults to (JMAX+1)/2 if JEND=0)</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt; @param JCPU number of cpus over which to multiprocess</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt; @param[out] WAVE wave fields if IDIR&gt;0</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt; @param[out] GRIDMN global means if IDIR&lt;0</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C&gt; @param[out] GRIDXN n.h. x-gradients (starting at JBEG) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C&gt; @param[out] GRIDXS s.h. x-gradients (starting at JBEG) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">C&gt; [GRIDX=(D(WAVE)/DLAM)/(CLAT*RERTH)]      </span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">C&gt; @param[out] GRIDYN n.h. y-gradients (starting at JBEG) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">C&gt; @param[out] GRIDYS s.h. y-gradients (starting at JBEG) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C&gt; [GRIDY=(D(WAVE)/DPHI)/RERTH]</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave)</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">   88</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;     &amp;                   IPRIME,ISKIP,JNSKIP,JSSKIP,KWSKIP,KGSKIP,</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;     &amp;                   JBEG,JEND,JCPU,</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;     &amp;                   WAVE,GRIDMN,GRIDXN,GRIDXS,GRIDYN,GRIDYS,IDIR)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordtype">      REAL</span> WAVE(*),GRIDMN(KMAX),GRIDXN(*),GRIDXS(*),GRIDYN(*),GRIDYS(*)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keywordtype">REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">      REAL</span> WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordtype">      REAL</span> WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">C  SET PARAMETERS</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">C  TRANSFORM WAVE TO GRID</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keywordflow">IF</span>(idir.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS)</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;          kws=(k-1)*kw</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;          gridmn(k)=wave(kws+1)/sqrt(2.)</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wave(kws+1),wd(1,k),1)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;          wz(1:2*mx,k)=0.</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a>(iromb,maxwv,idrt,imax,jmax,kmax,</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;     &amp;               iprime,iskip,jnskip,jsskip,mdim,kgskip,</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;     &amp;               jbeg,jend,jcpu,</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;     &amp;               wd,wz,gridxn,gridxs,gridyn,gridys,idir)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">C  TRANSFORM GRID TO WAVE</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;          wd(1:2*mx,k)=0.</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;          wz(1:2*mx,k)=0.</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a>(iromb,maxwv,idrt,imax,jmax,kmax,</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;     &amp;               iprime,iskip,jnskip,jsskip,mdim,kgskip,</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;     &amp;               jbeg,jend,jcpu,</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;     &amp;               wd,wz,gridxn,gridxs,gridyn,gridys,idir)</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="keywordflow">IF</span>(jbeg.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS)</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;          <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;            kws=(k-1)*kw</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;            <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wave(kws+1),wd(1,k),-1)</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;            wave(kws+1)=gridmn(k)*sqrt(2.)</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(KWS)</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;          <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;            kws=(k-1)*kw</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;            <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wz(1,k),wd(1,k),-1)</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;            wave(kws+1:kws+2*mx)=wave(kws+1:kws+2*mx)+wz(1:2*mx,k)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;            wave(kws+1)=gridmn(k)*sqrt(2.)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+<div class="ttc" id="asptrand_8f_html_ae810abad32bcbdfb8345a30e50bcc1ef"><div class="ttname"><a href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand</a></div><div class="ttdeci">subroutine sptrand(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDMN, GRIDXN, GRIDXS, GRIDYN, GRIDYS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar fields and the...</div><div class="ttdef"><b>Definition:</b> <a href="sptrand_8f_source.html#l00088">sptrand.f:92</a></div></div>
+<div class="ttc" id="asptranv_8f_html_a7d6aaa3ed70df1dfaf8dd4443b7190c1"><div class="ttname"><a href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a></div><div class="ttdeci">subroutine sptranv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranv_8f_source.html#l00087">sptranv.f:91</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrand_8f.html">sptrand.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranf0_8f.html b/sptranf0_8f.html
new file mode 100644
index 00000000..9ea80dac
--- /dev/null
+++ b/sptranf0_8f.html
@@ -0,0 +1,290 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranf0.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranf0_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptranf0.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Sptranf spectral initialization.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptranf0_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:aaf9f9002ccd7074dc04dbc40a5aad9f0"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">sptranf0</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, JB, JE, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP, AFFT, CLAT, SLAT, WLAT, PLN, PLNTOP)</td></tr>
+<tr class="memdesc:aaf9f9002ccd7074dc04dbc40a5aad9f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs an initialization for subprogram <a class="el" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptranf()</a>.  <a href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">More...</a><br /></td></tr>
+<tr class="separator:aaf9f9002ccd7074dc04dbc40a5aad9f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Sptranf spectral initialization. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptranf0_8f_source.html">sptranf0.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="aaf9f9002ccd7074dc04dbc40a5aad9f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf9f9002ccd7074dc04dbc40a5aad9f0">&#9670;&nbsp;</a></span>sptranf0()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptranf0 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>EPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(maxwv+1)&#160;</td>
+          <td class="paramname"><em>EPSTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>ENN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>ELONN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>EON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(maxwv+1)&#160;</td>
+          <td class="paramname"><em>EONTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(8), dimension(50000+4*imax)&#160;</td>
+          <td class="paramname"><em>AFFT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(jb:je)&#160;</td>
+          <td class="paramname"><em>CLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(jb:je)&#160;</td>
+          <td class="paramname"><em>SLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(jb:je)&#160;</td>
+          <td class="paramname"><em>WLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2,jb:je)&#160;</td>
+          <td class="paramname"><em>PLN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(maxwv+1,jb:je)&#160;</td>
+          <td class="paramname"><em>PLNTOP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs an initialization for subprogram <a class="el" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptranf()</a>. </p>
+<p>Use this subprogram outside the <a class="el" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptranf()</a> family context at your own risk.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid,</li>
+<li>IDRT=0 for equally-spaced grid including poles,</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">IMAX</td><td>even number of longitudes </td></tr>
+    <tr><td class="paramname">JMAX</td><td>number of latitudes </td></tr>
+    <tr><td class="paramname">JB</td><td>latitude index (from pole) to begin transform </td></tr>
+    <tr><td class="paramname">JE</td><td>latitude index (from pole) to end transform </td></tr>
+    <tr><td class="paramname">EPS</td><td></td></tr>
+    <tr><td class="paramname">EPSTOP</td><td></td></tr>
+    <tr><td class="paramname">ENN1</td><td></td></tr>
+    <tr><td class="paramname">ELONN1</td><td></td></tr>
+    <tr><td class="paramname">EON</td><td></td></tr>
+    <tr><td class="paramname">EONTOP</td><td></td></tr>
+    <tr><td class="paramname">AFFT</td><td>auxiliary array if IDIR=0 </td></tr>
+    <tr><td class="paramname">CLAT</td><td>cosines of latitude </td></tr>
+    <tr><td class="paramname">SLAT</td><td>sines of latitude </td></tr>
+    <tr><td class="paramname">WLAT</td><td>Gaussian weights </td></tr>
+    <tr><td class="paramname">PLN</td><td>Legendre polynomials </td></tr>
+    <tr><td class="paramname">PLNTOP</td><td>Legendre polynomial over top</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptranf0_8f_source.html#l00034">34</a> of file <a class="el" href="sptranf0_8f_source.html">sptranf0.f</a>.</p>
+
+<p class="reference">References <a class="el" href="spffte_8f_source.html#l00049">spffte()</a>, <a class="el" href="splat_8F_source.html#l00046">splat()</a>, <a class="el" href="splegend_8f_source.html#l00045">splegend()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptranf_8f_source.html#l00077">sptranf()</a>, and <a class="el" href="sptranfv_8f_source.html#l00083">sptranfv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranf0_8f.html">sptranf0.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranf0_8f.js b/sptranf0_8f.js
new file mode 100644
index 00000000..68775895
--- /dev/null
+++ b/sptranf0_8f.js
@@ -0,0 +1,4 @@
+var sptranf0_8f =
+[
+    [ "sptranf0", "sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0", null ]
+];
\ No newline at end of file
diff --git a/sptranf0_8f_source.html b/sptranf0_8f_source.html
new file mode 100644
index 00000000..18aed35a
--- /dev/null
+++ b/sptranf0_8f_source.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranf0.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranf0_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptranf0.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptranf0_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Sptranf spectral initialization.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs an initialization for</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; subprogram sptranf(). Use this subprogram outside</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; the sptranf() family context at your own risk.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">c&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid,</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param JB latitude index (from pole) to begin transform</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param JE latitude index (from pole) to end transform</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; @param EPS</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param EPSTOP</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param ENN1</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param ELONN1</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param EON</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param EONTOP</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param AFFT auxiliary array if IDIR=0</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param CLAT cosines of latitude</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param SLAT sines of latitude</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param WLAT Gaussian weights</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param PLN Legendre polynomials</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param PLNTOP Legendre polynomial over top</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">   34</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">sptranf0</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,JB,JE,</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;     &amp;                    EPS,EPSTOP,ENN1,ELONN1,EON,EONTOP,</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;     &amp;                    AFFT,CLAT,SLAT,WLAT,PLN,PLNTOP)</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordtype">      REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;      <span class="keywordtype">REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keywordtype">      REAL</span>(8) AFFT(50000+4*IMAX)</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keywordtype">      REAL</span> CLAT(JB:JE),SLAT(JB:JE),WLAT(JB:JE)</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2,JB:JE)</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordtype">      REAL</span> PLNTOP(MAXWV+1,JB:JE)</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keywordtype">      REAL</span> SLATX(JMAX),WLATX(JMAX)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte</a>(imax,(imax+2)/2,imax,2,0.,0.,0,afft)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <span class="keyword">CALL </span><a class="code" href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">splat</a>(idrt,jmax,slatx,wlatx)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      jhe=(jmax+1)/2</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      <span class="keywordflow">IF</span>(jhe.GT.jmax/2) wlatx(jhe)=wlatx(jhe)/2</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keywordflow">DO</span> j=jb,je</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        clat(j)=sqrt(1.-slatx(j)**2)</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        slat(j)=slatx(j)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        wlat(j)=wlatx(j)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keywordflow">DO</span> j=jb,je</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a>(iromb,maxwv,slat(j),clat(j),eps,epstop,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;     &amp;                pln(1,j),plntop(1,j))</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspffte_8f_html_af06489254bd3e99030b39744fce32233"><div class="ttname"><a href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte</a></div><div class="ttdeci">subroutine spffte(IMAX, INCW, INCG, KMAX, W, G, IDIR, AFFT)</div><div class="ttdoc">This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space...</div><div class="ttdef"><b>Definition:</b> <a href="spffte_8f_source.html#l00048">spffte.f:49</a></div></div>
+<div class="ttc" id="asplat_8F_html_aa6db21451bb67635e7e4426546140e11"><div class="ttname"><a href="splat_8F.html#aa6db21451bb67635e7e4426546140e11">splat</a></div><div class="ttdeci">subroutine splat(IDRT, JMAX, SLAT, WLAT)</div><div class="ttdoc">Computes cosines of colatitude and Gaussian weights for one of the following specific global sets of ...</div><div class="ttdef"><b>Definition:</b> <a href="splat_8F_source.html#l00045">splat.F:46</a></div></div>
+<div class="ttc" id="asplegend_8f_html_a9c68adc80e97c43ac983b955dd6cabac"><div class="ttname"><a href="splegend_8f.html#a9c68adc80e97c43ac983b955dd6cabac">splegend</a></div><div class="ttdeci">subroutine splegend(I, M, SLAT, CLAT, EPS, EPSTOP, PLN, PLNTOP)</div><div class="ttdoc">Evaluates the orthonormal associated Legendre polynomials in the spectral domain at a given latitude.</div><div class="ttdef"><b>Definition:</b> <a href="splegend_8f_source.html#l00044">splegend.f:45</a></div></div>
+<div class="ttc" id="asptranf0_8f_html_aaf9f9002ccd7074dc04dbc40a5aad9f0"><div class="ttname"><a href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">sptranf0</a></div><div class="ttdeci">subroutine sptranf0(IROMB, MAXWV, IDRT, IMAX, JMAX, JB, JE, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP, AFFT, CLAT, SLAT, WLAT, PLN, PLNTOP)</div><div class="ttdoc">This subprogram performs an initialization for subprogram sptranf().</div><div class="ttdef"><b>Definition:</b> <a href="sptranf0_8f_source.html#l00034">sptranf0.f:37</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranf0_8f.html">sptranf0.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranf1_8f.html b/sptranf1_8f.html
new file mode 100644
index 00000000..876c5a68
--- /dev/null
+++ b/sptranf1_8f.html
@@ -0,0 +1,325 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranf1.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranf1_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptranf1.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Sptranf spectral transform.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptranf1_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ad7cec2fd6729ca84b1fac3436f9730e6"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, JB, JE, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP, AFFT, CLAT, SLAT, WLAT, PLN, PLNTOP, MP, W, WTOP, G, IDIR)</td></tr>
+<tr class="memdesc:ad7cec2fd6729ca84b1fac3436f9730e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs an single latitude transform for subprogram <a class="el" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptranf()</a>.  <a href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">More...</a><br /></td></tr>
+<tr class="separator:ad7cec2fd6729ca84b1fac3436f9730e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Sptranf spectral transform. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptranf1_8f_source.html">sptranf1.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ad7cec2fd6729ca84b1fac3436f9730e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad7cec2fd6729ca84b1fac3436f9730e6">&#9670;&nbsp;</a></span>sptranf1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptranf1 </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>EPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(maxwv+1)&#160;</td>
+          <td class="paramname"><em>EPSTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>ENN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>ELONN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>EON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(maxwv+1)&#160;</td>
+          <td class="paramname"><em>EONTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(8), dimension(50000+4*imax)&#160;</td>
+          <td class="paramname"><em>AFFT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(jb:je)&#160;</td>
+          <td class="paramname"><em>CLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(jb:je)&#160;</td>
+          <td class="paramname"><em>SLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(jb:je)&#160;</td>
+          <td class="paramname"><em>WLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2,jb:je)&#160;</td>
+          <td class="paramname"><em>PLN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(maxwv+1,jb:je)&#160;</td>
+          <td class="paramname"><em>PLNTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2))&#160;</td>
+          <td class="paramname"><em>W</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*(maxwv+1))&#160;</td>
+          <td class="paramname"><em>WTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(imax,2,jb:je)&#160;</td>
+          <td class="paramname"><em>G</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs an single latitude transform for subprogram <a class="el" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptranf()</a>. </p>
+<p>Use this subprogram outside the <a class="el" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptranf()</a> family context at your own risk.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid,</li>
+<li>IDRT=0 for equally-spaced grid including poles,</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JB</td><td>latitude index (from pole) to begin transform </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JE</td><td>latitude index (from pole) to end transform </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">EPS</td><td></td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">EPSTOP</td><td></td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ENN1</td><td></td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ELONN1</td><td></td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">EON</td><td></td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">EONTOP</td><td></td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">CLAT</td><td>cosines of latitude </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">SLAT</td><td>sines of latitude </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">WLAT</td><td>Gaussian weights </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">AFFT</td><td>auxiliary array if IDIR=0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">PLN</td><td>Legendre polynomials </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">PLNTOP</td><td>Legendre polynomial over top </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MP</td><td>identifier (0 for scalar, 1 for vector) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">W</td><td>wave field if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WTOP</td><td>wave field over top if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">G</td><td>grid field if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptranf1_8f_source.html#l00040">40</a> of file <a class="el" href="sptranf1_8f_source.html">sptranf1.f</a>.</p>
+
+<p class="reference">References <a class="el" href="spanaly_8f_source.html#l00037">spanaly()</a>, <a class="el" href="spffte_8f_source.html#l00049">spffte()</a>, and <a class="el" href="spsynth_8f_source.html#l00039">spsynth()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptranf_8f_source.html#l00077">sptranf()</a>, and <a class="el" href="sptranfv_8f_source.html#l00083">sptranfv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranf1_8f.html">sptranf1.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranf1_8f.js b/sptranf1_8f.js
new file mode 100644
index 00000000..2123eae8
--- /dev/null
+++ b/sptranf1_8f.js
@@ -0,0 +1,4 @@
+var sptranf1_8f =
+[
+    [ "sptranf1", "sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6", null ]
+];
\ No newline at end of file
diff --git a/sptranf1_8f_source.html b/sptranf1_8f_source.html
new file mode 100644
index 00000000..0c0f8374
--- /dev/null
+++ b/sptranf1_8f_source.html
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranf1.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranf1_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptranf1.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptranf1_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Sptranf spectral transform.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram performs an single latitude transform for</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; subprogram sptranf(). Use this subprogram outside</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; the sptranf() family context at your own risk.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid,</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param JB latitude index (from pole) to begin transform</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param JE latitude index (from pole) to end transform</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; @param EPS</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param EPSTOP</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param ENN1</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param ELONN1</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param EON</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param EONTOP</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param CLAT cosines of latitude</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param SLAT sines of latitude</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param WLAT Gaussian weights</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param AFFT auxiliary array if IDIR=0</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param PLN Legendre polynomials</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param PLNTOP Legendre polynomial over top</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param MP identifier (0 for scalar, 1 for vector)</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param[out] W wave field if IDIR&gt;0</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param[out] WTOP wave field over top if IDIR&gt;0</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param[out] G grid field if IDIR&lt;0</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave)</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">   40</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,JB,JE,</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;     &amp;                    EPS,EPSTOP,ENN1,ELONN1,EON,EONTOP,</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;     &amp;                    AFFT,CLAT,SLAT,WLAT,PLN,PLNTOP,MP,</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;     &amp;                    W,WTOP,G,IDIR)</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordtype">      REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      <span class="keywordtype">REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      <span class="keywordtype">REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keywordtype">      REAL</span>(8) AFFT(50000+4*IMAX)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keywordtype">      REAL</span> CLAT(JB:JE),SLAT(JB:JE),WLAT(JB:JE)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2,JB:JE)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">      REAL</span> PLNTOP(MAXWV+1,JB:JE)</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordtype">      REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2))</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1))</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keywordtype">      REAL</span> G(IMAX,2,JB:JE)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">      REAL</span> F(IMAX+2,2)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      kw=(maxwv+1)*((iromb+1)*maxwv+2)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      kwtop=2*(maxwv+1)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keywordflow">IF</span>(idir.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keywordflow">DO</span> j=jb,je</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;          <span class="keyword">CALL </span><a class="code" href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a>(iromb,maxwv,imax,imax+2,kw,kwtop,1,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;     &amp;                 clat(j),pln(1,j),plntop(1,j),mp,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;     &amp;                 w,wtop,f)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;          <span class="keyword">CALL </span><a class="code" href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte</a>(imax,(imax+2)/2,imax,2,f,g(1,1,j),+1,afft)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        <span class="keywordflow">DO</span> j=jb,je</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;          <span class="keyword">CALL </span><a class="code" href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte</a>(imax,(imax+2)/2,imax,2,f,g(1,1,j),-1,afft)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;          <span class="keyword">CALL </span><a class="code" href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a">spanaly</a>(iromb,maxwv,imax,imax+2,kw,kwtop,1,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;     &amp;                 wlat(j),clat(j),pln(1,j),plntop(1,j),mp,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;     &amp;                 f,w,wtop)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspanaly_8f_html_a5cc846d796d393d7499cde0f3d1d6e6a"><div class="ttname"><a href="spanaly_8f.html#a5cc846d796d393d7499cde0f3d1d6e6a">spanaly</a></div><div class="ttdeci">subroutine spanaly(I, M, IM, IX, NC, NCTOP, KM, WGT, CLAT, PLN, PLNTOP, MP, F, SPC, SPCTOP)</div><div class="ttdoc">Analyzes spectral coefficients from Fourier coefficients for a latitude pair (Northern and Southern h...</div><div class="ttdef"><b>Definition:</b> <a href="spanaly_8f_source.html#l00035">spanaly.f:37</a></div></div>
+<div class="ttc" id="aspffte_8f_html_af06489254bd3e99030b39744fce32233"><div class="ttname"><a href="spffte_8f.html#af06489254bd3e99030b39744fce32233">spffte</a></div><div class="ttdeci">subroutine spffte(IMAX, INCW, INCG, KMAX, W, G, IDIR, AFFT)</div><div class="ttdoc">This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space...</div><div class="ttdef"><b>Definition:</b> <a href="spffte_8f_source.html#l00048">spffte.f:49</a></div></div>
+<div class="ttc" id="aspsynth_8f_html_aa6a8113a459918728c876673520126bf"><div class="ttname"><a href="spsynth_8f.html#aa6a8113a459918728c876673520126bf">spsynth</a></div><div class="ttdeci">subroutine spsynth(I, M, IM, IX, NC, NCTOP, KM, CLAT, PLN, PLNTOP, MP, SPC, SPCTOP, F)</div><div class="ttdoc">Synthesizes Fourier coefficients from spectral coefficients for a latitude pair (Northern and Souther...</div><div class="ttdef"><b>Definition:</b> <a href="spsynth_8f_source.html#l00037">spsynth.f:39</a></div></div>
+<div class="ttc" id="asptranf1_8f_html_ad7cec2fd6729ca84b1fac3436f9730e6"><div class="ttname"><a href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a></div><div class="ttdeci">subroutine sptranf1(IROMB, MAXWV, IDRT, IMAX, JMAX, JB, JE, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP, AFFT, CLAT, SLAT, WLAT, PLN, PLNTOP, MP, W, WTOP, G, IDIR)</div><div class="ttdoc">This subprogram performs an single latitude transform for subprogram sptranf().</div><div class="ttdef"><b>Definition:</b> <a href="sptranf1_8f_source.html#l00040">sptranf1.f:44</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranf1_8f.html">sptranf1.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranf_8f.html b/sptranf_8f.html
new file mode 100644
index 00000000..d02bb2b6
--- /dev/null
+++ b/sptranf_8f.html
@@ -0,0 +1,324 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranf.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranf_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptranf.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform a scalar spherical transform.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptranf_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:acf086b5141203e48bdb7250441a16c8c"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVE, GRIDN, GRIDS, IDIR)</td></tr>
+<tr class="memdesc:acf086b5141203e48bdb7250441a16c8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and fields on a global cylindrical grid.  <a href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">More...</a><br /></td></tr>
+<tr class="separator:acf086b5141203e48bdb7250441a16c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform a scalar spherical transform. </p>
+<h3><a class="anchor" id="autotoc_md67"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Generic fft used, openmp directives inserted    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2013-01-16   </td><td class="markdownTableBodyNone">Iredell, Mirvis   </td><td class="markdownTableBodyNone">Fixing afft negative sharing effect   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptranf_8f_source.html">sptranf.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="acf086b5141203e48bdb7250441a16c8c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf086b5141203e48bdb7250441a16c8c">&#9670;&nbsp;</a></span>sptranf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptranf </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KW</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform between spectral coefficients of scalar quantities and fields on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal. The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid.</p>
+<p>The wave and grid fields may have general indexing, but each wave field is in sequential 'ibm order', i.e. with zonal wavenumber as the slower index.</p>
+<p>Transforms are done in latitude pairs for efficiency; thus grid arrays for each hemisphere must be passed.</p>
+<p>If so requested, just a subset of the latitude pairs may be transformed in each invocation of the subprogram. The transforms are all multiprocessed over latitude except the transform from fourier to spectral is multiprocessed over zonal wavenumber to ensure reproducibility.</p>
+<p>Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid,</li>
+<li>IDRT=0 for equally-spaced grid including poles</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IP</td><td>longitude index for the prime meridian </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IS</td><td>skip number between longitudes </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JN</td><td>skip number between n.h. latitudes from north </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JS</td><td>skip number between s.h. latitudes from south </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KW</td><td>skip number between wave fields </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KG</td><td>skip number between grid fields </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JB</td><td>latitude index (from pole) to begin transform </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JE</td><td>latitude index (from pole) to end transform </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JC</td><td>number of cpus over which to multiprocess </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVE</td><td>wave fields if IDIR&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDN</td><td>n.h. grid fields (starting at JB) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDS</td><td>s.h. grid fields (starting at JB) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptranf_8f_source.html#l00074">74</a> of file <a class="el" href="sptranf_8f_source.html">sptranf.f</a>.</p>
+
+<p class="reference">References <a class="el" href="sptranf0_8f_source.html#l00037">sptranf0()</a>, and <a class="el" href="sptranf1_8f_source.html#l00044">sptranf1()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptez_8f_source.html#l00050">sptez()</a>, <a class="el" href="sptezm_8f_source.html#l00051">sptezm()</a>, and <a class="el" href="sptran_8f_source.html#l00088">sptran()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranf_8f.html">sptranf.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranf_8f.js b/sptranf_8f.js
new file mode 100644
index 00000000..5f0a52f8
--- /dev/null
+++ b/sptranf_8f.js
@@ -0,0 +1,4 @@
+var sptranf_8f =
+[
+    [ "sptranf", "sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c", null ]
+];
\ No newline at end of file
diff --git a/sptranf_8f_source.html b/sptranf_8f_source.html
new file mode 100644
index 00000000..d7823863
--- /dev/null
+++ b/sptranf_8f_source.html
@@ -0,0 +1,263 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranf.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranf_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptranf.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptranf_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform a scalar spherical transform</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Generic fft used, openmp directives inserted</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; 2013-01-16 | Iredell, Mirvis | Fixing afft negative sharing effect</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform between spectral</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; coefficients of scalar quantities and fields on a global</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; cylindrical grid.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; rhomboidal.  The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;ibm order&#39;,</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; Transforms are done in latitude pairs for efficiency;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; thus grid arrays for each hemisphere must be passed.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; If so requested, just a subset of the latitude pairs</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; may be transformed in each invocation of the subprogram.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over latitude except</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; the transform from fourier to spectral is multiprocessed</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; over zonal wavenumber to ensure reproducibility.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; IMAX                         | 2*MAXWV+2          | 3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        | 1*MAXWV+1          | 3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        | 2*MAXWV+1          | 5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        | 2*MAXWV+3          | 3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        | 4*MAXWV+3          | 5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      | 2*MAXWV+1          | 3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      | 4*MAXWV+1          | 5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">c&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid,</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param IP longitude index for the prime meridian</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param IS skip number between longitudes</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; @param JN skip number between n.h. latitudes from north</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param JS skip number between s.h. latitudes from south</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; @param KW skip number between wave fields</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param KG skip number between grid fields</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; @param JB latitude index (from pole) to begin transform</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param JE latitude index (from pole) to end transform</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; @param JC number of cpus over which to multiprocess</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param[out] WAVE wave fields if IDIR&gt;0</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; @param[out] GRIDN n.h. grid fields (starting at JB) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; @param[out] GRIDS s.h. grid fields (starting at JB) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave)</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">   74</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;     &amp;                   IP,IS,JN,JS,KW,KG,JB,JE,JC,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;     &amp;                   WAVE,GRIDN,GRIDS,IDIR)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">      REAL</span> WAVE(*),GRIDN(*),GRIDS(*)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">      REAL</span>(8) AFFT(50000+4*IMAX), AFFT_TMP(50000+4*IMAX)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">      REAL</span> CLAT(JB:JE),SLAT(JB:JE),WLAT(JB:JE)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2,JB:JE)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keywordtype">      REAL</span> PLNTOP(MAXWV+1,JB:JE)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1))</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordtype">      REAL</span> G(IMAX,2)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">!      write(0,*) &#39;sptranf top&#39;</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">C  SET PARAMETERS</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      mp=0</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">sptranf0</a>(iromb,maxwv,idrt,imax,jmax,jb,je,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;     &amp;              eps,epstop,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;     &amp;              afft,clat,slat,wlat,pln,plntop)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">C  TRANSFORM WAVE TO GRID</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keywordflow">IF</span>(idir.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(AFFT_TMP,KWS,WTOP,G,IJKN,IJKS)</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;              afft_tmp=afft</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;          kws=(k-1)*kw</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;          wtop=0</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;          <span class="keywordflow">DO</span> j=jb,je</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;            <span class="keyword">CALL </span><a class="code" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a>(iromb,maxwv,idrt,imax,jmax,j,j,</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;     &amp;                    eps,epstop,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;     &amp;                    afft_tmp,clat(j),slat(j),wlat(j),</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;     &amp;                    pln(1,j),plntop(1,j),mp,</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;     &amp;                    wave(kws+1),wtop,g,idir)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;            <span class="keywordflow">IF</span>(ip.EQ.1.AND.is.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;              <span class="keywordflow">DO</span> i=1,imax</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                ijkn=i+(j-jb)*jn+(k-1)*kg</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;                ijks=i+(j-jb)*js+(k-1)*kg</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;                gridn(ijkn)=g(i,1)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                grids(ijks)=g(i,2)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordflow">              ENDDO</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;            <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;              <span class="keywordflow">DO</span> i=1,imax</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;                ijkn=mod(i+ip-2,imax)*is+(j-jb)*jn+(k-1)*kg+1</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;                ijks=mod(i+ip-2,imax)*is+(j-jb)*js+(k-1)*kg+1</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                gridn(ijkn)=g(i,1)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                grids(ijks)=g(i,2)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordflow">              ENDDO</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment">C  TRANSFORM GRID TO WAVE</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(AFFT_TMP,KWS,WTOP,G,IJKN,IJKS)</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;              afft_tmp=afft</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;          kws=(k-1)*kw</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;          wtop=0</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;          <span class="keywordflow">DO</span> j=jb,je</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;            <span class="keywordflow">IF</span>(wlat(j).GT.0.) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;              <span class="keywordflow">IF</span>(ip.EQ.1.AND.is.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;                <span class="keywordflow">DO</span> i=1,imax</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;                  ijkn=i+(j-jb)*jn+(k-1)*kg</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;                  ijks=i+(j-jb)*js+(k-1)*kg</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                  g(i,1)=gridn(ijkn)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;                  g(i,2)=grids(ijks)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;              <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;                <span class="keywordflow">DO</span> i=1,imax</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                  ijkn=mod(i+ip-2,imax)*is+(j-jb)*jn+(k-1)*kg+1</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                  ijks=mod(i+ip-2,imax)*is+(j-jb)*js+(k-1)*kg+1</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                  g(i,1)=gridn(ijkn)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                  g(i,2)=grids(ijks)</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keywordflow">              ENDIF</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;              <span class="keyword">CALL </span><a class="code" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a>(iromb,maxwv,idrt,imax,jmax,j,j,</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;     &amp;                      eps,epstop,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;     &amp;                      afft_tmp,clat(j),slat(j),wlat(j),</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;     &amp;                      pln(1,j),plntop(1,j),mp,</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;     &amp;                      wave(kws+1),wtop,g,idir)</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="asptranf0_8f_html_aaf9f9002ccd7074dc04dbc40a5aad9f0"><div class="ttname"><a href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">sptranf0</a></div><div class="ttdeci">subroutine sptranf0(IROMB, MAXWV, IDRT, IMAX, JMAX, JB, JE, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP, AFFT, CLAT, SLAT, WLAT, PLN, PLNTOP)</div><div class="ttdoc">This subprogram performs an initialization for subprogram sptranf().</div><div class="ttdef"><b>Definition:</b> <a href="sptranf0_8f_source.html#l00034">sptranf0.f:37</a></div></div>
+<div class="ttc" id="asptranf1_8f_html_ad7cec2fd6729ca84b1fac3436f9730e6"><div class="ttname"><a href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a></div><div class="ttdeci">subroutine sptranf1(IROMB, MAXWV, IDRT, IMAX, JMAX, JB, JE, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP, AFFT, CLAT, SLAT, WLAT, PLN, PLNTOP, MP, W, WTOP, G, IDIR)</div><div class="ttdoc">This subprogram performs an single latitude transform for subprogram sptranf().</div><div class="ttdef"><b>Definition:</b> <a href="sptranf1_8f_source.html#l00040">sptranf1.f:44</a></div></div>
+<div class="ttc" id="asptranf_8f_html_acf086b5141203e48bdb7250441a16c8c"><div class="ttname"><a href="sptranf_8f.html#acf086b5141203e48bdb7250441a16c8c">sptranf</a></div><div class="ttdeci">subroutine sptranf(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptranf_8f_source.html#l00074">sptranf.f:77</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranf_8f.html">sptranf.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranfv_8f.html b/sptranfv_8f.html
new file mode 100644
index 00000000..752e5b5f
--- /dev/null
+++ b/sptranfv_8f.html
@@ -0,0 +1,347 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranfv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranfv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptranfv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform a vector spherical transform.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptranfv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a1a7aabbd358d4fe984dac6813c98b106"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</td></tr>
+<tr class="memdesc:a1a7aabbd358d4fe984dac6813c98b106"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform between spectral coefficients of divergences and curls and vector fields on a global cylindrical grid.  <a href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">More...</a><br /></td></tr>
+<tr class="separator:a1a7aabbd358d4fe984dac6813c98b106"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform a vector spherical transform. </p>
+<h3><a class="anchor" id="autotoc_md68"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Generic fft used, openmp directives inserted    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2013-01-16   </td><td class="markdownTableBodyNone">Iredell &amp; MIRVIS   </td><td class="markdownTableBodyNone">Fixing afft negative sharing effect during omp loops   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptranfv_8f_source.html">sptranfv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a1a7aabbd358d4fe984dac6813c98b106"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a7aabbd358d4fe984dac6813c98b106">&#9670;&nbsp;</a></span>sptranfv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptranfv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KW</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JC</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVED</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVEZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDUN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDUS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDVN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDVS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform between spectral coefficients of divergences and curls and vector fields on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid.</p>
+<p>The wave and grid fields may have general indexing, but each wave field is in sequential 'ibm order', i.e. with zonal wavenumber as the slower index.</p>
+<p>Transforms are done in latitude pairs for efficiency; thus grid arrays for each hemisphere must be passed. if so requested, just a subset of the latitude pairs may be transformed in each invocation of the subprogram.</p>
+<p>The transforms are all multiprocessed over latitude except the transform from fourier to spectral is multiprocessed over zonal wavenumber to ensure reproducibility.</p>
+<p>Transform several fields at a time to improve vectorization. subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>grid identifier<ul>
+<li>IDRT=4 for Gaussian grid</li>
+<li>IDRT=0 for equally-spaced grid including poles</li>
+<li>IDRT=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>even number of longitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>number of latitudes. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>number of fields to transform. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IP</td><td>longitude index for the prime meridian </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IS</td><td>skip number between longitudes </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JN</td><td>skip number between n.h. latitudes from north </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JS</td><td>skip number between s.h. latitudes from south </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KW</td><td>skip number between wave fields </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KG</td><td>skip number between grid fields </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JB</td><td>latitude index (from pole) to begin transform </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JE</td><td>latitude index (from pole) to end transform </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JC</td><td>number of cpus over which to multiprocess </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVED</td><td>wave divergence fields if IDIR&gt;0 [WAVED=(D(GRIDU)/DLAM+D(CLAT*GRIDV)/DPHI)/(CLAT*RERTH)] </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVEZ</td><td>wave vorticity fields if IDIR&gt;0 [WAVEZ=(D(GRIDV)/DLAM-D(CLAT*GRIDU)/DPHI)/(CLAT*RERTH)] <br  />
+ </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDUN</td><td>N.H. grid u-winds (starting at jb) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDUS</td><td>S.H. grid u-winds (starting at jb) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDVN</td><td>N.H. grid v-winds (starting at jb) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDVS</td><td>S.H. grid v-winds (starting at jb) if IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>transform flag (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptranfv_8f_source.html#l00080">80</a> of file <a class="el" href="sptranfv_8f_source.html">sptranfv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="spdz2uv_8f_source.html#l00049">spdz2uv()</a>, <a class="el" href="sptranf0_8f_source.html#l00037">sptranf0()</a>, <a class="el" href="sptranf1_8f_source.html#l00044">sptranf1()</a>, and <a class="el" href="spuv2dz_8f_source.html#l00049">spuv2dz()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptezmv_8f_source.html#l00055">sptezmv()</a>, <a class="el" href="sptezv_8f_source.html#l00053">sptezv()</a>, and <a class="el" href="sptranv_8f_source.html#l00091">sptranv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranfv_8f.html">sptranfv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranfv_8f.js b/sptranfv_8f.js
new file mode 100644
index 00000000..7311d700
--- /dev/null
+++ b/sptranfv_8f.js
@@ -0,0 +1,4 @@
+var sptranfv_8f =
+[
+    [ "sptranfv", "sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106", null ]
+];
\ No newline at end of file
diff --git a/sptranfv_8f_source.html b/sptranfv_8f_source.html
new file mode 100644
index 00000000..c74a3db8
--- /dev/null
+++ b/sptranfv_8f_source.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranfv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranfv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptranfv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptranfv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform a vector spherical transform</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Generic fft used, openmp directives inserted</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; 2013-01-16 | Iredell &amp; MIRVIS | Fixing afft negative sharing effect during omp loops</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; between spectral coefficients of divergences and curls</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; and vector fields on a global cylindrical grid.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; The wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;ibm order&#39;,</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; Transforms are done in latitude pairs for efficiency;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; thus grid arrays for each hemisphere must be passed.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; if so requested, just a subset of the latitude pairs</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; may be transformed in each invocation of the subprogram.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over latitude except</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; the transform from fourier to spectral is multiprocessed</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; over zonal wavenumber to ensure reproducibility.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param IDRT grid identifier</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; - IDRT=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; - IDRT=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; - IDRT=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param IMAX even number of longitudes.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param JMAX number of latitudes.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param KMAX number of fields to transform.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param IP longitude index for the prime meridian</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; @param IS skip number between longitudes</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param JN skip number between n.h. latitudes from north</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; @param JS skip number between s.h. latitudes from south</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param KW skip number between wave fields</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; @param KG skip number between grid fields</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param JB latitude index (from pole) to begin transform</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; @param JE latitude index (from pole) to end transform</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param JC number of cpus over which to multiprocess</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; @param[out] WAVED wave divergence fields if IDIR&gt;0</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; [WAVED=(D(GRIDU)/DLAM+D(CLAT*GRIDV)/DPHI)/(CLAT*RERTH)]</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; @param[out] WAVEZ wave vorticity fields if IDIR&gt;0</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; [WAVEZ=(D(GRIDV)/DLAM-D(CLAT*GRIDU)/DPHI)/(CLAT*RERTH)]      </span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt; @param[out] GRIDUN N.H. grid u-winds (starting at jb) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; @param[out] GRIDUS S.H. grid u-winds (starting at jb) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; @param[out] GRIDVN N.H. grid v-winds (starting at jb) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt; @param[out] GRIDVS S.H. grid v-winds (starting at jb) if IDIR&lt;0</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt; @param IDIR transform flag</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt; (IDIR&gt;0 for wave to grid, IDIR&lt;0 for grid to wave).</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">   80</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;     &amp;                    IP,IS,JN,JS,KW,KG,JB,JE,JC,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;     &amp;                    WAVED,WAVEZ,GRIDUN,GRIDUS,GRIDVN,GRIDVS,IDIR)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">      REAL</span> WAVED(*),WAVEZ(*),GRIDUN(*),GRIDUS(*),GRIDVN(*),GRIDVS(*)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordtype">      REAL</span>(8) AFFT(50000+4*IMAX), AFFT_TMP(50000+4*IMAX)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">      REAL</span> CLAT(JB:JE),SLAT(JB:JE),WLAT(JB:JE)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordtype">      REAL</span> PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2,JB:JE)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">      REAL</span> PLNTOP(MAXWV+1,JB:JE)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keywordtype">INTEGER</span> MP(2)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordtype">      REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2,2)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordtype">      REAL</span> WTOP(2*(MAXWV+1),2)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keywordtype">      REAL</span> G(IMAX,2,2)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordtype">      REAL</span> WINC((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2,2)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">C  SET PARAMETERS</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      mp=1</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">sptranf0</a>(iromb,maxwv,idrt,imax,jmax,jb,je,</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;     &amp;              eps,epstop,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;     &amp;              afft,clat,slat,wlat,pln,plntop)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">C  TRANSFORM WAVE TO GRID</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keywordflow">IF</span>(idir.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(AFFT_TMP,KWS,W,WTOP,G,IJKN,IJKS)</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;              afft_tmp=afft</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;          kws=(k-1)*kw</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;          <span class="keyword">CALL </span><a class="code" href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a>(iromb,maxwv,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;     &amp;                 waved(kws+1),wavez(kws+1),</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;     &amp;                 w(1,1),w(1,2),wtop(1,1),wtop(1,2))</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;          <span class="keywordflow">DO</span> j=jb,je</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;            <span class="keyword">CALL </span><a class="code" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a>(iromb,maxwv,idrt,imax,jmax,j,j,</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;     &amp;                    eps,epstop,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;     &amp;                    afft_tmp,clat(j),slat(j),wlat(j),</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;     &amp;                    pln(1,j),plntop(1,j),mp,</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;     &amp;                    w(1,1),wtop(1,1),g(1,1,1),idir)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;            <span class="keyword">CALL </span><a class="code" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a>(iromb,maxwv,idrt,imax,jmax,j,j,</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;     &amp;                    eps,epstop,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;     &amp;                    afft_tmp,clat(j),slat(j),wlat(j),</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;     &amp;                    pln(1,j),plntop(1,j),mp,</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;     &amp;                    w(1,2),wtop(1,2),g(1,1,2),idir)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;            <span class="keywordflow">IF</span>(ip.EQ.1.AND.is.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;              <span class="keywordflow">DO</span> i=1,imax</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                ijkn=i+(j-jb)*jn+(k-1)*kg</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                ijks=i+(j-jb)*js+(k-1)*kg</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;                gridun(ijkn)=g(i,1,1)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;                gridus(ijks)=g(i,2,1)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;                gridvn(ijkn)=g(i,1,2)</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;                gridvs(ijks)=g(i,2,2)</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordflow">              ENDDO</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;            <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;              <span class="keywordflow">DO</span> i=1,imax</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                ijkn=mod(i+ip-2,imax)*is+(j-jb)*jn+(k-1)*kg+1</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;                ijks=mod(i+ip-2,imax)*is+(j-jb)*js+(k-1)*kg+1</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;                gridun(ijkn)=g(i,1,1)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;                gridus(ijks)=g(i,2,1)</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                gridvn(ijkn)=g(i,1,2)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;                gridvs(ijks)=g(i,2,2)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keywordflow">              ENDDO</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment">C  TRANSFORM GRID TO WAVE</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">C$OMP PARALLEL DO PRIVATE(AFFT_TMP,KWS,W,WTOP,G,IJKN,IJKS,WINC)</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;              afft_tmp=afft</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;          kws=(k-1)*kw</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;          w=0</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;          wtop=0</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;          <span class="keywordflow">DO</span> j=jb,je</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;            <span class="keywordflow">IF</span>(wlat(j).GT.0.) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;              <span class="keywordflow">IF</span>(ip.EQ.1.AND.is.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                <span class="keywordflow">DO</span> i=1,imax</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                  ijkn=i+(j-jb)*jn+(k-1)*kg</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                  ijks=i+(j-jb)*js+(k-1)*kg</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                  g(i,1,1)=gridun(ijkn)/clat(j)**2</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;                  g(i,2,1)=gridus(ijks)/clat(j)**2</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;                  g(i,1,2)=gridvn(ijkn)/clat(j)**2</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                  g(i,2,2)=gridvs(ijks)/clat(j)**2</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;              <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                <span class="keywordflow">DO</span> i=1,imax</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                  ijkn=mod(i+ip-2,imax)*is+(j-jb)*jn+(k-1)*kg+1</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                  ijks=mod(i+ip-2,imax)*is+(j-jb)*js+(k-1)*kg+1</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                  g(i,1,1)=gridun(ijkn)/clat(j)**2</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                  g(i,2,1)=gridus(ijks)/clat(j)**2</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                  g(i,1,2)=gridvn(ijkn)/clat(j)**2</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                  g(i,2,2)=gridvs(ijks)/clat(j)**2</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keywordflow">              ENDIF</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;              <span class="keyword">CALL </span><a class="code" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a>(iromb,maxwv,idrt,imax,jmax,j,j,</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;     &amp;                      eps,epstop,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;     &amp;                      afft_tmp,clat(j),slat(j),wlat(j),</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;     &amp;                      pln(1,j),plntop(1,j),mp,</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;     &amp;                      w(1,1),wtop(1,1),g(1,1,1),idir)</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;              <span class="keyword">CALL </span><a class="code" href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a>(iromb,maxwv,idrt,imax,jmax,j,j,</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;     &amp;                      eps,epstop,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;     &amp;                      afft_tmp,clat(j),slat(j),wlat(j),</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;     &amp;                      pln(1,j),plntop(1,j),mp,</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;     &amp;                      w(1,2),wtop(1,2),g(1,1,2),idir)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keywordflow">            ENDIF</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;          <span class="keyword">CALL </span><a class="code" href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9">spuv2dz</a>(iromb,maxwv,enn1,elonn1,eon,eontop,</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;     &amp;                 w(1,1),w(1,2),wtop(1,1),wtop(1,2),</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;     &amp;                 winc(1,1),winc(1,2))</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;          waved(kws+1:kws+2*mx)=waved(kws+1:kws+2*mx)+winc(1:2*mx,1)</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;          wavez(kws+1:kws+2*mx)=wavez(kws+1:kws+2*mx)+winc(1:2*mx,2)</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspdz2uv_8f_html_ae3a4a74c49f78a25425b610743dc0692"><div class="ttname"><a href="spdz2uv_8f.html#ae3a4a74c49f78a25425b610743dc0692">spdz2uv</a></div><div class="ttdeci">subroutine spdz2uv(I, M, ENN1, ELONN1, EON, EONTOP, D, Z, U, V, UTOP, VTOP)</div><div class="ttdoc">Computes the wind components from divergence and vorticity in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spdz2uv_8f_source.html#l00048">spdz2uv.f:49</a></div></div>
+<div class="ttc" id="asptranf0_8f_html_aaf9f9002ccd7074dc04dbc40a5aad9f0"><div class="ttname"><a href="sptranf0_8f.html#aaf9f9002ccd7074dc04dbc40a5aad9f0">sptranf0</a></div><div class="ttdeci">subroutine sptranf0(IROMB, MAXWV, IDRT, IMAX, JMAX, JB, JE, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP, AFFT, CLAT, SLAT, WLAT, PLN, PLNTOP)</div><div class="ttdoc">This subprogram performs an initialization for subprogram sptranf().</div><div class="ttdef"><b>Definition:</b> <a href="sptranf0_8f_source.html#l00034">sptranf0.f:37</a></div></div>
+<div class="ttc" id="asptranf1_8f_html_ad7cec2fd6729ca84b1fac3436f9730e6"><div class="ttname"><a href="sptranf1_8f.html#ad7cec2fd6729ca84b1fac3436f9730e6">sptranf1</a></div><div class="ttdeci">subroutine sptranf1(IROMB, MAXWV, IDRT, IMAX, JMAX, JB, JE, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP, AFFT, CLAT, SLAT, WLAT, PLN, PLNTOP, MP, W, WTOP, G, IDIR)</div><div class="ttdoc">This subprogram performs an single latitude transform for subprogram sptranf().</div><div class="ttdef"><b>Definition:</b> <a href="sptranf1_8f_source.html#l00040">sptranf1.f:44</a></div></div>
+<div class="ttc" id="asptranfv_8f_html_a1a7aabbd358d4fe984dac6813c98b106"><div class="ttname"><a href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv</a></div><div class="ttdeci">subroutine sptranfv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranfv_8f_source.html#l00080">sptranfv.f:83</a></div></div>
+<div class="ttc" id="aspuv2dz_8f_html_a27edc2d10e0a76a45e4aaae58bf018b9"><div class="ttname"><a href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9">spuv2dz</a></div><div class="ttdeci">subroutine spuv2dz(I, M, ENN1, ELONN1, EON, EONTOP, U, V, UTOP, VTOP, D, Z)</div><div class="ttdoc">Computes the divergence and vorticity from wind components in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spuv2dz_8f_source.html#l00048">spuv2dz.f:49</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranfv_8f.html">sptranfv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranv_8f.html b/sptranv_8f.html
new file mode 100644
index 00000000..c9f687ed
--- /dev/null
+++ b/sptranv_8f.html
@@ -0,0 +1,349 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptranv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Perform a vector spherical transform.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptranv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a7d6aaa3ed70df1dfaf8dd4443b7190c1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a> (IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</td></tr>
+<tr class="memdesc:a7d6aaa3ed70df1dfaf8dd4443b7190c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs a spherical transform between spectral coefficients of divergences and curls and vector fields on a global cylindrical grid.  <a href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">More...</a><br /></td></tr>
+<tr class="separator:a7d6aaa3ed70df1dfaf8dd4443b7190c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Perform a vector spherical transform. </p>
+<h3><a class="anchor" id="autotoc_md69"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-02-29   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1998-12-15   </td><td class="markdownTableBodyNone">IREDELL   </td><td class="markdownTableBodyNone">Generic fft used, openmp directives inserted   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptranv_8f_source.html">sptranv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a7d6aaa3ed70df1dfaf8dd4443b7190c1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7d6aaa3ed70df1dfaf8dd4443b7190c1">&#9670;&nbsp;</a></span>sptranv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptranv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JNSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KWSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JBEG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JEND</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVED</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>WAVEZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDUN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDUS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDVN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDVS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram performs a spherical transform between spectral coefficients of divergences and curls and vector fields on a global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid. the wave and grid fields may have general indexing, but each wave field is in sequential 'ibm order', i.e. with zonal wavenumber as the slower index.</p>
+<p>Transforms are done in latitude pairs for efficiency; thus grid arrays for each hemisphere must be passed. If so requested, just a subset of the latitude pairs may be transformed in each invocation of the subprogram.</p>
+<p>The transforms are all multiprocessed over latitude except the transform from fourier to spectral is multiprocessed over zonal wavenumber to ensure reproducibility.</p>
+<p>Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRT</td><td>GRID IDENTIFIER<ul>
+<li>IDRT=4 FOR GAUSSIAN GRID,</li>
+<li>IDRT=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</li>
+<li>IDRT=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAX</td><td>EVEN NUMBER OF LONGITUDES. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAX</td><td>NUMBER OF LATITUDES. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>NUMBER OF FIELDS TO TRANSFORM. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IPRIME</td><td>LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ISKIP</td><td>SKIP NUMBER BETWEEN LONGITUDES (DEFAULTS TO 1 IF ISKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JNSKIP</td><td>SKIP NUMBER BETWEEN N.H. LATITUDES FROM NORTH (DEFAULTS TO IMAX IF JNSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JSSKIP</td><td>SKIP NUMBER BETWEEN S.H. LATITUDES FROM SOUTH (DEFAULTS TO -IMAX IF JSSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KWSKIP</td><td>SKIP NUMBER BETWEEN WAVE FIELDS (DEFAULTS TO (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KGSKIP</td><td>SKIP NUMBER BETWEEN GRID FIELDS (DEFAULTS TO IMAX*JMAX IF KGSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JBEG</td><td>LATITUDE INDEX (FROM POLE) TO BEGIN TRANSFORM<ul>
+<li>DEFAULTS TO 1 IF JBEG=0</li>
+<li>IF JBEG=0 AND IDIR&lt;0, WAVE IS ZEROED BEFORE TRANSFORM </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JEND</td><td>LATITUDE INDEX (FROM POLE) TO END TRANSFORM (DEFAULTS TO (JMAX+1)/2 IF JEND=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JCPU</td><td>NUMBER OF CPUS OVER WHICH TO MULTIPROCESS </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVED</td><td>(*) WAVE DIVERGENCE FIELDS IF IDIR&gt;0 [WAVED=(D(GRIDU)/DLAM+D(CLAT*GRIDV)/DPHI)/(CLAT*RERTH)] </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">WAVEZ</td><td>(*) WAVE VORTICITY FIELDS IF IDIR&gt;0 [WAVEZ=(D(GRIDV)/DLAM-D(CLAT*GRIDU)/DPHI)/(CLAT*RERTH)] </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDUN</td><td>N.H. GRID U-WINDS (STARTING AT JBEG) IF IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDUS</td><td>S.H. GRID U-WINDS (STARTING AT JBEG) IF IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDVN</td><td>N.H. GRID V-WINDS (STARTING AT JBEG) IF IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GRIDVS</td><td>S.H. GRID V-WINDS (STARTING AT JBEG) IF IDIR&lt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDIR</td><td>TRANSFORM FLAG<ul>
+<li>IDIR&gt;0 FOR WAVE TO GRID,</li>
+<li>IDIR&lt;0 FOR GRID TO WAVE </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="sptranv_8f_source.html#l00087">87</a> of file <a class="el" href="sptranv_8f_source.html">sptranv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, and <a class="el" href="sptranfv_8f_source.html#l00083">sptranfv()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptrand_8f_source.html#l00092">sptrand()</a>, <a class="el" href="sptrungv_8f_source.html#l00085">sptrungv()</a>, <a class="el" href="sptrunmv_8f_source.html#l00096">sptrunmv()</a>, <a class="el" href="sptrunsv_8f_source.html#l00094">sptrunsv()</a>, and <a class="el" href="sptrunv_8f_source.html#l00096">sptrunv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranv_8f.html">sptranv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptranv_8f.js b/sptranv_8f.js
new file mode 100644
index 00000000..ef79c537
--- /dev/null
+++ b/sptranv_8f.js
@@ -0,0 +1,4 @@
+var sptranv_8f =
+[
+    [ "sptranv", "sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1", null ]
+];
\ No newline at end of file
diff --git a/sptranv_8f_source.html b/sptranv_8f_source.html
new file mode 100644
index 00000000..b0ac5987
--- /dev/null
+++ b/sptranv_8f_source.html
@@ -0,0 +1,228 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptranv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptranv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptranv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptranv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Perform a vector spherical transform.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; ### Program History Log</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Date | Programmer | Comments</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; -----|------------|---------</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; 96-02-29 | IREDELL | Initial.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; 1998-12-15 | IREDELL | Generic fft used, openmp directives inserted</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; This subprogram performs a spherical transform</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; between spectral coefficients of divergences and curls</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; and vector fields on a global cylindrical grid.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; the wave and grid fields may have general indexing,</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; but each wave field is in sequential &#39;ibm order&#39;,</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; i.e. with zonal wavenumber as the slower index.</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; Transforms are done in latitude pairs for efficiency;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; thus grid arrays for each hemisphere must be passed.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; If so requested, just a subset of the latitude pairs</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; may be transformed in each invocation of the subprogram.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed over latitude except</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; the transform from fourier to spectral is multiprocessed</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; over zonal wavenumber to ensure reproducibility.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param IROMB SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param MAXWV SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @param IDRT  GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; - IDRT=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; - IDRT=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; - IDRT=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; @param IMAX EVEN NUMBER OF LONGITUDES.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; @param JMAX NUMBER OF LATITUDES.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param KMAX NUMBER OF FIELDS TO TRANSFORM.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param IPRIME LONGITUDE INDEX FOR THE PRIME MERIDIAN.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; (DEFAULTS TO 1 IF IPRIME=0)</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param ISKIP SKIP NUMBER BETWEEN LONGITUDES</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; (DEFAULTS TO 1 IF ISKIP=0)</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param JNSKIP SKIP NUMBER BETWEEN N.H. LATITUDES FROM NORTH</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; (DEFAULTS TO IMAX IF JNSKIP=0)</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param JSSKIP SKIP NUMBER BETWEEN S.H. LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; (DEFAULTS TO -IMAX IF JSSKIP=0)</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param KWSKIP SKIP NUMBER BETWEEN WAVE FIELDS</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; (DEFAULTS TO (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=0)</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param KGSKIP SKIP NUMBER BETWEEN GRID FIELDS</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; (DEFAULTS TO IMAX*JMAX IF KGSKIP=0)</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; @param JBEG LATITUDE INDEX (FROM POLE) TO BEGIN TRANSFORM</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; - DEFAULTS TO 1 IF JBEG=0</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; - IF JBEG=0 AND IDIR&lt;0, WAVE IS ZEROED BEFORE TRANSFORM</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt; @param JEND LATITUDE INDEX (FROM POLE) TO END TRANSFORM</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; (DEFAULTS TO (JMAX+1)/2 IF JEND=0)</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; @param JCPU NUMBER OF CPUS OVER WHICH TO MULTIPROCESS</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt; @param[out] WAVED (*) WAVE DIVERGENCE FIELDS IF IDIR&gt;0</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt; [WAVED=(D(GRIDU)/DLAM+D(CLAT*GRIDV)/DPHI)/(CLAT*RERTH)]</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt; @param[out] WAVEZ (*) WAVE VORTICITY FIELDS IF IDIR&gt;0</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C&gt; [WAVEZ=(D(GRIDV)/DLAM-D(CLAT*GRIDU)/DPHI)/(CLAT*RERTH)]</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C&gt; @param[out] GRIDUN N.H. GRID U-WINDS (STARTING AT JBEG) IF IDIR&lt;0</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">C&gt; @param[out] GRIDUS S.H. GRID U-WINDS (STARTING AT JBEG) IF IDIR&lt;0</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">C&gt; @param[out] GRIDVN N.H. GRID V-WINDS (STARTING AT JBEG) IF IDIR&lt;0</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">C&gt; @param[out] GRIDVS S.H. GRID V-WINDS (STARTING AT JBEG) IF IDIR&lt;0</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C&gt; @param IDIR TRANSFORM FLAG</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">C&gt; - IDIR&gt;0 FOR WAVE TO GRID,</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">C&gt; - IDIR&lt;0 FOR GRID TO WAVE</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">   87</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a>(IROMB,MAXWV,IDRT,IMAX,JMAX,KMAX,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;     &amp;                   IPRIME,ISKIP,JNSKIP,JSSKIP,KWSKIP,KGSKIP,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;     &amp;                   JBEG,JEND,JCPU,</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;     &amp;                   WAVED,WAVEZ,GRIDUN,GRIDUS,GRIDVN,GRIDVS,IDIR)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">      REAL</span> WAVED(*),WAVEZ(*),GRIDUN(*),GRIDUS(*),GRIDVN(*),GRIDVS(*)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      MX=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      ip=iprime</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      is=iskip</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      jn=jnskip</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      js=jsskip</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      kw=kwskip</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      kg=kgskip</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      jb=jbeg</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      je=jend</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      <span class="keywordflow">IF</span>(ip.EQ.0) ip=1</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keywordflow">IF</span>(is.EQ.0) is=1</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imax</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keywordflow">IF</span>(js.EQ.0) js=-jn</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keywordflow">IF</span>(kw.EQ.0) kw=2*mx</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keywordflow">IF</span>(kg.EQ.0) kg=imax*jmax</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keywordflow">IF</span>(jb.EQ.0) jb=1</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keywordflow">IF</span>(je.EQ.0) je=(jmax+1)/2</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keywordflow">IF</span>(idir.LT.0.AND.jbeg.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;          kws=(k-1)*kw</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;          waved(kws+1:kws+2*mx)=0</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;          wavez(kws+1:kws+2*mx)=0</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv</a>(iromb,maxwv,idrt,imax,jmax,kmax,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;     &amp;              ip,is,jn,js,kw,kg,jb,je,jc,</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;     &amp;              waved,wavez,gridun,gridus,gridvn,gridvs,idir)</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptranfv_8f_html_a1a7aabbd358d4fe984dac6813c98b106"><div class="ttname"><a href="sptranfv_8f.html#a1a7aabbd358d4fe984dac6813c98b106">sptranfv</a></div><div class="ttdeci">subroutine sptranfv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IP, IS, JN, JS, KW, KG, JB, JE, JC, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranfv_8f_source.html#l00080">sptranfv.f:83</a></div></div>
+<div class="ttc" id="asptranv_8f_html_a7d6aaa3ed70df1dfaf8dd4443b7190c1"><div class="ttname"><a href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a></div><div class="ttdeci">subroutine sptranv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranv_8f_source.html#l00087">sptranv.f:91</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptranv_8f.html">sptranv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrun_8f.html b/sptrun_8f.html
new file mode 100644
index 00000000..be942950
--- /dev/null
+++ b/sptrun_8f.html
@@ -0,0 +1,317 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrun.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrun_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrun.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Truncate gridded scalar fields.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrun_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a1f04574fbd5018f73b68bd2cd0ffc473"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">sptrun</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRIDI, GRIDO)</td></tr>
+<tr class="memdesc:a1f04574fbd5018f73b68bd2cd0ffc473"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to a possibly different global cylindrical grid.  <a href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">More...</a><br /></td></tr>
+<tr class="separator:a1f04574fbd5018f73b68bd2cd0ffc473"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Truncate gridded scalar fields. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrun_8f_source.html">sptrun.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a1f04574fbd5018f73b68bd2cd0ffc473"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f04574fbd5018f73b68bd2cd0ffc473">&#9670;&nbsp;</a></span>sptrun()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrun </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDO</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to a possibly different global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal. either grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid. the grid fields may have general indexing. the transforms are all multiprocessed. Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<p>Remarks: Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Dimension   </th><th class="markdownTableHeadNone">Linear   </th><th class="markdownTableHeadNone">Quadratic    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>Spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>Spectral truncation </td></tr>
+    <tr><td class="paramname">IDRTI</td><td>Input grid identifier<ul>
+<li>IDRTI=4 for Gaussian grid</li>
+<li>IDRTI=0 for equally-spaced grid including poles</li>
+<li>IDRTI=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">IMAXI</td><td>Even number of input longitudes </td></tr>
+    <tr><td class="paramname">JMAXI</td><td>Number of input latitudes </td></tr>
+    <tr><td class="paramname">IDRTO</td><td>Output grid identifier<ul>
+<li>IDRTO=4 for Gaussian grid</li>
+<li>IDRTO=0 for equally-spaced grid including poles</li>
+<li>IDRTO=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">IMAXO</td><td>Even number of output longitudes </td></tr>
+    <tr><td class="paramname">JMAXO</td><td>Number of output latitudes </td></tr>
+    <tr><td class="paramname">KMAX</td><td>Number of fields to transform </td></tr>
+    <tr><td class="paramname">IPRIME</td><td>Input longitude index for the prime meridian.<ul>
+<li>Defaults to 1 if IPRIME=0</li>
+<li>Output longitude index for prime meridian assumed 1 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">ISKIPI</td><td>Skip number between input longitudes (defaults to 1 if ISKIPI=0) </td></tr>
+    <tr><td class="paramname">JSKIPI</td><td>Skip number between input latitudes from south (defaults to -IMAXI if JSKIPI=0) </td></tr>
+    <tr><td class="paramname">KSKIPI</td><td>Skip number between input grid fields (defaults to IMAXI*JMAXI if KSKIPI=0) </td></tr>
+    <tr><td class="paramname">ISKIPO</td><td>Skip number between output longitudes (defaults to 1 if ISKIPO=0) </td></tr>
+    <tr><td class="paramname">JSKIPO</td><td>Skip number between output latitudes from south (defaults to -IMAXO if JSKIPO=0) </td></tr>
+    <tr><td class="paramname">KSKIPO</td><td>Skip number between output grid fields (defaults to IMAXO*JMAXO if KSKIPO=0) </td></tr>
+    <tr><td class="paramname">JCPU</td><td>Number of CPUs over which to multiprocess (defaults to environment NCPUS if JCPU=0) </td></tr>
+    <tr><td class="paramname">GRIDI</td><td>Input grid fields </td></tr>
+    <tr><td class="paramname">GRIDO</td><td>Output grid fields (may overlay input fields if grid shape is appropriate)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptrun_8f_source.html#l00055">55</a> of file <a class="el" href="sptrun_8f_source.html">sptrun.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, and <a class="el" href="sptran_8f_source.html#l00088">sptran()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l00561">spectral_interp_mod::polates4::polates4_grib1()</a>, and <a class="el" href="spectral__interp__mod_8F90_source.html#l00258">spectral_interp_mod::polates4::polates4_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrun_8f.html">sptrun.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrun_8f.js b/sptrun_8f.js
new file mode 100644
index 00000000..0409c09b
--- /dev/null
+++ b/sptrun_8f.js
@@ -0,0 +1,4 @@
+var sptrun_8f =
+[
+    [ "sptrun", "sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473", null ]
+];
\ No newline at end of file
diff --git a/sptrun_8f_source.html b/sptrun_8f_source.html
new file mode 100644
index 00000000..89f40431
--- /dev/null
+++ b/sptrun_8f_source.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrun.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrun_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrun.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrun_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Truncate gridded scalar fields</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram spectrally truncates scalar fields on a global</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; cylindrical grid, returning the fields to a possibly different</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; global cylindrical grid. The wave-space can be either triangular</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; or rhomboidal. either grid-space can be either an equally-spaced</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; grid (with or without pole points) or a Gaussian grid. the grid</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; fields may have general indexing. the transforms are all</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; multiprocessed. Transform several fields at a time to improve</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; vectorization. Subprogram can be called from a multiprocessing</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; environment.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; Remarks: Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;   Dimension                 |  Linear       |     Quadratic</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;   -----------------------   |  ---------    |     -------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;   IMAX                      |  2*MAXWV+2    |     3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=0)     |  1*MAXWV+1    |     3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=1)     |  2*MAXWV+1    |     5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=0)     |  2*MAXWV+3    |     3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=1)     |  4*MAXWV+3    |     5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=0)   |  2*MAXWV+1    |     3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=1)   |  4*MAXWV+1    |     5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param IROMB Spectral domain shape (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param MAXWV Spectral truncation</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param IDRTI Input grid identifier</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;  - IDRTI=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt;  - IDRTI=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt;  - IDRTI=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param IMAXI Even number of input longitudes</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param JMAXI Number of input latitudes</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param IDRTO Output grid identifier</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;  - IDRTO=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt;  - IDRTO=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt;  - IDRTO=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param IMAXO Even number of output longitudes</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param JMAXO Number of output latitudes</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param KMAX Number of fields to transform</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param IPRIME Input longitude index for the prime meridian.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;  - Defaults to 1 if IPRIME=0</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt;  - Output longitude index for prime meridian assumed 1</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param ISKIPI Skip number between input longitudes (defaults to 1 if ISKIPI=0)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param JSKIPI Skip number between input latitudes from south (defaults to -IMAXI if JSKIPI=0)</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param KSKIPI Skip number between input grid fields (defaults to IMAXI*JMAXI if KSKIPI=0)</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param ISKIPO Skip number between output longitudes (defaults to 1 if ISKIPO=0)</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param JSKIPO Skip number between output latitudes from south (defaults to -IMAXO if JSKIPO=0)</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param KSKIPO Skip number between output grid fields (defaults to IMAXO*JMAXO if KSKIPO=0)</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @param JCPU Number of CPUs over which to multiprocess (defaults to environment NCPUS if JCPU=0)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param GRIDI Input grid fields</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param GRIDO Output grid fields (may overlay input fields if grid shape is appropriate)</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">   55</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">sptrun</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,IDRTO,IMAXO,JMAXO,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;     &amp;                  KMAX,IPRIME,ISKIPI,JSKIPI,KSKIPI,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;     &amp;                  ISKIPO,JSKIPO,KSKIPO,JCPU,GRIDI,GRIDO)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keywordtype">      REAL</span> GRIDI(*),GRIDO(*)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      <span class="keywordtype">REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;     &amp;            iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;     &amp;            w,gridi(inp),gridi(isp),-1)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      jn=-jskipo</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxo</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      inp=(jmaxo-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      isp=(jmaxo-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrto,imaxo,jmaxo,kmax,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;     &amp;            0,iskipo,jn,js,mdim,kskipo,0,0,jc,</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;     &amp;            w,grido(inp),grido(isp),1)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptran_8f_html_af7610e42f0dcd199b8cf80f851dcfed0"><div class="ttname"><a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a></div><div class="ttdeci">subroutine sptran(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptran_8f_source.html#l00084">sptran.f:88</a></div></div>
+<div class="ttc" id="asptrun_8f_html_a1f04574fbd5018f73b68bd2cd0ffc473"><div class="ttname"><a href="sptrun_8f.html#a1f04574fbd5018f73b68bd2cd0ffc473">sptrun</a></div><div class="ttdeci">subroutine sptrun(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRIDI, GRIDO)</div><div class="ttdoc">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrun_8f_source.html#l00055">sptrun.f:58</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrun_8f.html">sptrun.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrund_8f.html b/sptrund_8f.html
new file mode 100644
index 00000000..d02110c0
--- /dev/null
+++ b/sptrund_8f.html
@@ -0,0 +1,318 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrund.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrund_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrund.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Spectrally truncate to gradients.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrund_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a2636d99e658dfabd4b85f15a76fca480"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480">sptrund</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRID, GRIDMN, GRIDX, GRIDY)</td></tr>
+<tr class="memdesc:a2636d99e658dfabd4b85f15a76fca480"><td class="mdescLeft">&#160;</td><td class="mdescRight">THIS SUBPROGRAM SPECTRALLY TRUNCATES SCALAR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THEIR MEANS AND GRADIENTS TO A POSSIBLY DIFFERENT GLOBAL CYLINDRICAL GRID.  <a href="sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480">More...</a><br /></td></tr>
+<tr class="separator:a2636d99e658dfabd4b85f15a76fca480"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Spectrally truncate to gradients. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrund_8f_source.html">sptrund.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a2636d99e658dfabd4b85f15a76fca480"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2636d99e658dfabd4b85f15a76fca480">&#9670;&nbsp;</a></span>sptrund()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrund </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRID</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>GRIDMN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDY</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>THIS SUBPROGRAM SPECTRALLY TRUNCATES SCALAR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THEIR MEANS AND GRADIENTS TO A POSSIBLY DIFFERENT GLOBAL CYLINDRICAL GRID. </p>
+<p>THE WAVE-SPACE CAN BE EITHER TRIANGULAR OR RHOMBOIDAL. EITHER GRID-SPACE CAN BE EITHER AN EQUALLY-SPACED GRID (WITH OR WITHOUT POLE POINTS) OR A GAUSSIAN GRID. THE GRID FIELDS MAY HAVE GENERAL INDEXING. THE TRANSFORMS ARE ALL MULTIPROCESSED. OVER ZONAL WAVENUMBER TO ENSURE REPRODUCIBILITY. TRANSFORM SEVERAL FIELDS AT A TIME TO IMPROVE VECTORIZATION. SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>- INTEGER SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramname">IDRTI</td><td>- INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXI</td><td>- INTEGER EVEN NUMBER OF INPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXI</td><td>- INTEGER NUMBER OF INPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">IDRTO</td><td>- INTEGER OUTPUT GRID IDENTIFIER (IDRTO=4 FOR GAUSSIAN GRID, IDRTO=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTO=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXO</td><td>- INTEGER EVEN NUMBER OF OUTPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXO</td><td>- INTEGER NUMBER OF OUTPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">KMAX</td><td>- INTEGER NUMBER OF FIELDS TO TRANSFORM. </td></tr>
+    <tr><td class="paramname">IPRIME</td><td>- INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.) </td></tr>
+    <tr><td class="paramname">ISKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0) </td></tr>
+    <tr><td class="paramname">JSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0) </td></tr>
+    <tr><td class="paramname">KSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0) </td></tr>
+    <tr><td class="paramname">ISKIPO</td><td>- INTEGER SKIP NUMBER BETWEEN OUTPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPO=0) </td></tr>
+    <tr><td class="paramname">JSKIPO</td><td>- INTEGER SKIP NUMBER BETWEEN OUTPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXO IF JSKIPO=0) </td></tr>
+    <tr><td class="paramname">KSKIPO</td><td>- INTEGER SKIP NUMBER BETWEEN OUTPUT GRID FIELDS (DEFAULTS TO IMAXO*JMAXO IF KSKIPO=0) </td></tr>
+    <tr><td class="paramname">JCPU</td><td>- INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) </td></tr>
+    <tr><td class="paramname">GRID</td><td>- REAL (*) INPUT GRID FIELDS </td></tr>
+    <tr><td class="paramname">GRIDMN</td><td>- REAL (KMAX) OUTPUT GLOBAL MEANS </td></tr>
+    <tr><td class="paramname">GRIDX</td><td>- REAL (*) OUTPUT X-GRADIENTS </td></tr>
+    <tr><td class="paramname">GRIDY</td><td>- REAL (*) OUTPUT Y-GRADIENTS</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>SUBPROGRAMS CALLED:</p><ul>
+<li>SPTRAN PERFORM A SCALAR SPHERICAL TRANSFORM</li>
+<li>SPTRAND PERFORM A GRADIENT SPHERICAL TRANSFORM</li>
+<li>NCPUS GETS ENVIRONMENT NUMBER OF CPUS</li>
+</ul>
+<p>REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="sptrund_8f_source.html#l00071">71</a> of file <a class="el" href="sptrund_8f_source.html">sptrund.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, <a class="el" href="sptran_8f_source.html#l00088">sptran()</a>, and <a class="el" href="sptrand_8f_source.html#l00092">sptrand()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrund_8f.html">sptrund.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrund_8f.js b/sptrund_8f.js
new file mode 100644
index 00000000..20c45793
--- /dev/null
+++ b/sptrund_8f.js
@@ -0,0 +1,4 @@
+var sptrund_8f =
+[
+    [ "sptrund", "sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480", null ]
+];
\ No newline at end of file
diff --git a/sptrund_8f_source.html b/sptrund_8f_source.html
new file mode 100644
index 00000000..9400222f
--- /dev/null
+++ b/sptrund_8f_source.html
@@ -0,0 +1,208 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrund.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrund_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrund.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrund_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; Spectrally truncate to gradients</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; THIS SUBPROGRAM SPECTRALLY TRUNCATES SCALAR FIELDS</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; ON A GLOBAL CYLINDRICAL GRID, RETURNING THEIR MEANS AND</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; GRADIENTS TO A POSSIBLY DIFFERENT GLOBAL CYLINDRICAL GRID.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; THE WAVE-SPACE CAN BE EITHER TRIANGULAR OR RHOMBOIDAL.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; EITHER GRID-SPACE CAN BE EITHER AN EQUALLY-SPACED GRID</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; (WITH OR WITHOUT POLE POINTS) OR A GAUSSIAN GRID.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; THE GRID FIELDS MAY HAVE GENERAL INDEXING.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; THE TRANSFORMS ARE ALL MULTIPROCESSED.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; OVER ZONAL WAVENUMBER TO ENSURE REPRODUCIBILITY.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; TRANSFORM SEVERAL FIELDS AT A TIME TO IMPROVE VECTORIZATION.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param IROMB    - INTEGER SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;                (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; @param MAXWV    - INTEGER SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param IDRTI    - INTEGER INPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;                (IDRTI=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;                 IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt;                 IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param IMAXI    - INTEGER EVEN NUMBER OF INPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param JMAXI    - INTEGER NUMBER OF INPUT LATITUDES.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param IDRTO    - INTEGER OUTPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;                (IDRTO=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;                 IDRTO=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt;                 IDRTO=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param IMAXO    - INTEGER EVEN NUMBER OF OUTPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param JMAXO    - INTEGER NUMBER OF OUTPUT LATITUDES.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param KMAX     - INTEGER NUMBER OF FIELDS TO TRANSFORM.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param IPRIME   - INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF IPRIME=0)</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt;                (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.)</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param ISKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPI=0)</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param JSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXI IF JSKIPI=0)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param KSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0)</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param ISKIPO   - INTEGER SKIP NUMBER BETWEEN OUTPUT LONGITUDES</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPO=0)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param JSKIPO   - INTEGER SKIP NUMBER BETWEEN OUTPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXO IF JSKIPO=0)</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param KSKIPO   - INTEGER SKIP NUMBER BETWEEN OUTPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXO*JMAXO IF KSKIPO=0)</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param JCPU     - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param GRID     - REAL (*) INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param GRIDMN   - REAL (KMAX) OUTPUT GLOBAL MEANS</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; @param GRIDX    - REAL (*) OUTPUT X-GRADIENTS</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; @param GRIDY    - REAL (*) OUTPUT Y-GRADIENTS</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; SUBPROGRAMS CALLED:</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt;   - SPTRAN       PERFORM A SCALAR SPHERICAL TRANSFORM</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt;   - SPTRAND      PERFORM A GRADIENT SPHERICAL TRANSFORM</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt;   - NCPUS        GETS ENVIRONMENT NUMBER OF CPUS</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL:</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt;   DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt;   -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt;   IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480">   71</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480">sptrund</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;     &amp;                   IDRTO,IMAXO,JMAXO,KMAX,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;     &amp;                   IPRIME,ISKIPI,JSKIPI,KSKIPI,</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;     &amp;                   ISKIPO,JSKIPO,KSKIPO,JCPU,GRID,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;     &amp;                   GRIDMN,GRIDX,GRIDY)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keywordtype">      REAL</span> GRID(*),GRIDX(*),GRIDY(*)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keywordtype">REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;     &amp;            iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;     &amp;            w,grid(inp),grid(isp),-1)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT GRADIENTS</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      jn=-jskipo</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxo</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      inp=(jmaxo-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      isp=(jmaxo-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand</a>(iromb,maxwv,idrto,imaxo,jmaxo,kmax,</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;     &amp;             0,iskipo,jn,js,mdim,kskipo,0,0,jc,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;     &amp;             w,gridmn,</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;     &amp;             gridx(inp),gridx(isp),gridy(inp),gridy(isp),1)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptran_8f_html_af7610e42f0dcd199b8cf80f851dcfed0"><div class="ttname"><a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a></div><div class="ttdeci">subroutine sptran(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptran_8f_source.html#l00084">sptran.f:88</a></div></div>
+<div class="ttc" id="asptrand_8f_html_ae810abad32bcbdfb8345a30e50bcc1ef"><div class="ttname"><a href="sptrand_8f.html#ae810abad32bcbdfb8345a30e50bcc1ef">sptrand</a></div><div class="ttdeci">subroutine sptrand(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDMN, GRIDXN, GRIDXS, GRIDYN, GRIDYS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar fields and the...</div><div class="ttdef"><b>Definition:</b> <a href="sptrand_8f_source.html#l00088">sptrand.f:92</a></div></div>
+<div class="ttc" id="asptrund_8f_html_a2636d99e658dfabd4b85f15a76fca480"><div class="ttname"><a href="sptrund_8f.html#a2636d99e658dfabd4b85f15a76fca480">sptrund</a></div><div class="ttdeci">subroutine sptrund(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRID, GRIDMN, GRIDX, GRIDY)</div><div class="ttdoc">THIS SUBPROGRAM SPECTRALLY TRUNCATES SCALAR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THEIR MEAN...</div><div class="ttdef"><b>Definition:</b> <a href="sptrund_8f_source.html#l00071">sptrund.f:76</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrund_8f.html">sptrund.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrung_8f.html b/sptrung_8f.html
new file mode 100644
index 00000000..15472f58
--- /dev/null
+++ b/sptrung_8f.html
@@ -0,0 +1,306 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrung.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrung_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrung.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Spectrally interpolate scalars to stations.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrung_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:af41b64dad4789617a315515ef885912c"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">sptrung</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NRSKIP, NGSKIP, JCPU, RLAT, RLON, GRIDI, GP)</td></tr>
+<tr class="memdesc:af41b64dad4789617a315515ef885912c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to specified sets of station points on the globe.  <a href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">More...</a><br /></td></tr>
+<tr class="separator:af41b64dad4789617a315515ef885912c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Spectrally interpolate scalars to stations. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrung_8f_source.html">sptrung.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="af41b64dad4789617a315515ef885912c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af41b64dad4789617a315515ef885912c">&#9670;&nbsp;</a></span>sptrung()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrung </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NRSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to specified sets of station points on the globe. </p>
+<p>The wave-space can be either triangular or rhomboidal. The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid. The grid and point fields may have general indexing. The transforms are all multiprocessed. Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">IROMB</td><td>- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">MAXWV</td><td>- INTEGER SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IDRTI</td><td>- INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IMAXI</td><td>- INTEGER EVEN NUMBER OF INPUT LONGITUDES. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JMAXI</td><td>- INTEGER NUMBER OF INPUT LATITUDES. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KMAX</td><td>- INTEGER NUMBER OF FIELDS TO TRANSFORM. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">NMAX</td><td>- INTEGER NUMBER OF STATION POINTS TO RETURN </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">IPRIME</td><td>- INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ISKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">KGSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN STATION POINT SETS (DEFAULTS TO NMAX IF KGSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">NRSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN STATION LATS AND LONS (DEFAULTS TO 1 IF NRSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">NGSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN STATION POINTS (DEFAULTS TO 1 IF NGSKIP=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">RLAT</td><td>- REAL (*) STATION LATITUDES IN DEGREES </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">RLON</td><td>- REAL (*) STATION LONGITUDES IN DEGREES </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">JCPU</td><td>- INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">GRIDI</td><td>- REAL (*) INPUT GRID FIELDS </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GP</td><td>- REAL (*) STATION POINT SETS</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>SUBPROGRAMS CALLED:</p><ul>
+<li><a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptran()</a> Perform a scalar spherical transform</li>
+<li><a class="el" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1" title="This subprogram performs a spherical transform from spectral coefficients of scalar quantities to spe...">sptgpt()</a> Transform spectral scalar to station points</li>
+<li><a class="el" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd" title="Set number of CPUs - the number of processors over which to parallelize.">ncpus()</a> Gets environment number of cpus</li>
+</ul>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="sptrung_8f_source.html#l00065">65</a> of file <a class="el" href="sptrung_8f_source.html">sptrung.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, <a class="el" href="sptgpt_8f_source.html#l00051">sptgpt()</a>, and <a class="el" href="sptran_8f_source.html#l00088">sptran()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l00561">spectral_interp_mod::polates4::polates4_grib1()</a>, and <a class="el" href="spectral__interp__mod_8F90_source.html#l00258">spectral_interp_mod::polates4::polates4_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrung_8f.html">sptrung.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrung_8f.js b/sptrung_8f.js
new file mode 100644
index 00000000..2105f854
--- /dev/null
+++ b/sptrung_8f.js
@@ -0,0 +1,4 @@
+var sptrung_8f =
+[
+    [ "sptrung", "sptrung_8f.html#af41b64dad4789617a315515ef885912c", null ]
+];
\ No newline at end of file
diff --git a/sptrung_8f_source.html b/sptrung_8f_source.html
new file mode 100644
index 00000000..292f2034
--- /dev/null
+++ b/sptrung_8f_source.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrung.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrung_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrung.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrung_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; Spectrally interpolate scalars to stations</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; This subprogram spectrally truncates scalar fields on a global</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; cylindrical grid, returning the fields to specified sets of</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; station points on the globe. The wave-space can be either</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; triangular or rhomboidal. The grid-space can be either an</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; equally-spaced grid (with or without pole points) or a Gaussian</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; grid. The grid and point fields may have general indexing. The</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; transforms are all multiprocessed. Transform several fields at a</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; time to improve vectorization. Subprogram can be called from a</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; multiprocessing environment.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @param IROMB    - INTEGER SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;                (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param MAXWV    - INTEGER SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param IDRTI    - INTEGER INPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;                (IDRTI=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;                 IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;                 IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param IMAXI    - INTEGER EVEN NUMBER OF INPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param JMAXI    - INTEGER NUMBER OF INPUT LATITUDES.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param KMAX     - INTEGER NUMBER OF FIELDS TO TRANSFORM.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param NMAX     - INTEGER NUMBER OF STATION POINTS TO RETURN</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param IPRIME   - INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF IPRIME=0)</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;                (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.)</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param ISKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPI=0)</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param JSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXI IF JSKIPI=0)</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; @param KSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0)</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param KGSKIP   - INTEGER SKIP NUMBER BETWEEN STATION POINT SETS</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO NMAX IF KGSKIP=0)</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param NRSKIP   - INTEGER SKIP NUMBER BETWEEN STATION LATS AND LONS</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF NRSKIP=0)</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param NGSKIP   - INTEGER SKIP NUMBER BETWEEN STATION POINTS</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF NGSKIP=0)</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param RLAT     - REAL (*) STATION LATITUDES IN DEGREES</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param RLON     - REAL (*) STATION LONGITUDES IN DEGREES</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param JCPU     - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0)</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param GRIDI    - REAL (*) INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param[out] GP  - REAL (*) STATION POINT SETS</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; SUBPROGRAMS CALLED:</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; - sptran()       Perform a scalar spherical transform</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; - sptgpt()       Transform spectral scalar to station points</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; - ncpus()        Gets environment number of cpus</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt;   DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt;   -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt;   IMAX                         | 2*MAXWV+2          | 3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=0)        | 1*MAXWV+1          | 3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=1)        | 2*MAXWV+1          | 5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=0)        | 2*MAXWV+3          | 3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=1)        | 4*MAXWV+3          | 5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=0)      | 2*MAXWV+1          | 3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=1)      | 4*MAXWV+1          | 5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">   65</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">sptrung</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,KMAX,NMAX,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;     &amp;     IPRIME,ISKIPI,JSKIPI,KSKIPI,KGSKIP,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;     &amp;     NRSKIP,NGSKIP,JCPU,RLAT,RLON,GRIDI,GP)</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keywordtype">      REAL</span> RLAT(*),RLON(*),GRIDI(*),GP(*)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keywordtype">REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;     &amp;     iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;     &amp;     w,gridi(inp),gridi(isp),-1)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a>(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;     &amp;     rlat,rlon,w,gp)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptgpt_8f_html_a1b8d333bcc601e5b7e8d3dd1369f54b1"><div class="ttname"><a href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a></div><div class="ttdeci">subroutine sptgpt(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVE, GP)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to spe...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpt_8f_source.html#l00048">sptgpt.f:51</a></div></div>
+<div class="ttc" id="asptran_8f_html_af7610e42f0dcd199b8cf80f851dcfed0"><div class="ttname"><a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a></div><div class="ttdeci">subroutine sptran(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptran_8f_source.html#l00084">sptran.f:88</a></div></div>
+<div class="ttc" id="asptrung_8f_html_af41b64dad4789617a315515ef885912c"><div class="ttname"><a href="sptrung_8f.html#af41b64dad4789617a315515ef885912c">sptrung</a></div><div class="ttdeci">subroutine sptrung(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NRSKIP, NGSKIP, JCPU, RLAT, RLON, GRIDI, GP)</div><div class="ttdoc">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrung_8f_source.html#l00065">sptrung.f:68</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrung_8f.html">sptrung.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrungv_8f.html b/sptrungv_8f.html
new file mode 100644
index 00000000..3da4ee8d
--- /dev/null
+++ b/sptrungv_8f.html
@@ -0,0 +1,376 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrungv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrungv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrungv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Spectrally interpolate vectors to stations.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrungv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ab7bbe6ecde57394b15e5d4925cb07164"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">sptrungv</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NRSKIP, NGSKIP, JCPU, RLAT, RLON, GRIDUI, GRIDVI, LUV, UP, VP, LDZ, DP, ZP, LPS, PP, SP)</td></tr>
+<tr class="memdesc:ab7bbe6ecde57394b15e5d4925cb07164"><td class="mdescLeft">&#160;</td><td class="mdescRight">THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTORS FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS TO SPECIFIED SETS OF STATION POINTS ON THE GLOBE.  <a href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">More...</a><br /></td></tr>
+<tr class="separator:ab7bbe6ecde57394b15e5d4925cb07164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Spectrally interpolate vectors to stations. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrungv_8f_source.html">sptrungv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ab7bbe6ecde57394b15e5d4925cb07164"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab7bbe6ecde57394b15e5d4925cb07164">&#9670;&nbsp;</a></span>sptrungv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrungv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NRSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDUI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDVI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LUV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>UP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LDZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>DP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>ZP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>PP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>SP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTORS FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS TO SPECIFIED SETS OF STATION POINTS ON THE GLOBE. </p>
+<p>THE WAVE-SPACE CAN BE EITHER TRIANGULAR OR RHOMBOIDAL. THE GRID-SPACE CAN BE EITHER AN EQUALLY-SPACED GRID (WITH OR WITHOUT POLE POINTS) OR A GAUSSIAN GRID. THE GRID AND POINT FIELDS MAY HAVE GENERAL INDEXING. THE TRANSFORMS ARE ALL MULTIPROCESSED. TRANSFORM SEVERAL FIELDS AT A TIME TO IMPROVE VECTORIZATION. SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.</p>
+<p>PROGRAM HISTORY LOG:</p><ul>
+<li>96-02-29 IREDELL</li>
+<li>1998-12-15 IREDELL OPENMP DIRECTIVES INSERTED</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>- INTEGER SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramname">IDRTI</td><td>- INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXI</td><td>- INTEGER EVEN NUMBER OF INPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXI</td><td>- INTEGER NUMBER OF INPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">KMAX</td><td>- INTEGER NUMBER OF FIELDS TO TRANSFORM. </td></tr>
+    <tr><td class="paramname">NMAX</td><td>- INTEGER NUMBER OF STATION POINTS TO RETURN </td></tr>
+    <tr><td class="paramname">IPRIME</td><td>- INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.) </td></tr>
+    <tr><td class="paramname">ISKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0) </td></tr>
+    <tr><td class="paramname">JSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0) </td></tr>
+    <tr><td class="paramname">KSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN STATION POINT SETS (DEFAULTS TO NMAX IF KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NRSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN STATION LATS AND LONS (DEFAULTS TO 1 IF NRSKIP=0) </td></tr>
+    <tr><td class="paramname">NGSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN STATION POINTS (DEFAULTS TO 1 IF NGSKIP=0) </td></tr>
+    <tr><td class="paramname">RLAT</td><td>- REAL (*) STATION LATITUDES IN DEGREES </td></tr>
+    <tr><td class="paramname">RLON</td><td>- REAL (*) STATION LONGITUDES IN DEGREES </td></tr>
+    <tr><td class="paramname">JCPU</td><td>- INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) </td></tr>
+    <tr><td class="paramname">GRIDUI</td><td>- REAL (*) INPUT GRID U-WINDS </td></tr>
+    <tr><td class="paramname">GRIDVI</td><td>- REAL (*) INPUT GRID V-WINDS </td></tr>
+    <tr><td class="paramname">LUV</td><td>- LOGICAL FLAG WHETHER TO RETURN WINDS </td></tr>
+    <tr><td class="paramname">LDZ</td><td>- LOGICAL FLAG WHETHER TO RETURN DIVERGENCE AND VORTICITY </td></tr>
+    <tr><td class="paramname">LPS</td><td>- LOGICAL FLAG WHETHER TO RETURN POTENTIAL AND STREAMFCN </td></tr>
+    <tr><td class="paramname">UP</td><td>- REAL (*) STATION U-WINDS IF LUV </td></tr>
+    <tr><td class="paramname">VP</td><td>- REAL (*) STATION V-WINDS IF LUV </td></tr>
+    <tr><td class="paramname">DP</td><td>- REAL (*) STATION DIVERGENCES IF LDZ </td></tr>
+    <tr><td class="paramname">ZP</td><td>- REAL (*) STATION VORTICITIES IF LDZ </td></tr>
+    <tr><td class="paramname">PP</td><td>- REAL (*) STATION POTENTIALS IF LPS </td></tr>
+    <tr><td class="paramname">SP</td><td>- REAL (*) STATION STREAMFCNS IF LPS</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>SUBPROGRAMS CALLED:</p><ul>
+<li>SPWGET GET WAVE-SPACE CONSTANTS</li>
+<li>SPLAPLAC COMPUTE LAPLACIAN IN SPECTRAL SPACE</li>
+<li>SPTRANV PERFORM A VECTOR SPHERICAL TRANSFORM</li>
+<li>SPTGPT TRANSFORM SPECTRAL SCALAR TO STATION POINTS</li>
+<li>SPTGPTV TRANSFORM SPECTRAL VECTOR TO STATION POINTS</li>
+<li>NCPUS GETS ENVIRONMENT NUMBER OF CPUS</li>
+</ul>
+<p>REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="sptrungv_8f_source.html#l00081">81</a> of file <a class="el" href="sptrungv_8f_source.html">sptrungv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, <a class="el" href="splaplac_8f_source.html#l00025">splaplac()</a>, <a class="el" href="sptgpt_8f_source.html#l00051">sptgpt()</a>, <a class="el" href="sptgptv_8f_source.html#l00054">sptgptv()</a>, <a class="el" href="sptranv_8f_source.html#l00091">sptranv()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l01223">spectral_interp_mod::polatev4::polatev4_grib1()</a>, and <a class="el" href="spectral__interp__mod_8F90_source.html#l00891">spectral_interp_mod::polatev4::polatev4_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrungv_8f.html">sptrungv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrungv_8f.js b/sptrungv_8f.js
new file mode 100644
index 00000000..c69c1059
--- /dev/null
+++ b/sptrungv_8f.js
@@ -0,0 +1,4 @@
+var sptrungv_8f =
+[
+    [ "sptrungv", "sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164", null ]
+];
\ No newline at end of file
diff --git a/sptrungv_8f_source.html b/sptrungv_8f_source.html
new file mode 100644
index 00000000..c082002a
--- /dev/null
+++ b/sptrungv_8f_source.html
@@ -0,0 +1,247 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrungv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrungv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrungv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrungv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; Spectrally interpolate vectors to stations</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTORS FIELDS</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;           ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;           TO SPECIFIED SETS OF STATION POINTS ON THE GLOBE.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;           THE WAVE-SPACE CAN BE EITHER TRIANGULAR OR RHOMBOIDAL.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;           THE GRID-SPACE CAN BE EITHER AN EQUALLY-SPACED GRID</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt;           (WITH OR WITHOUT POLE POINTS) OR A GAUSSIAN GRID.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt;           THE GRID AND POINT FIELDS MAY HAVE GENERAL INDEXING.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;           THE TRANSFORMS ARE ALL MULTIPROCESSED.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt;           TRANSFORM SEVERAL FIELDS AT A TIME TO IMPROVE VECTORIZATION.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;           SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; PROGRAM HISTORY LOG:</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; -  96-02-29  IREDELL</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; - 1998-12-15  IREDELL  OPENMP DIRECTIVES INSERTED</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param IROMB    - INTEGER SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;                (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param MAXWV    - INTEGER SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param IDRTI    - INTEGER INPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;                (IDRTI=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt;                 IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt;                 IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param IMAXI    - INTEGER EVEN NUMBER OF INPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param JMAXI    - INTEGER NUMBER OF INPUT LATITUDES.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param KMAX     - INTEGER NUMBER OF FIELDS TO TRANSFORM.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param NMAX     - INTEGER NUMBER OF STATION POINTS TO RETURN</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param IPRIME   - INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF IPRIME=0)</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;                (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param ISKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPI=0)</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param JSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXI IF JSKIPI=0)</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param KSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param KGSKIP   - INTEGER SKIP NUMBER BETWEEN STATION POINT SETS</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO NMAX IF KGSKIP=0)</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param NRSKIP   - INTEGER SKIP NUMBER BETWEEN STATION LATS AND LONS</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF NRSKIP=0)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param NGSKIP   - INTEGER SKIP NUMBER BETWEEN STATION POINTS</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF NGSKIP=0)</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param RLAT     - REAL (*) STATION LATITUDES IN DEGREES</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param RLON     - REAL (*) STATION LONGITUDES IN DEGREES</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param JCPU     - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param GRIDUI   - REAL (*) INPUT GRID U-WINDS</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param GRIDVI   - REAL (*) INPUT GRID V-WINDS</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; @param LUV      - LOGICAL FLAG WHETHER TO RETURN WINDS</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; @param LDZ      - LOGICAL FLAG WHETHER TO RETURN DIVERGENCE AND VORTICITY</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; @param LPS      - LOGICAL FLAG WHETHER TO RETURN POTENTIAL AND STREAMFCN</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param UP       - REAL (*) STATION U-WINDS IF LUV</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param VP       - REAL (*) STATION V-WINDS IF LUV</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param DP       - REAL (*) STATION DIVERGENCES IF LDZ</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param ZP       - REAL (*) STATION VORTICITIES IF LDZ</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; @param PP       - REAL (*) STATION POTENTIALS IF LPS</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param SP       - REAL (*) STATION STREAMFCNS IF LPS</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; SUBPROGRAMS CALLED:</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt;  - SPWGET       GET WAVE-SPACE CONSTANTS</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt;  - SPLAPLAC     COMPUTE LAPLACIAN IN SPECTRAL SPACE</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt;  - SPTRANV      PERFORM A VECTOR SPHERICAL TRANSFORM</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt;  - SPTGPT       TRANSFORM SPECTRAL SCALAR TO STATION POINTS</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt;  - SPTGPTV      TRANSFORM SPECTRAL VECTOR TO STATION POINTS</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt;  - NCPUS        GETS ENVIRONMENT NUMBER OF CPUS</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL:</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt;   DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt;   -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt;   IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">   81</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">sptrungv</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,KMAX,NMAX,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;     &amp;                    IPRIME,ISKIPI,JSKIPI,KSKIPI,KGSKIP,</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;     &amp;                    NRSKIP,NGSKIP,JCPU,RLAT,RLON,GRIDUI,GRIDVI,</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;     &amp;                    LUV,UP,VP,LDZ,DP,ZP,LPS,PP,SP)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      <span class="keywordtype">LOGICAL</span> LUV,LDZ,LPS</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      <span class="keywordtype">REAL</span> RLAT(*),RLON(*),GRIDUI(*),GRIDVI(*)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keywordtype">REAL</span> UP(*),VP(*),DP(*),ZP(*),PP(*),SP(*)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordtype">      REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordtype">      REAL</span> WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordtype">      REAL</span> WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;     &amp;             iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;     &amp;             wd,wz,</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;     &amp;             gridui(inp),gridui(isp),gridvi(inp),gridvi(isp),-1)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT WINDS</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keywordflow">IF</span>(luv) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">sptgptv</a>(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;     &amp;               rlat,rlon,wd,wz,up,vp)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT DIVERGENCE AND VORTICITY</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keywordflow">IF</span>(ldz) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a>(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;     &amp;              rlat,rlon,wd,dp)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a>(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;     &amp;              rlat,rlon,wz,zp)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT POTENTIAL AND STREAMFUNCTION</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <span class="keywordflow">IF</span>(lps) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wd(1,k),wd(1,k),-1)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wz(1,k),wz(1,k),-1)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;          wd(1:2,k)=0.</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;          wz(1:2,k)=0.</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a>(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;     &amp;              rlat,rlon,wd,pp)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a>(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;     &amp;              rlat,rlon,wz,sp)</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+<div class="ttc" id="asptgpt_8f_html_a1b8d333bcc601e5b7e8d3dd1369f54b1"><div class="ttname"><a href="sptgpt_8f.html#a1b8d333bcc601e5b7e8d3dd1369f54b1">sptgpt</a></div><div class="ttdeci">subroutine sptgpt(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVE, GP)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to spe...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpt_8f_source.html#l00048">sptgpt.f:51</a></div></div>
+<div class="ttc" id="asptgptv_8f_html_a9af8a22564d132a887a5237f30710f13"><div class="ttname"><a href="sptgptv_8f.html#a9af8a22564d132a887a5237f30710f13">sptgptv</a></div><div class="ttdeci">subroutine sptgptv(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVED, WAVEZ, UP, VP)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgptv_8f_source.html#l00051">sptgptv.f:54</a></div></div>
+<div class="ttc" id="asptranv_8f_html_a7d6aaa3ed70df1dfaf8dd4443b7190c1"><div class="ttname"><a href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a></div><div class="ttdeci">subroutine sptranv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranv_8f_source.html#l00087">sptranv.f:91</a></div></div>
+<div class="ttc" id="asptrungv_8f_html_ab7bbe6ecde57394b15e5d4925cb07164"><div class="ttname"><a href="sptrungv_8f.html#ab7bbe6ecde57394b15e5d4925cb07164">sptrungv</a></div><div class="ttdeci">subroutine sptrungv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NRSKIP, NGSKIP, JCPU, RLAT, RLON, GRIDUI, GRIDVI, LUV, UP, VP, LDZ, DP, ZP, LPS, PP, SP)</div><div class="ttdoc">THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTORS FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELD...</div><div class="ttdef"><b>Definition:</b> <a href="sptrungv_8f_source.html#l00081">sptrungv.f:85</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrungv_8f.html">sptrungv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunl_8f.html b/sptrunl_8f.html
new file mode 100644
index 00000000..ed3e4750
--- /dev/null
+++ b/sptrunl_8f.html
@@ -0,0 +1,316 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunl.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunl_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrunl.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Spectrally truncate to laplacian.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrunl_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a52c4250d24e52304e49aa1d82a93bdb8"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8">sptrunl</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, IDIR, GRIDI, GRIDO)</td></tr>
+<tr class="memdesc:a52c4250d24e52304e49aa1d82a93bdb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">THIS SUBPROGRAM SPECTRALLY TRUNCATES SCALAR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THEIR LAPLACIAN OR INVERSE TO A POSSIBLY DIFFERENT GLOBAL CYLINDRICAL GRID.  <a href="sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8">More...</a><br /></td></tr>
+<tr class="separator:a52c4250d24e52304e49aa1d82a93bdb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Spectrally truncate to laplacian. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrunl_8f_source.html">sptrunl.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a52c4250d24e52304e49aa1d82a93bdb8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a52c4250d24e52304e49aa1d82a93bdb8">&#9670;&nbsp;</a></span>sptrunl()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrunl </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDIR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDO</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>THIS SUBPROGRAM SPECTRALLY TRUNCATES SCALAR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THEIR LAPLACIAN OR INVERSE TO A POSSIBLY DIFFERENT GLOBAL CYLINDRICAL GRID. </p>
+<p>THE WAVE-SPACE CAN BE EITHER TRIANGULAR OR RHOMBOIDAL. EITHER GRID-SPACE CAN BE EITHER AN EQUALLY-SPACED GRID (WITH OR WITHOUT POLE POINTS) OR A GAUSSIAN GRID. THE GRID FIELDS MAY HAVE GENERAL INDEXING. THE TRANSFORMS ARE ALL MULTIPROCESSED. OVER ZONAL WAVENUMBER TO ENSURE REPRODUCIBILITY. TRANSFORM SEVERAL FIELDS AT A TIME TO IMPROVE VECTORIZATION. SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.</p>
+<p>PROGRAM HISTORY LOG:</p><ul>
+<li>96-02-29 IREDELL</li>
+<li>1998-12-15 IREDELL OPENMP DIRECTIVES INSERTED</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>- INTEGER SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramname">IDRTI</td><td>- INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXI</td><td>- INTEGER EVEN NUMBER OF INPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXI</td><td>- INTEGER NUMBER OF INPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">IDRTO</td><td>- INTEGER OUTPUT GRID IDENTIFIER (IDRTO=4 FOR GAUSSIAN GRID, IDRTO=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTO=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXO</td><td>- INTEGER EVEN NUMBER OF OUTPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXO</td><td>- INTEGER NUMBER OF OUTPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">KMAX</td><td>- INTEGER NUMBER OF FIELDS TO TRANSFORM. </td></tr>
+    <tr><td class="paramname">IPRIME</td><td>- INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.) </td></tr>
+    <tr><td class="paramname">ISKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0) </td></tr>
+    <tr><td class="paramname">JSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0) </td></tr>
+    <tr><td class="paramname">KSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0) </td></tr>
+    <tr><td class="paramname">ISKIPO</td><td>- INTEGER SKIP NUMBER BETWEEN OUTPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPO=0) </td></tr>
+    <tr><td class="paramname">JSKIPO</td><td>- INTEGER SKIP NUMBER BETWEEN OUTPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXO IF JSKIPO=0) </td></tr>
+    <tr><td class="paramname">KSKIPO</td><td>- INTEGER SKIP NUMBER BETWEEN OUTPUT GRID FIELDS (DEFAULTS TO IMAXO*JMAXO IF KSKIPO=0) </td></tr>
+    <tr><td class="paramname">JCPU</td><td>- INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) </td></tr>
+    <tr><td class="paramname">IDIR</td><td>- INTEGER FLAG IDIR &gt; 0 TO TAKE LAPLACIAN IDIR &lt; 0 TO TAKE INVERSE LAPLACIAN </td></tr>
+    <tr><td class="paramname">GRIDI</td><td>- REAL (*) INPUT GRID FIELDS </td></tr>
+    <tr><td class="paramname">GRIDO</td><td>- REAL (*) OUTPUT GRID FIELDS (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>SUBPROGRAMS CALLED:</p><ul>
+<li>SPWGET GET WAVE-SPACE CONSTANTS</li>
+<li>SPLAPLAC COMPUTE LAPLACIAN IN SPECTRAL SPACE</li>
+<li>SPTRAN PERFORM A SCALAR SPHERICAL TRANSFORM</li>
+<li>NCPUS GETS ENVIRONMENT NUMBER OF CPUS</li>
+</ul>
+<p>REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="sptrunl_8f_source.html#l00078">78</a> of file <a class="el" href="sptrunl_8f_source.html">sptrunl.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, <a class="el" href="splaplac_8f_source.html#l00025">splaplac()</a>, <a class="el" href="sptran_8f_source.html#l00088">sptran()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunl_8f.html">sptrunl.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunl_8f.js b/sptrunl_8f.js
new file mode 100644
index 00000000..892c4e7f
--- /dev/null
+++ b/sptrunl_8f.js
@@ -0,0 +1,4 @@
+var sptrunl_8f =
+[
+    [ "sptrunl", "sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8", null ]
+];
\ No newline at end of file
diff --git a/sptrunl_8f_source.html b/sptrunl_8f_source.html
new file mode 100644
index 00000000..e443a7e4
--- /dev/null
+++ b/sptrunl_8f_source.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunl.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunl_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrunl.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrunl_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; Spectrally truncate to laplacian</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; THIS SUBPROGRAM SPECTRALLY TRUNCATES SCALAR FIELDS</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;           ON A GLOBAL CYLINDRICAL GRID, RETURNING THEIR LAPLACIAN</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;           OR INVERSE TO A POSSIBLY DIFFERENT GLOBAL CYLINDRICAL GRID.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;           THE WAVE-SPACE CAN BE EITHER TRIANGULAR OR RHOMBOIDAL.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;           EITHER GRID-SPACE CAN BE EITHER AN EQUALLY-SPACED GRID</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt;           (WITH OR WITHOUT POLE POINTS) OR A GAUSSIAN GRID.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt;           THE GRID FIELDS MAY HAVE GENERAL INDEXING.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;           THE TRANSFORMS ARE ALL MULTIPROCESSED.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt;           OVER ZONAL WAVENUMBER TO ENSURE REPRODUCIBILITY.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;           TRANSFORM SEVERAL FIELDS AT A TIME TO IMPROVE VECTORIZATION.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;           SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; PROGRAM HISTORY LOG:</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; -  96-02-29  IREDELL</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; - 1998-12-15  IREDELL  OPENMP DIRECTIVES INSERTED</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param IROMB    - INTEGER SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;                (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param MAXWV    - INTEGER SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param IDRTI    - INTEGER INPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt;                (IDRTI=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt;                 IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;                 IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param IMAXI    - INTEGER EVEN NUMBER OF INPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param JMAXI    - INTEGER NUMBER OF INPUT LATITUDES.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param IDRTO    - INTEGER OUTPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;                (IDRTO=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;                 IDRTO=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;                 IDRTO=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param IMAXO    - INTEGER EVEN NUMBER OF OUTPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param JMAXO    - INTEGER NUMBER OF OUTPUT LATITUDES.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param KMAX     - INTEGER NUMBER OF FIELDS TO TRANSFORM.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param IPRIME   - INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF IPRIME=0)</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt;                (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param ISKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPI=0)</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param JSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXI IF JSKIPI=0)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param KSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0)</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param ISKIPO   - INTEGER SKIP NUMBER BETWEEN OUTPUT LONGITUDES</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPO=0)</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param JSKIPO   - INTEGER SKIP NUMBER BETWEEN OUTPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXO IF JSKIPO=0)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param KSKIPO   - INTEGER SKIP NUMBER BETWEEN OUTPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXO*JMAXO IF KSKIPO=0)</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; @param JCPU     - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0)</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; @param IDIR     - INTEGER FLAG</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt;                IDIR &gt; 0 TO TAKE LAPLACIAN</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt;                IDIR &lt; 0 TO TAKE INVERSE LAPLACIAN</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param GRIDI   -  REAL (*) INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param GRIDO   -  REAL (*) OUTPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt;                (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; SUBPROGRAMS CALLED:</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt;  - SPWGET       GET WAVE-SPACE CONSTANTS</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt;  - SPLAPLAC     COMPUTE LAPLACIAN IN SPECTRAL SPACE</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt;  - SPTRAN       PERFORM A SCALAR SPHERICAL TRANSFORM</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt;  - NCPUS        GETS ENVIRONMENT NUMBER OF CPUS</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL:</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt;   DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt;   -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt;   IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8">   78</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8">sptrunl</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;     &amp;                   IDRTO,IMAXO,JMAXO,KMAX,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;     &amp;                   IPRIME,ISKIPI,JSKIPI,KSKIPI,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;     &amp;                   ISKIPO,JSKIPO,KSKIPO,JCPU,IDIR,GRIDI,GRIDO)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">      REAL</span> GRIDI(*),GRIDO(*)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keywordtype">REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordtype">      REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;     &amp;            iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;     &amp;            w,gridi(inp),gridi(isp),-1)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">C  TAKE LAPLACIAN AND TRANSFORM WAVE TO OUTPUT GRID</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,w(1,k),w(1,k),idir)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        w(1:2,k)=0.</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrto,imaxo,jmaxo,kmax,</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;     &amp;            0,iskipo,jn,js,mdim,kskipo,0,0,jc,</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;     &amp;            w,grido(inp),grido(isp),1)</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+<div class="ttc" id="asptran_8f_html_af7610e42f0dcd199b8cf80f851dcfed0"><div class="ttname"><a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a></div><div class="ttdeci">subroutine sptran(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptran_8f_source.html#l00084">sptran.f:88</a></div></div>
+<div class="ttc" id="asptrunl_8f_html_a52c4250d24e52304e49aa1d82a93bdb8"><div class="ttname"><a href="sptrunl_8f.html#a52c4250d24e52304e49aa1d82a93bdb8">sptrunl</a></div><div class="ttdeci">subroutine sptrunl(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, IDIR, GRIDI, GRIDO)</div><div class="ttdoc">THIS SUBPROGRAM SPECTRALLY TRUNCATES SCALAR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THEIR LAPL...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunl_8f_source.html#l00078">sptrunl.f:82</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunl_8f.html">sptrunl.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunm_8f.html b/sptrunm_8f.html
new file mode 100644
index 00000000..8a699326
--- /dev/null
+++ b/sptrunm_8f.html
@@ -0,0 +1,327 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunm.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunm_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrunm.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Spectrally interpolate scalars to Mercator.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrunm_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a2a4e579890d3cf7f6a26091f544b6cb6"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">sptrunm</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, MI, MJ, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, RLAT1, RLON1, DLAT, DLON, GRIDI, GM)</td></tr>
+<tr class="memdesc:a2a4e579890d3cf7f6a26091f544b6cb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to a Mercator grid.  <a href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">More...</a><br /></td></tr>
+<tr class="separator:a2a4e579890d3cf7f6a26091f544b6cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Spectrally interpolate scalars to Mercator. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrunm_8f_source.html">sptrunm.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a2a4e579890d3cf7f6a26091f544b6cb6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2a4e579890d3cf7f6a26091f544b6cb6">&#9670;&nbsp;</a></span>sptrunm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrunm </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MJ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLAT1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLON1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GM</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to a Mercator grid. </p>
+<p>The wave-space can be either triangular or rhomboidal. The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid. The grid fields may have general indexing. The transforms are all multiprocessed. Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>- INTEGER SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramname">IDRTI</td><td>- INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXI</td><td>- INTEGER EVEN NUMBER OF INPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXI</td><td>- INTEGER NUMBER OF INPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">KMAX</td><td>- INTEGER NUMBER OF FIELDS TO TRANSFORM. </td></tr>
+    <tr><td class="paramname">MI</td><td>- INTEGER NUMBER OF POINTS IN THE FASTER ZONAL DIRECTION </td></tr>
+    <tr><td class="paramname">MJ</td><td>- INTEGER NUMBER OF POINTS IN THE SLOWER MERID DIRECTION </td></tr>
+    <tr><td class="paramname">IPRIME</td><td>- INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.) </td></tr>
+    <tr><td class="paramname">ISKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0) </td></tr>
+    <tr><td class="paramname">JSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0) </td></tr>
+    <tr><td class="paramname">KSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN GRID FIELDS (DEFAULTS TO NPS*NPS IF KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>- INTEGER SKIP NUMBER BETWEEN GRID I-POINTS (DEFAULTS TO 1 IF NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN GRID J-POINTS (DEFAULTS TO NPS IF NJSKIP=0) </td></tr>
+    <tr><td class="paramname">JCPU</td><td>- INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) </td></tr>
+    <tr><td class="paramname">RLAT1</td><td>- REAL LATITUDE OF THE FIRST GRID POINT IN DEGREES </td></tr>
+    <tr><td class="paramname">RLON1</td><td>- REAL LONGITUDE OF THE FIRST GRID POINT IN DEGREES </td></tr>
+    <tr><td class="paramname">DLAT</td><td>- REAL LATITUDE INCREMENT IN DEGREES SUCH THAT D(PHI)/D(J)=DLAT*COS(PHI) WHERE J IS MERIDIONAL INDEX. DLAT IS NEGATIVE FOR GRIDS INDEXED SOUTHWARD. (IN TERMS OF GRID INCREMENT DY VALID AT LATITUDE RLATI, THE LATITUDE INCREMENT DLAT IS DETERMINED AS DLAT=DPR*DY/(RERTH*COS(RLATI/DPR)) WHERE DPR=180/PI AND RERTH IS EARTH'S RADIUS) </td></tr>
+    <tr><td class="paramname">DLON</td><td>- REAL LONGITUDE INCREMENT IN DEGREES SUCH THAT D(LAMBDA)/D(I)=DLON WHERE I IS ZONAL INDEX. DLON IS NEGATIVE FOR GRIDS INDEXED WESTWARD. </td></tr>
+    <tr><td class="paramname">GRIDI</td><td>- REAL (*) INPUT GRID FIELDS </td></tr>
+    <tr><td class="paramname">GM</td><td>- REAL (*) MERCATOR FIELDS</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>SUBPROGRAMS CALLED:</p><ul>
+<li><a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptran()</a> Perform a scalar spherical transform</li>
+<li><a class="el" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d" title="This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...">sptgpm()</a> Transform spectral scalar to Mercator</li>
+<li><a class="el" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd" title="Set number of CPUs - the number of processors over which to parallelize.">ncpus()</a> Gets environment number of cpus</li>
+</ul>
+<p>MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="sptrunm_8f_source.html#l00076">76</a> of file <a class="el" href="sptrunm_8f_source.html">sptrunm.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, <a class="el" href="sptgpm_8f_source.html#l00056">sptgpm()</a>, and <a class="el" href="sptran_8f_source.html#l00088">sptran()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l00561">spectral_interp_mod::polates4::polates4_grib1()</a>, and <a class="el" href="spectral__interp__mod_8F90_source.html#l00258">spectral_interp_mod::polates4::polates4_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunm_8f.html">sptrunm.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunm_8f.js b/sptrunm_8f.js
new file mode 100644
index 00000000..285bd268
--- /dev/null
+++ b/sptrunm_8f.js
@@ -0,0 +1,4 @@
+var sptrunm_8f =
+[
+    [ "sptrunm", "sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6", null ]
+];
\ No newline at end of file
diff --git a/sptrunm_8f_source.html b/sptrunm_8f_source.html
new file mode 100644
index 00000000..938fb84a
--- /dev/null
+++ b/sptrunm_8f_source.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunm.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunm_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrunm.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrunm_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; Spectrally interpolate scalars to Mercator</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; This subprogram spectrally truncates scalar fields on a global</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; cylindrical grid, returning the fields to a Mercator grid. The</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; wave-space can be either triangular or rhomboidal. The grid-space</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; can be either an equally-spaced grid (with or without pole</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; points) or a Gaussian grid. The grid fields may have general</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; indexing. The transforms are all multiprocessed. Transform</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; several fields at a time to improve vectorization. Subprogram can</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; </span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @param IROMB    - INTEGER SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;                (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; @param MAXWV    - INTEGER SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param IDRTI    - INTEGER INPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;                (IDRTI=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;                 IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;                 IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param IMAXI    - INTEGER EVEN NUMBER OF INPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param JMAXI    - INTEGER NUMBER OF INPUT LATITUDES.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param KMAX     - INTEGER NUMBER OF FIELDS TO TRANSFORM.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param MI       - INTEGER NUMBER OF POINTS IN THE FASTER ZONAL DIRECTION</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param MJ       - INTEGER NUMBER OF POINTS IN THE SLOWER MERID DIRECTION</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param IPRIME   - INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF IPRIME=0)</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt;                (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.)</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param ISKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPI=0)</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param JSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXI IF JSKIPI=0)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param KSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0)</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param KGSKIP   - INTEGER SKIP NUMBER BETWEEN GRID FIELDS</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO NPS*NPS IF KGSKIP=0)</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param NISKIP   - INTEGER SKIP NUMBER BETWEEN GRID I-POINTS</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF NISKIP=0)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param NJSKIP   - INTEGER SKIP NUMBER BETWEEN GRID J-POINTS</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO NPS IF NJSKIP=0)</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param JCPU     - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param RLAT1    - REAL LATITUDE OF THE FIRST GRID POINT IN DEGREES</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param RLON1    - REAL LONGITUDE OF THE FIRST GRID POINT IN DEGREES</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param DLAT     - REAL LATITUDE INCREMENT IN DEGREES SUCH THAT</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;                D(PHI)/D(J)=DLAT*COS(PHI) WHERE J IS MERIDIONAL INDEX.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt;                DLAT IS NEGATIVE FOR GRIDS INDEXED SOUTHWARD.</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt;                (IN TERMS OF GRID INCREMENT DY VALID AT LATITUDE RLATI,</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt;                 THE LATITUDE INCREMENT DLAT IS DETERMINED AS</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt;                 DLAT=DPR*DY/(RERTH*COS(RLATI/DPR))</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt;                 WHERE DPR=180/PI AND RERTH IS EARTH&#39;S RADIUS)</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; @param DLON     - REAL LONGITUDE INCREMENT IN DEGREES SUCH THAT</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt;                D(LAMBDA)/D(I)=DLON WHERE I IS ZONAL INDEX.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt;                DLON IS NEGATIVE FOR GRIDS INDEXED WESTWARD.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param GRIDI    - REAL (*) INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param GM       - REAL (*) MERCATOR FIELDS</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; SUBPROGRAMS CALLED:</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt;   - sptran()       Perform a scalar spherical transform</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt;   - sptgpm()       Transform spectral scalar to Mercator</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt;   - ncpus()        Gets environment number of cpus</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL:</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; DIMENSION                    |LINEAR             |QUADRATIC</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; -----------------------      |---------          |-------------</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; IMAX                         | 2*MAXWV+2         | 3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        | 1*MAXWV+1         | 3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        | 2*MAXWV+1         | 5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        | 2*MAXWV+3         | 3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        | 4*MAXWV+3         | 5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      | 2*MAXWV+1         | 3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      | 4*MAXWV+1         | 5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">   76</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">sptrunm</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,KMAX,MI,MJ,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;     &amp;                   IPRIME,ISKIPI,JSKIPI,KSKIPI,KGSKIP,</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;     &amp;                   NISKIP,NJSKIP,JCPU,RLAT1,RLON1,DLAT,DLON,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;     &amp;                   GRIDI,GM)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keywordtype">      REAL</span> GRIDI(*),GM(*)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keywordtype">REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;     &amp;            iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;     &amp;            w,gridi(inp),gridi(isp),-1)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a>(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;     &amp;            rlat1,rlon1,dlat,dlon,w,gm)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptgpm_8f_html_a6cffaeaa602eaae5c03166f48065158d"><div class="ttname"><a href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a></div><div class="ttdeci">subroutine sptgpm(IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVE, GM)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpm_8f_source.html#l00053">sptgpm.f:56</a></div></div>
+<div class="ttc" id="asptran_8f_html_af7610e42f0dcd199b8cf80f851dcfed0"><div class="ttname"><a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a></div><div class="ttdeci">subroutine sptran(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptran_8f_source.html#l00084">sptran.f:88</a></div></div>
+<div class="ttc" id="asptrunm_8f_html_a2a4e579890d3cf7f6a26091f544b6cb6"><div class="ttname"><a href="sptrunm_8f.html#a2a4e579890d3cf7f6a26091f544b6cb6">sptrunm</a></div><div class="ttdeci">subroutine sptrunm(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, MI, MJ, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, RLAT1, RLON1, DLAT, DLON, GRIDI, GM)</div><div class="ttdoc">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunm_8f_source.html#l00076">sptrunm.f:80</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunm_8f.html">sptrunm.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunmv_8f.html b/sptrunmv_8f.html
new file mode 100644
index 00000000..ad58ea0a
--- /dev/null
+++ b/sptrunmv_8f.html
@@ -0,0 +1,394 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunmv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunmv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrunmv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Spectrally interpolate vectors to Mercator.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrunmv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a8b405d0621112d6852a3bb99602ac2fd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">sptrunmv</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, MI, MJ, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, RLAT1, RLON1, DLAT, DLON, GRIDUI, GRIDVI, LUV, UM, VM, LDZ, DM, ZM, LPS, PM, SM)</td></tr>
+<tr class="memdesc:a8b405d0621112d6852a3bb99602ac2fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTOR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS TO A MERCATOR GRID.  <a href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">More...</a><br /></td></tr>
+<tr class="separator:a8b405d0621112d6852a3bb99602ac2fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Spectrally interpolate vectors to Mercator. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrunmv_8f_source.html">sptrunmv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a8b405d0621112d6852a3bb99602ac2fd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8b405d0621112d6852a3bb99602ac2fd">&#9670;&nbsp;</a></span>sptrunmv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrunmv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MJ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLAT1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>RLON1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>DLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDUI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDVI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LUV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>UM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LDZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>DM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>ZM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>PM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>SM</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTOR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS TO A MERCATOR GRID. </p>
+<p>THE WAVE-SPACE CAN BE EITHER TRIANGULAR OR RHOMBOIDAL. THE GRID-SPACE CAN BE EITHER AN EQUALLY-SPACED GRID (WITH OR WITHOUT POLE POINTS) OR A GAUSSIAN GRID. THE GRID FIELDS MAY HAVE GENERAL INDEXING. THE TRANSFORMS ARE ALL MULTIPROCESSED. TRANSFORM SEVERAL FIELDS AT A TIME TO IMPROVE VECTORIZATION. SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.</p>
+<p>PROGRAM HISTORY LOG: 96-02-29 IREDELL 1998-12-15 IREDELL OPENMP DIRECTIVES INSERTED</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>- INTEGER SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramname">IDRTI</td><td>- INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXI</td><td>- INTEGER EVEN NUMBER OF INPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXI</td><td>- INTEGER NUMBER OF INPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">KMAX</td><td>- INTEGER NUMBER OF FIELDS TO TRANSFORM. </td></tr>
+    <tr><td class="paramname">MI</td><td>- INTEGER NUMBER OF POINTS IN THE FASTER ZONAL DIRECTION </td></tr>
+    <tr><td class="paramname">MJ</td><td>- INTEGER NUMBER OF POINTS IN THE SLOWER MERID DIRECTION </td></tr>
+    <tr><td class="paramname">IPRIME</td><td>- INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.) </td></tr>
+    <tr><td class="paramname">ISKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0) </td></tr>
+    <tr><td class="paramname">JSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0) </td></tr>
+    <tr><td class="paramname">KSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN GRID FIELDS (DEFAULTS TO MI*MJ IF KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>- INTEGER SKIP NUMBER BETWEEN GRID I-POINTS (DEFAULTS TO 1 IF NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN GRID J-POINTS (DEFAULTS TO MI IF NJSKIP=0) </td></tr>
+    <tr><td class="paramname">JCPU</td><td>- INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) </td></tr>
+    <tr><td class="paramname">RLAT1</td><td>- REAL LATITUDE OF THE FIRST GRID POINT IN DEGREES </td></tr>
+    <tr><td class="paramname">RLON1</td><td>- REAL LONGITUDE OF THE FIRST GRID POINT IN DEGREES </td></tr>
+    <tr><td class="paramname">DLAT</td><td>- REAL LATITUDE INCREMENT IN DEGREES SUCH THAT D(PHI)/D(J)=DLAT*COS(PHI) WHERE J IS MERIDIONAL INDEX. DLAT IS NEGATIVE FOR GRIDS INDEXED SOUTHWARD. (IN TERMS OF GRID INCREMENT DY VALID AT LATITUDE RLATI, THE LATITUDE INCREMENT DLAT IS DETERMINED AS DLAT=DPR*DY/(RERTH*COS(RLATI/DPR)) WHERE DPR=180/PI AND RERTH IS EARTH'S RADIUS) </td></tr>
+    <tr><td class="paramname">DLON</td><td>- REAL LONGITUDE INCREMENT IN DEGREES SUCH THAT D(LAMBDA)/D(I)=DLON WHERE I IS ZONAL INDEX. DLON IS NEGATIVE FOR GRIDS INDEXED WESTWARD. </td></tr>
+    <tr><td class="paramname">GRIDUI</td><td>- REAL (*) INPUT GRID U-WINDS </td></tr>
+    <tr><td class="paramname">GRIDVI</td><td>- REAL (*) INPUT GRID V-WINDS </td></tr>
+    <tr><td class="paramname">LUV</td><td>- LOGICAL FLAG WHETHER TO RETURN WINDS </td></tr>
+    <tr><td class="paramname">LDZ</td><td>- LOGICAL FLAG WHETHER TO RETURN DIVERGENCE AND VORTICITY </td></tr>
+    <tr><td class="paramname">LPS</td><td>- LOGICAL FLAG WHETHER TO RETURN POTENTIAL AND STREAMFCN </td></tr>
+    <tr><td class="paramname">UM</td><td>- REAL (*) MERCATOR U-WINDS IF LUV </td></tr>
+    <tr><td class="paramname">VM</td><td>- REAL (*) MERCATOR V-WINDS IF LUV </td></tr>
+    <tr><td class="paramname">DM</td><td>- REAL (*) MERCATOR DIVERGENCES IF LDZ </td></tr>
+    <tr><td class="paramname">ZM</td><td>- REAL (*) MERCATOR VORTICITIES IF LDZ </td></tr>
+    <tr><td class="paramname">PM</td><td>- REAL (*) MERCATOR POTENTIALS IF LPS </td></tr>
+    <tr><td class="paramname">SM</td><td>- REAL (*) MERCATOR STREAMFCNS IF LPS</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>SUBPROGRAMS CALLED:</p><ul>
+<li>SPWGET GET WAVE-SPACE CONSTANTS</li>
+<li>SPLAPLAC COMPUTE LAPLACIAN IN SPECTRAL SPACE</li>
+<li>SPTRANV PERFORM A VECTOR SPHERICAL TRANSFORM</li>
+<li>SPTGPM TRANSFORM SPECTRAL SCALAR TO MERCATOR</li>
+<li>SPTGPMV TRANSFORM SPECTRAL VECTOR TO MERCATOR</li>
+<li>NCPUS GETS ENVIRONMENT NUMBER OF CPUS</li>
+</ul>
+<p>REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="sptrunmv_8f_source.html#l00092">92</a> of file <a class="el" href="sptrunmv_8f_source.html">sptrunmv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, <a class="el" href="splaplac_8f_source.html#l00025">splaplac()</a>, <a class="el" href="sptgpm_8f_source.html#l00056">sptgpm()</a>, <a class="el" href="sptgpmv_8f_source.html#l00063">sptgpmv()</a>, <a class="el" href="sptranv_8f_source.html#l00091">sptranv()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l01223">spectral_interp_mod::polatev4::polatev4_grib1()</a>, and <a class="el" href="spectral__interp__mod_8F90_source.html#l00891">spectral_interp_mod::polatev4::polatev4_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunmv_8f.html">sptrunmv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunmv_8f.js b/sptrunmv_8f.js
new file mode 100644
index 00000000..68c3d828
--- /dev/null
+++ b/sptrunmv_8f.js
@@ -0,0 +1,4 @@
+var sptrunmv_8f =
+[
+    [ "sptrunmv", "sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd", null ]
+];
\ No newline at end of file
diff --git a/sptrunmv_8f_source.html b/sptrunmv_8f_source.html
new file mode 100644
index 00000000..7a37712d
--- /dev/null
+++ b/sptrunmv_8f_source.html
@@ -0,0 +1,259 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunmv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunmv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrunmv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrunmv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; Spectrally interpolate vectors to Mercator</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTOR FIELDS</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;           ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt;           TO A MERCATOR GRID.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;           THE WAVE-SPACE CAN BE EITHER TRIANGULAR OR RHOMBOIDAL.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt;           THE GRID-SPACE CAN BE EITHER AN EQUALLY-SPACED GRID</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt;           (WITH OR WITHOUT POLE POINTS) OR A GAUSSIAN GRID.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt;           THE GRID FIELDS MAY HAVE GENERAL INDEXING.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;           THE TRANSFORMS ARE ALL MULTIPROCESSED.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt;           TRANSFORM SEVERAL FIELDS AT A TIME TO IMPROVE VECTORIZATION.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;           SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt; PROGRAM HISTORY LOG:</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;   96-02-29  IREDELL</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; 1998-12-15  IREDELL  OPENMP DIRECTIVES INSERTED</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param IROMB    - INTEGER SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt;                (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt; @param MAXWV    - INTEGER SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param IDRTI    - INTEGER INPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;                (IDRTI=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt;                 IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt;                 IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param IMAXI    - INTEGER EVEN NUMBER OF INPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param JMAXI    - INTEGER NUMBER OF INPUT LATITUDES.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param KMAX     - INTEGER NUMBER OF FIELDS TO TRANSFORM.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param MI       - INTEGER NUMBER OF POINTS IN THE FASTER ZONAL DIRECTION</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; @param MJ       - INTEGER NUMBER OF POINTS IN THE SLOWER MERID DIRECTION</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param IPRIME   - INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF IPRIME=0)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt;                (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.)</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param ISKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPI=0)</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param JSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXI IF JSKIPI=0)</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param KSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0)</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param KGSKIP   - INTEGER SKIP NUMBER BETWEEN GRID FIELDS</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO MI*MJ IF KGSKIP=0)</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param NISKIP   - INTEGER SKIP NUMBER BETWEEN GRID I-POINTS</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF NISKIP=0)</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param NJSKIP   - INTEGER SKIP NUMBER BETWEEN GRID J-POINTS</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO MI IF NJSKIP=0)</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param JCPU     - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0)</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; @param RLAT1    - REAL LATITUDE OF THE FIRST GRID POINT IN DEGREES</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param RLON1    - REAL LONGITUDE OF THE FIRST GRID POINT IN DEGREES</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param DLAT     - REAL LATITUDE INCREMENT IN DEGREES SUCH THAT</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt;                D(PHI)/D(J)=DLAT*COS(PHI) WHERE J IS MERIDIONAL INDEX.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt;                DLAT IS NEGATIVE FOR GRIDS INDEXED SOUTHWARD.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt;                (IN TERMS OF GRID INCREMENT DY VALID AT LATITUDE RLATI,</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt;                 THE LATITUDE INCREMENT DLAT IS DETERMINED AS</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt;                 DLAT=DPR*DY/(RERTH*COS(RLATI/DPR))</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt;                 WHERE DPR=180/PI AND RERTH IS EARTH&#39;S RADIUS)</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param DLON     - REAL LONGITUDE INCREMENT IN DEGREES SUCH THAT</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt;                D(LAMBDA)/D(I)=DLON WHERE I IS ZONAL INDEX.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt;                DLON IS NEGATIVE FOR GRIDS INDEXED WESTWARD.</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; @param GRIDUI   - REAL (*) INPUT GRID U-WINDS</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param GRIDVI   - REAL (*) INPUT GRID V-WINDS</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; @param LUV      - LOGICAL FLAG WHETHER TO RETURN WINDS</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param LDZ      - LOGICAL FLAG WHETHER TO RETURN DIVERGENCE AND VORTICITY</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; @param LPS      - LOGICAL FLAG WHETHER TO RETURN POTENTIAL AND STREAMFCN</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param UM       - REAL (*) MERCATOR U-WINDS IF LUV</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; @param VM       - REAL (*) MERCATOR V-WINDS IF LUV</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; @param DM       - REAL (*) MERCATOR DIVERGENCES IF LDZ</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; @param ZM       - REAL (*) MERCATOR VORTICITIES IF LDZ</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; @param PM       - REAL (*) MERCATOR POTENTIALS IF LPS</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt; @param SM       - REAL (*) MERCATOR STREAMFCNS IF LPS</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; SUBPROGRAMS CALLED:</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt;  - SPWGET       GET WAVE-SPACE CONSTANTS</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt;  - SPLAPLAC     COMPUTE LAPLACIAN IN SPECTRAL SPACE</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt;  - SPTRANV      PERFORM A VECTOR SPHERICAL TRANSFORM</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C&gt;  - SPTGPM       TRANSFORM SPECTRAL SCALAR TO MERCATOR</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C&gt;  - SPTGPMV      TRANSFORM SPECTRAL VECTOR TO MERCATOR</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">C&gt;  - NCPUS        GETS ENVIRONMENT NUMBER OF CPUS</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">C&gt; REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL:</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C&gt;   DIMENSION                    |LINEAR              |QUADRATIC</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">C&gt;   -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">C&gt;   IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">   92</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">sptrunmv</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,KMAX,MI,MJ,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;     &amp;                    IPRIME,ISKIPI,JSKIPI,KSKIPI,KGSKIP,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;     &amp;                    NISKIP,NJSKIP,JCPU,RLAT1,RLON1,DLAT,DLON,</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;     &amp;                    GRIDUI,GRIDVI,LUV,UM,VM,LDZ,DM,ZM,LPS,PM,SM)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keywordtype">LOGICAL</span> LUV,LDZ,LPS</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keywordtype">REAL</span> GRIDUI(*),GRIDVI(*)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keywordtype">REAL</span> UM(*),VM(*),DM(*),ZM(*),PM(*),SM(*)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordtype">      REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keywordtype">      REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">      REAL</span> WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">      REAL</span> WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;     &amp;             iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;     &amp;             wd,wz,</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;     &amp;             gridui(inp),gridui(isp),gridvi(inp),gridvi(isp),-1)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT WINDS</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      <span class="keywordflow">IF</span>(luv) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">sptgpmv</a>(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;     &amp;               rlat1,rlon1,dlat,dlon,wd,wz,um,vm)</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT DIVERGENCE AND VORTICITY</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      <span class="keywordflow">IF</span>(ldz) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a>(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;     &amp;              rlat1,rlon1,dlat,dlon,wd,dm)</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a>(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;     &amp;              rlat1,rlon1,dlat,dlon,wz,zm)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT POTENTIAL AND STREAMFUNCTION</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      <span class="keywordflow">IF</span>(lps) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wd(1,k),wd(1,k),-1)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wz(1,k),wz(1,k),-1)</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;          wd(1:2,k)=0.</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;          wz(1:2,k)=0.</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a>(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;     &amp;              rlat1,rlon1,dlat,dlon,wd,pm)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a>(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;     &amp;              rlat1,rlon1,dlat,dlon,wz,sm)</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+<div class="ttc" id="asptgpm_8f_html_a6cffaeaa602eaae5c03166f48065158d"><div class="ttname"><a href="sptgpm_8f.html#a6cffaeaa602eaae5c03166f48065158d">sptgpm</a></div><div class="ttdeci">subroutine sptgpm(IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVE, GM)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpm_8f_source.html#l00053">sptgpm.f:56</a></div></div>
+<div class="ttc" id="asptgpmv_8f_html_a15de3accfd448d116324872c8fb1bb17"><div class="ttname"><a href="sptgpmv_8f.html#a15de3accfd448d116324872c8fb1bb17">sptgpmv</a></div><div class="ttdeci">subroutine sptgpmv(IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVED, WAVEZ, UM, VM)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpmv_8f_source.html#l00060">sptgpmv.f:63</a></div></div>
+<div class="ttc" id="asptranv_8f_html_a7d6aaa3ed70df1dfaf8dd4443b7190c1"><div class="ttname"><a href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a></div><div class="ttdeci">subroutine sptranv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranv_8f_source.html#l00087">sptranv.f:91</a></div></div>
+<div class="ttc" id="asptrunmv_8f_html_a8b405d0621112d6852a3bb99602ac2fd"><div class="ttname"><a href="sptrunmv_8f.html#a8b405d0621112d6852a3bb99602ac2fd">sptrunmv</a></div><div class="ttdeci">subroutine sptrunmv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, MI, MJ, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, RLAT1, RLON1, DLAT, DLON, GRIDUI, GRIDVI, LUV, UM, VM, LDZ, DM, ZM, LPS, PM, SM)</div><div class="ttdoc">THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTOR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunmv_8f_source.html#l00092">sptrunmv.f:96</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunmv_8f.html">sptrunmv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptruns_8f.html b/sptruns_8f.html
new file mode 100644
index 00000000..e397cd69
--- /dev/null
+++ b/sptruns_8f.html
@@ -0,0 +1,321 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptruns.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptruns_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptruns.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Spectrally interpolate scalars to polar stereo.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptruns_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a34f156e2049105d012e445f8aa215444"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NPS, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, TRUE, XMESH, ORIENT, GRIDI, GN, GS)</td></tr>
+<tr class="memdesc:a34f156e2049105d012e445f8aa215444"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to specific pairs of polar stereographic scalar fields.  <a href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">More...</a><br /></td></tr>
+<tr class="separator:a34f156e2049105d012e445f8aa215444"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Spectrally interpolate scalars to polar stereo. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptruns_8f_source.html">sptruns.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a34f156e2049105d012e445f8aa215444"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a34f156e2049105d012e445f8aa215444">&#9670;&nbsp;</a></span>sptruns()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptruns </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>TRUE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>XMESH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ORIENT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GS</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to specific pairs of polar stereographic scalar fields. </p>
+<p>The wave-space can be either triangular or rhomboidal. The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid. The grid fields may have general indexing. The transforms are all multiprocessed. Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<p>PROGRAM HISTORY LOG: 96-02-29 IREDELL</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>- INTEGER SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramname">IDRTI</td><td>- INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXI</td><td>- INTEGER EVEN NUMBER OF INPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXI</td><td>- INTEGER NUMBER OF INPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">KMAX</td><td>- INTEGER NUMBER OF FIELDS TO TRANSFORM. </td></tr>
+    <tr><td class="paramname">NPS</td><td>- INTEGER ODD ORDER OF THE POLAR STEREOGRAPHIC GRIDS </td></tr>
+    <tr><td class="paramname">IPRIME</td><td>- INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.) </td></tr>
+    <tr><td class="paramname">ISKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0) </td></tr>
+    <tr><td class="paramname">JSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0) </td></tr>
+    <tr><td class="paramname">KSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN GRID FIELDS (DEFAULTS TO NPS*NPS IF KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>- INTEGER SKIP NUMBER BETWEEN GRID I-POINTS (DEFAULTS TO 1 IF NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>- INTEGER SKIP NUMBER BETWEEN GRID J-POINTS (DEFAULTS TO NPS IF NJSKIP=0) </td></tr>
+    <tr><td class="paramname">JCPU</td><td>- INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) </td></tr>
+    <tr><td class="paramname">TRUE</td><td>- REAL LATITUDE AT WHICH PS GRID IS TRUE (USUALLY 60.) </td></tr>
+    <tr><td class="paramname">XMESH</td><td>- REAL GRID LENGTH AT TRUE LATITUDE (M) </td></tr>
+    <tr><td class="paramname">ORIENT</td><td>- REAL LONGITUDE AT BOTTOM OF NORTHERN PS GRID (SOUTHERN PS GRID WILL HAVE OPPOSITE ORIENTATION.) </td></tr>
+    <tr><td class="paramname">GRIDI</td><td>- REAL (*) INPUT GRID FIELDS </td></tr>
+    <tr><td class="paramname">GN</td><td>- REAL (*) NORTHERN POLAR STEREOGRAPHIC FIELDS </td></tr>
+    <tr><td class="paramname">GS</td><td>- REAL (*) SOUTHERN POLAR STEREOGRAPHIC FIELDS</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>SUBPROGRAMS CALLED:</p><ul>
+<li><a class="el" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0" title="This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...">sptran()</a> Perform a scalar spherical transform</li>
+<li><a class="el" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2" title="This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...">sptgps()</a> Transform spectral scalar to polar stereo.</li>
+<li><a class="el" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd" title="Set number of CPUs - the number of processors over which to parallelize.">ncpus()</a> Gets environment number of cpus</li>
+</ul>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="sptruns_8f_source.html#l00071">71</a> of file <a class="el" href="sptruns_8f_source.html">sptruns.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, <a class="el" href="sptgps_8f_source.html#l00081">sptgps()</a>, and <a class="el" href="sptran_8f_source.html#l00088">sptran()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l00561">spectral_interp_mod::polates4::polates4_grib1()</a>, and <a class="el" href="spectral__interp__mod_8F90_source.html#l00258">spectral_interp_mod::polates4::polates4_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptruns_8f.html">sptruns.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptruns_8f.js b/sptruns_8f.js
new file mode 100644
index 00000000..cc546092
--- /dev/null
+++ b/sptruns_8f.js
@@ -0,0 +1,4 @@
+var sptruns_8f =
+[
+    [ "sptruns", "sptruns_8f.html#a34f156e2049105d012e445f8aa215444", null ]
+];
\ No newline at end of file
diff --git a/sptruns_8f_source.html b/sptruns_8f_source.html
new file mode 100644
index 00000000..74712071
--- /dev/null
+++ b/sptruns_8f_source.html
@@ -0,0 +1,199 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptruns.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptruns_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptruns.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptruns_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; Spectrally interpolate scalars to polar stereo</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; This subprogram spectrally truncates scalar fields on a global</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; cylindrical grid, returning the fields to specific pairs of polar</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; stereographic scalar fields. The wave-space can be either</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; triangular or rhomboidal. The grid-space can be either an</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; equally-spaced grid (with or without pole points) or a Gaussian</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; grid. The grid fields may have general indexing. The transforms</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; are all multiprocessed. Transform several fields at a time to</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; improve vectorization. Subprogram can be called from a</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; multiprocessing environment.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; PROGRAM HISTORY LOG:</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;   96-02-29  IREDELL</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; @param IROMB    - INTEGER SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt;                (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; @param MAXWV    - INTEGER SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param IDRTI    - INTEGER INPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;                (IDRTI=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt;                 IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;                 IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; @param IMAXI    - INTEGER EVEN NUMBER OF INPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; @param JMAXI    - INTEGER NUMBER OF INPUT LATITUDES.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; @param KMAX     - INTEGER NUMBER OF FIELDS TO TRANSFORM.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param NPS      - INTEGER ODD ORDER OF THE POLAR STEREOGRAPHIC GRIDS</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param IPRIME   - INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF IPRIME=0)</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;                (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.)</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param ISKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPI=0)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param JSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXI IF JSKIPI=0)</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param KSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0)</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param KGSKIP   - INTEGER SKIP NUMBER BETWEEN GRID FIELDS</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO NPS*NPS IF KGSKIP=0)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param NISKIP   - INTEGER SKIP NUMBER BETWEEN GRID I-POINTS</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF NISKIP=0)</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param NJSKIP   - INTEGER SKIP NUMBER BETWEEN GRID J-POINTS</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO NPS IF NJSKIP=0)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param JCPU     - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0)</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param TRUE     - REAL LATITUDE AT WHICH PS GRID IS TRUE (USUALLY 60.)</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param XMESH    - REAL GRID LENGTH AT TRUE LATITUDE (M)</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param ORIENT   - REAL LONGITUDE AT BOTTOM OF NORTHERN PS GRID</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt;                (SOUTHERN PS GRID WILL HAVE OPPOSITE ORIENTATION.)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param GRIDI    - REAL (*) INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; @param GN       - REAL (*) NORTHERN POLAR STEREOGRAPHIC FIELDS</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; @param GS       - REAL (*) SOUTHERN POLAR STEREOGRAPHIC FIELDS</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; SUBPROGRAMS CALLED:</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; - sptran()       Perform a scalar spherical transform</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; - sptgps()       Transform spectral scalar to polar stereo.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; - ncpus()        Gets environment number of cpus</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt;   DIMENSION                   | LINEAR             | QUADRATIC</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt;   -----------------------     | ---------          | -------------</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt;   IMAX                        | 2*MAXWV+2          | 3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=0)       | 1*MAXWV+1          | 3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=1)       | 2*MAXWV+1          | 5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=0)       | 2*MAXWV+3          | 3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=1)       | 4*MAXWV+3          | 5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=0)     | 2*MAXWV+1          | 3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=1)     | 4*MAXWV+1          | 5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">   71</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,KMAX,NPS,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;     &amp;                   IPRIME,ISKIPI,JSKIPI,KSKIPI,KGSKIP,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;     &amp;                   NISKIP,NJSKIP,JCPU,TRUE,XMESH,ORIENT,</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;     &amp;                   GRIDI,GN,GS)</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keywordtype">      REAL</span> GRIDI(*),GN(*),GS(*)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      <span class="keywordtype">REAL</span> W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;     &amp;            iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;     &amp;            w,gridi(inp),gridi(isp),-1)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a>(iromb,maxwv,kmax,nps,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;     &amp;            true,xmesh,orient,w,gn,gs)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asptgps_8f_html_af06a2dccfa311014fc9f671b14f247b2"><div class="ttname"><a href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a></div><div class="ttdeci">subroutine sptgps(IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVE, GN, GS)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...</div><div class="ttdef"><b>Definition:</b> <a href="sptgps_8f_source.html#l00078">sptgps.f:81</a></div></div>
+<div class="ttc" id="asptran_8f_html_af7610e42f0dcd199b8cf80f851dcfed0"><div class="ttname"><a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a></div><div class="ttdeci">subroutine sptran(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptran_8f_source.html#l00084">sptran.f:88</a></div></div>
+<div class="ttc" id="asptruns_8f_html_a34f156e2049105d012e445f8aa215444"><div class="ttname"><a href="sptruns_8f.html#a34f156e2049105d012e445f8aa215444">sptruns</a></div><div class="ttdeci">subroutine sptruns(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NPS, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, TRUE, XMESH, ORIENT, GRIDI, GN, GS)</div><div class="ttdoc">This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptruns_8f_source.html#l00071">sptruns.f:75</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptruns_8f.html">sptruns.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunsv_8f.html b/sptrunsv_8f.html
new file mode 100644
index 00000000..5195500e
--- /dev/null
+++ b/sptrunsv_8f.html
@@ -0,0 +1,426 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunsv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunsv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrunsv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Spectrally interpolate vectors to polar stereo.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrunsv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a1373b651b9dea586e33d3033aae68656"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NPS, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, TRUE, XMESH, ORIENT, GRIDUI, GRIDVI, LUV, UN, VN, US, VS, LDZ, DN, ZN, DS, ZS, LPS, PN, SN, PS, SS)</td></tr>
+<tr class="memdesc:a1373b651b9dea586e33d3033aae68656"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields to specific pairs of polar stereographic scalar fields.  <a href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">More...</a><br /></td></tr>
+<tr class="separator:a1373b651b9dea586e33d3033aae68656"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Spectrally interpolate vectors to polar stereo. </p>
+<p>96-02-29 | Iredell | Initial. 1998-12-15 | Iredell | Openmp directives inserted.</p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrunsv_8f_source.html">sptrunsv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a1373b651b9dea586e33d3033aae68656"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1373b651b9dea586e33d3033aae68656">&#9670;&nbsp;</a></span>sptrunsv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrunsv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KGSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NISKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>NJSKIP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>TRUE</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>XMESH</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ORIENT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDUI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDVI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LUV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>UN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>US</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>VS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LDZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>DN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>ZN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>DS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>ZS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>PN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>SN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>PS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>SS</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields to specific pairs of polar stereographic scalar fields. </p>
+<p>The wave-space can be either triangular or rhomboidal.</p>
+<p>The grid-space can be either an equally-spaced grid (with or without pole points) or a gaussian grid.</p>
+<p>The grid fields may have general indexing.</p>
+<p>The transforms are all multiprocessed.</p>
+<p>Transform several fields at a time to improve vectorization.</p>
+<p>Subprogram can be called from a multiprocessing environment.</p>
+<p>Minimum grid dimensions for unaliased transforms to spectral: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Dimension   </th><th class="markdownTableHeadNone">Linear   </th><th class="markdownTableHeadNone">Quadratic    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>integer spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>integer spectral truncation </td></tr>
+    <tr><td class="paramname">IDRTI</td><td>integer input grid identifier<ul>
+<li>IDRTI=4 for Gaussian grid</li>
+<li>IDRTI=0 for equally-spaced grid including poles</li>
+<li>IDRTI=256 for equally-spaced grid excluding poles </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">IMAXI</td><td>integer even number of input longitudes. </td></tr>
+    <tr><td class="paramname">JMAXI</td><td>integer number of input latitudes. </td></tr>
+    <tr><td class="paramname">KMAX</td><td>integer number of fields to transform. </td></tr>
+    <tr><td class="paramname">NPS</td><td>integer odd order of the polar stereographic grids </td></tr>
+    <tr><td class="paramname">IPRIME</td><td>integer input longitude index for the prime meridian. (defaults to 1 if IPRIME=0) (output longitude index for prime meridian assumed 1.) </td></tr>
+    <tr><td class="paramname">ISKIPI</td><td>integer skip number between input longitudes (defaults to 1 if ISKIPI=0) </td></tr>
+    <tr><td class="paramname">JSKIPI</td><td>integer skip number between input latitudes from south (defaults to -IMAXI if JSKIPI=0) </td></tr>
+    <tr><td class="paramname">KSKIPI</td><td>integer skip number between input grid fields (defaults to IMAXI*JMAXI if KSKIPI=0) </td></tr>
+    <tr><td class="paramname">KGSKIP</td><td>integer skip number between grid fields (defaults to NPS*NPS if KGSKIP=0) </td></tr>
+    <tr><td class="paramname">NISKIP</td><td>integer skip number between grid i-points (defaults to 1 if NISKIP=0) </td></tr>
+    <tr><td class="paramname">NJSKIP</td><td>integer skip number between grid j-points (defaults to NPS if NJSKIP=0) </td></tr>
+    <tr><td class="paramname">JCPU</td><td>integer number of cpus over which to multiprocess (defaults to environment NCPUS if JCPU=0) </td></tr>
+    <tr><td class="paramname">TRUE</td><td>real latitude at which ps grid is true (usually 60.) </td></tr>
+    <tr><td class="paramname">XMESH</td><td>real grid length at true latitude (m) </td></tr>
+    <tr><td class="paramname">ORIENT</td><td>real longitude at bottom of Northern PS grid (Southern PS grid will have opposite orientation.) </td></tr>
+    <tr><td class="paramname">GRIDUI</td><td>real input grid u-winds </td></tr>
+    <tr><td class="paramname">GRIDVI</td><td>real input grid v-winds </td></tr>
+    <tr><td class="paramname">LUV</td><td>logical flag whether to return winds </td></tr>
+    <tr><td class="paramname">LDZ</td><td>logical flag whether to return divergence and vorticity </td></tr>
+    <tr><td class="paramname">LPS</td><td>logical flag whether to return potential and streamfcn </td></tr>
+    <tr><td class="paramname">UN</td><td>real northern ps u-winds if luv </td></tr>
+    <tr><td class="paramname">VN</td><td>real northern ps v-winds if luv </td></tr>
+    <tr><td class="paramname">US</td><td>real southern ps u-winds if luv </td></tr>
+    <tr><td class="paramname">VS</td><td>real southern ps v-winds if luv </td></tr>
+    <tr><td class="paramname">DN</td><td>real northern divergences if ldz </td></tr>
+    <tr><td class="paramname">ZN</td><td>real northern vorticities if ldz </td></tr>
+    <tr><td class="paramname">DS</td><td>real southern divergences if ldz </td></tr>
+    <tr><td class="paramname">ZS</td><td>real southern vorticities if ldz </td></tr>
+    <tr><td class="paramname">PN</td><td>real northern potentials if lps </td></tr>
+    <tr><td class="paramname">SN</td><td>real northern streamfcns if lps </td></tr>
+    <tr><td class="paramname">PS</td><td>real southern potentials if lps </td></tr>
+    <tr><td class="paramname">SS</td><td>real southern streamfcns if lps</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="sptrunsv_8f_source.html#l00088">88</a> of file <a class="el" href="sptrunsv_8f_source.html">sptrunsv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, <a class="el" href="splaplac_8f_source.html#l00025">splaplac()</a>, <a class="el" href="sptgps_8f_source.html#l00081">sptgps()</a>, <a class="el" href="sptgpsv_8f_source.html#l00083">sptgpsv()</a>, <a class="el" href="sptranv_8f_source.html#l00091">sptranv()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l01223">spectral_interp_mod::polatev4::polatev4_grib1()</a>, and <a class="el" href="spectral__interp__mod_8F90_source.html#l00891">spectral_interp_mod::polatev4::polatev4_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunsv_8f.html">sptrunsv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunsv_8f.js b/sptrunsv_8f.js
new file mode 100644
index 00000000..af10490c
--- /dev/null
+++ b/sptrunsv_8f.js
@@ -0,0 +1,4 @@
+var sptrunsv_8f =
+[
+    [ "sptrunsv", "sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656", null ]
+];
\ No newline at end of file
diff --git a/sptrunsv_8f_source.html b/sptrunsv_8f_source.html
new file mode 100644
index 00000000..0029e4ad
--- /dev/null
+++ b/sptrunsv_8f_source.html
@@ -0,0 +1,255 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunsv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunsv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrunsv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrunsv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Spectrally interpolate vectors to polar stereo.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; 96-02-29 | Iredell | Initial.</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; 1998-12-15 | Iredell | Openmp directives inserted.</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; This subprogram spectrally truncates vector fields</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; on a global cylindrical grid, returning the fields</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; to specific pairs of polar stereographic scalar fields.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; The grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; (with or without pole points) or a gaussian grid.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; The grid fields may have general indexing.</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed.</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; Minimum grid dimensions for unaliased transforms to spectral:</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt; Dimension                    |Linear              |Quadratic</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt;      </span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param IROMB integer spectral domain shape</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param MAXWV integer spectral truncation</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param IDRTI integer input grid identifier</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; - IDRTI=4 for Gaussian grid</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; - IDRTI=0 for equally-spaced grid including poles</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; - IDRTI=256 for equally-spaced grid excluding poles</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param IMAXI integer even number of input longitudes.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param JMAXI integer number of input latitudes.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt; @param KMAX integer number of fields to transform.</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param NPS integer odd order of the polar stereographic grids</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt; @param IPRIME integer input longitude index for the prime meridian.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; (defaults to 1 if IPRIME=0)</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt; (output longitude index for prime meridian assumed 1.)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param ISKIPI integer skip number between input longitudes</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt; (defaults to 1 if ISKIPI=0)</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; @param JSKIPI integer skip number between input latitudes from south</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt; (defaults to -IMAXI if JSKIPI=0)</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; @param KSKIPI integer skip number between input grid fields</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; (defaults to IMAXI*JMAXI if KSKIPI=0)</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param KGSKIP integer skip number between grid fields</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; (defaults to NPS*NPS if KGSKIP=0)</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param NISKIP integer skip number between grid i-points</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; (defaults to 1 if NISKIP=0)</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt; @param NJSKIP integer skip number between grid j-points</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; (defaults to NPS if NJSKIP=0)</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt; @param JCPU integer number of cpus over which to multiprocess</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; (defaults to environment NCPUS if JCPU=0)</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt; @param TRUE real latitude at which ps grid is true (usually 60.)</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; @param XMESH real grid length at true latitude (m)</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt; @param ORIENT real longitude at bottom of Northern PS grid</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; (Southern PS grid will have opposite orientation.)</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt; @param GRIDUI real input grid u-winds</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; @param GRIDVI real input grid v-winds</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt; @param LUV logical flag whether to return winds</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt; @param LDZ logical flag whether to return divergence and vorticity</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; @param LPS logical flag whether to return potential and streamfcn</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt; @param UN real northern ps u-winds if luv</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt; @param VN real northern ps v-winds if luv</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt; @param US real southern ps u-winds if luv</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt; @param VS real southern ps v-winds if luv</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C&gt; @param DN real northern divergences if ldz</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C&gt; @param ZN real northern vorticities if ldz</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">C&gt; @param DS real southern divergences if ldz</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">C&gt; @param ZS real southern vorticities if ldz</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">C&gt; @param PN real northern potentials if lps</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C&gt; @param SN real northern streamfcns if lps</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">C&gt; @param PS real southern potentials if lps</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">C&gt; @param SS real southern streamfcns if lps</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">   88</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,KMAX,NPS,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;     &amp;                    IPRIME,ISKIPI,JSKIPI,KSKIPI,KGSKIP,</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;     &amp;                    NISKIP,NJSKIP,JCPU,TRUE,XMESH,ORIENT,</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;     &amp;                    GRIDUI,GRIDVI,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;     &amp;                    LUV,UN,VN,US,VS,LDZ,DN,ZN,DS,ZS,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;     &amp;                    LPS,PN,SN,PS,SS)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <span class="keywordtype">LOGICAL</span> LUV,LDZ,LPS</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      <span class="keywordtype">REAL</span> GRIDUI(*),GRIDVI(*)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keywordtype">REAL</span> UN(*),VN(*),US(*),VS(*),DN(*),ZN(*),DS(*),ZS(*)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keywordtype">REAL</span> PN(*),SN(*),PS(*),SS(*)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keywordtype">      REAL</span> WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keywordtype">      REAL</span> WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;     &amp;             iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;     &amp;             wd,wz,</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;     &amp;             gridui(inp),gridui(isp),gridvi(inp),gridvi(isp),-1)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT WINDS</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      <span class="keywordflow">IF</span>(luv) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">sptgpsv</a>(iromb,maxwv,kmax,nps,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;     &amp;               true,xmesh,orient,wd,wz,un,vn,us,vs)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT DIVERGENCE AND VORTICITY</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keywordflow">IF</span>(ldz) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a>(iromb,maxwv,kmax,nps,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;     &amp;              true,xmesh,orient,wd,dn,ds)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a>(iromb,maxwv,kmax,nps,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;     &amp;              true,xmesh,orient,wz,zn,zs)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT POTENTIAL AND STREAMFUNCTION</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      <span class="keywordflow">IF</span>(lps) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wd(1,k),wd(1,k),-1)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wz(1,k),wz(1,k),-1)</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;          wd(1:2,k)=0.</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;          wz(1:2,k)=0.</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a>(iromb,maxwv,kmax,nps,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;     &amp;              true,xmesh,orient,wd,pn,ps)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a>(iromb,maxwv,kmax,nps,mdim,kgskip,niskip,njskip,</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;     &amp;              true,xmesh,orient,wz,sn,ss)</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+<div class="ttc" id="asptgps_8f_html_af06a2dccfa311014fc9f671b14f247b2"><div class="ttname"><a href="sptgps_8f.html#af06a2dccfa311014fc9f671b14f247b2">sptgps</a></div><div class="ttdeci">subroutine sptgps(IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVE, GN, GS)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...</div><div class="ttdef"><b>Definition:</b> <a href="sptgps_8f_source.html#l00078">sptgps.f:81</a></div></div>
+<div class="ttc" id="asptgpsv_8f_html_af2bf2335047ec277730564dbfa859079"><div class="ttname"><a href="sptgpsv_8f.html#af2bf2335047ec277730564dbfa859079">sptgpsv</a></div><div class="ttdeci">subroutine sptgpsv(IROMB, MAXWV, KMAX, NPS, KWSKIP, KGSKIP, NISKIP, NJSKIP, TRUE, XMESH, ORIENT, WAVED, WAVEZ, UN, VN, US, VS)</div><div class="ttdoc">This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...</div><div class="ttdef"><b>Definition:</b> <a href="sptgpsv_8f_source.html#l00080">sptgpsv.f:83</a></div></div>
+<div class="ttc" id="asptranv_8f_html_a7d6aaa3ed70df1dfaf8dd4443b7190c1"><div class="ttname"><a href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a></div><div class="ttdeci">subroutine sptranv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranv_8f_source.html#l00087">sptranv.f:91</a></div></div>
+<div class="ttc" id="asptrunsv_8f_html_a1373b651b9dea586e33d3033aae68656"><div class="ttname"><a href="sptrunsv_8f.html#a1373b651b9dea586e33d3033aae68656">sptrunsv</a></div><div class="ttdeci">subroutine sptrunsv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NPS, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, TRUE, XMESH, ORIENT, GRIDUI, GRIDVI, LUV, UN, VN, US, VS, LDZ, DN, ZN, DS, ZS, LPS, PN, SN, PS, SS)</div><div class="ttdoc">This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunsv_8f_source.html#l00088">sptrunsv.f:94</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunsv_8f.html">sptrunsv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunv_8f.html b/sptrunv_8f.html
new file mode 100644
index 00000000..f43a3dd2
--- /dev/null
+++ b/sptrunv_8f.html
@@ -0,0 +1,375 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunv.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunv_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">sptrunv.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Spectrally truncate gridded vector fields.  
+<a href="#details">More...</a></p>
+
+<p><a href="sptrunv_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a9aa39c13dd38585b3afb30cb2486817f"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv</a> (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRIDUI, GRIDVI, LUV, GRIDUO, GRIDVO, LDZ, GRIDDO, GRIDZO, LPS, GRIDPO, GRIDSO)</td></tr>
+<tr class="memdesc:a9aa39c13dd38585b3afb30cb2486817f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields to a possibly different global cylindrical grid.  <a href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">More...</a><br /></td></tr>
+<tr class="separator:a9aa39c13dd38585b3afb30cb2486817f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Spectrally truncate gridded vector fields. </p>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="sptrunv_8f_source.html">sptrunv.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a9aa39c13dd38585b3afb30cb2486817f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9aa39c13dd38585b3afb30cb2486817f">&#9670;&nbsp;</a></span>sptrunv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine sptrunv </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IDRTO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IMAXO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JMAXO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KMAX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IPRIME</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>ISKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JSKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>KSKIPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>JCPU</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDUI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDVI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LUV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDUO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDVO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LDZ</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDDO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDZO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical&#160;</td>
+          <td class="paramname"><em>LPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDPO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(*)&#160;</td>
+          <td class="paramname"><em>GRIDSO</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields to a possibly different global cylindrical grid. </p>
+<p>The wave-space can be either triangular or rhomboidal. Either grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid. The grid fields may have general indexing. The transforms are all multiprocessed. Over zonal wavenumber to ensure reproducibility. Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.</p>
+<p>PROGRAM HISTORY LOG:</p><ul>
+<li>96-02-29 IREDELL</li>
+<li>1998-12-15 IREDELL OPENMP DIRECTIVES INSERTED</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>- INTEGER SPECTRAL TRUNCATION </td></tr>
+    <tr><td class="paramname">IDRTI</td><td>- INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXI</td><td>- INTEGER EVEN NUMBER OF INPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXI</td><td>- INTEGER NUMBER OF INPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">IDRTO</td><td>- INTEGER OUTPUT GRID IDENTIFIER (IDRTO=4 FOR GAUSSIAN GRID, IDRTO=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTO=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) </td></tr>
+    <tr><td class="paramname">IMAXO</td><td>- INTEGER EVEN NUMBER OF OUTPUT LONGITUDES. </td></tr>
+    <tr><td class="paramname">JMAXO</td><td>- INTEGER NUMBER OF OUTPUT LATITUDES. </td></tr>
+    <tr><td class="paramname">KMAX</td><td>- INTEGER NUMBER OF FIELDS TO TRANSFORM. </td></tr>
+    <tr><td class="paramname">IPRIME</td><td>- INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.) </td></tr>
+    <tr><td class="paramname">ISKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0) </td></tr>
+    <tr><td class="paramname">JSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0) </td></tr>
+    <tr><td class="paramname">KSKIPI</td><td>- INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0) </td></tr>
+    <tr><td class="paramname">ISKIPO</td><td>- INTEGER SKIP NUMBER BETWEEN OUTPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPO=0) </td></tr>
+    <tr><td class="paramname">JSKIPO</td><td>- INTEGER SKIP NUMBER BETWEEN OUTPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXO IF JSKIPO=0) </td></tr>
+    <tr><td class="paramname">KSKIPO</td><td>- INTEGER SKIP NUMBER BETWEEN OUTPUT GRID FIELDS (DEFAULTS TO IMAXO*JMAXO IF KSKIPO=0) </td></tr>
+    <tr><td class="paramname">JCPU</td><td>- INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) </td></tr>
+    <tr><td class="paramname">GRIDUI</td><td>- REAL (*) INPUT GRID U-WINDS </td></tr>
+    <tr><td class="paramname">GRIDVI</td><td>- REAL (*) INPUT GRID V-WINDS </td></tr>
+    <tr><td class="paramname">LUV</td><td>- LOGICAL FLAG WHETHER TO RETURN WINDS </td></tr>
+    <tr><td class="paramname">LDZ</td><td>- LOGICAL FLAG WHETHER TO RETURN DIVERGENCE AND VORTICITY </td></tr>
+    <tr><td class="paramname">LPS</td><td>- LOGICAL FLAG WHETHER TO RETURN POTENTIAL AND STREAMFCN </td></tr>
+    <tr><td class="paramname">GRIDUO</td><td>- REAL (*) OUTPUT U-WINDS IF LUV (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE) </td></tr>
+    <tr><td class="paramname">GRIDVO</td><td>- REAL (*) OUTPUT V-WINDS IF LUV (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE) </td></tr>
+    <tr><td class="paramname">GRIDDO</td><td>- REAL (*) OUTPUT DIVERGENCES IF LDZ (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE) </td></tr>
+    <tr><td class="paramname">GRIDZO</td><td>- REAL (*) OUTPUT VORTICITIES IF LDZ (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE) </td></tr>
+    <tr><td class="paramname">GRIDPO</td><td>- REAL (*) OUTPUT POTENTIALS IF LPS (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE) </td></tr>
+    <tr><td class="paramname">GRIDSO</td><td>- REAL (*) OUTPUT STREAMFCNS IF LPS (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>SUBPROGRAMS CALLED:</p><ul>
+<li>SPWGET() GET WAVE-SPACE CONSTANTS</li>
+<li>SPLAPLAC() COMPUTE LAPLACIAN IN SPECTRAL SPACE</li>
+<li>SPTRAN() PERFORM A SCALAR SPHERICAL TRANSFORM</li>
+<li>SPTRANV() PERFORM A VECTOR SPHERICAL TRANSFORM</li>
+<li>NCPUS() GETS ENVIRONMENT NUMBER OF CPUS</li>
+</ul>
+<p>REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL: </p><table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">DIMENSION   </th><th class="markdownTableHeadNone">LINEAR   </th><th class="markdownTableHeadNone">QUADRATIC    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">IMAX   </td><td class="markdownTableBodyNone">2*MAXWV+2   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=0)   </td><td class="markdownTableBodyNone">1*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=4,IROMB=1)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2+1    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+3   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=0,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+3   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+3    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=0)   </td><td class="markdownTableBodyNone">2*MAXWV+1   </td><td class="markdownTableBodyNone">3*MAXWV/2*2+1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">JMAX (IDRT=256,IROMB=1)   </td><td class="markdownTableBodyNone">4*MAXWV+1   </td><td class="markdownTableBodyNone">5*MAXWV/2*2+1   </td></tr>
+</table>
+
+<p class="definition">Definition at line <a class="el" href="sptrunv_8f_source.html#l00090">90</a> of file <a class="el" href="sptrunv_8f_source.html">sptrunv.f</a>.</p>
+
+<p class="reference">References <a class="el" href="ncpus_8F_source.html#l00024">ncpus()</a>, <a class="el" href="splaplac_8f_source.html#l00025">splaplac()</a>, <a class="el" href="sptran_8f_source.html#l00088">sptran()</a>, <a class="el" href="sptranv_8f_source.html#l00091">sptranv()</a>, and <a class="el" href="spwget_8f_source.html#l00018">spwget()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l01223">spectral_interp_mod::polatev4::polatev4_grib1()</a>, and <a class="el" href="spectral__interp__mod_8F90_source.html#l00891">spectral_interp_mod::polatev4::polatev4_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunv_8f.html">sptrunv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/sptrunv_8f.js b/sptrunv_8f.js
new file mode 100644
index 00000000..ce8c98f1
--- /dev/null
+++ b/sptrunv_8f.js
@@ -0,0 +1,4 @@
+var sptrunv_8f =
+[
+    [ "sptrunv", "sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f", null ]
+];
\ No newline at end of file
diff --git a/sptrunv_8f_source.html b/sptrunv_8f_source.html
new file mode 100644
index 00000000..c0f8849c
--- /dev/null
+++ b/sptrunv_8f_source.html
@@ -0,0 +1,267 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: sptrunv.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('sptrunv_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sptrunv.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="sptrunv_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; Spectrally truncate gridded vector fields</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">C&gt; @author IREDELL @date 96-02-29</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; This subprogram spectrally truncates vector fields</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; on a global cylindrical grid, returning the fields</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; to a possibly different global cylindrical grid.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; The wave-space can be either triangular or rhomboidal.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; Either grid-space can be either an equally-spaced grid</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; (with or without pole points) or a Gaussian grid.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; The grid fields may have general indexing.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; The transforms are all multiprocessed.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; Over zonal wavenumber to ensure reproducibility.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; Transform several fields at a time to improve vectorization.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; Subprogram can be called from a multiprocessing environment.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; PROGRAM HISTORY LOG:</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; -  96-02-29  IREDELL</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; - 1998-12-15  IREDELL  OPENMP DIRECTIVES INSERTED</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; @param IROMB    - INTEGER SPECTRAL DOMAIN SHAPE</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;                (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; @param MAXWV    - INTEGER SPECTRAL TRUNCATION</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt; @param IDRTI    - INTEGER INPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt;                (IDRTI=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt;                 IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt;                 IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt; @param IMAXI    - INTEGER EVEN NUMBER OF INPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; @param JMAXI    - INTEGER NUMBER OF INPUT LATITUDES.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; @param IDRTO    - INTEGER OUTPUT GRID IDENTIFIER</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;                (IDRTO=4 FOR GAUSSIAN GRID,</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt;                 IDRTO=0 FOR EQUALLY-SPACED GRID INCLUDING POLES,</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt;                 IDRTO=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param IMAXO    - INTEGER EVEN NUMBER OF OUTPUT LONGITUDES.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param JMAXO    - INTEGER NUMBER OF OUTPUT LATITUDES.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param KMAX     - INTEGER NUMBER OF FIELDS TO TRANSFORM.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param IPRIME   - INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF IPRIME=0)</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt;                (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param ISKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPI=0)</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param JSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXI IF JSKIPI=0)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param KSKIPI   - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0)</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @param ISKIPO   - INTEGER SKIP NUMBER BETWEEN OUTPUT LONGITUDES</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO 1 IF ISKIPO=0)</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">C&gt; @param JSKIPO   - INTEGER SKIP NUMBER BETWEEN OUTPUT LATITUDES FROM SOUTH</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO -IMAXO IF JSKIPO=0)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">C&gt; @param KSKIPO   - INTEGER SKIP NUMBER BETWEEN OUTPUT GRID FIELDS</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO IMAXO*JMAXO IF KSKIPO=0)</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">C&gt; @param JCPU     - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">C&gt;                (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0)</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C&gt; @param GRIDUI   - REAL (*) INPUT GRID U-WINDS</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">C&gt; @param GRIDVI   - REAL (*) INPUT GRID V-WINDS</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">C&gt; @param LUV      - LOGICAL FLAG WHETHER TO RETURN WINDS</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">C&gt; @param LDZ      - LOGICAL FLAG WHETHER TO RETURN DIVERGENCE AND VORTICITY</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">C&gt; @param LPS      - LOGICAL FLAG WHETHER TO RETURN POTENTIAL AND STREAMFCN</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">C&gt; @param GRIDUO   - REAL (*) OUTPUT U-WINDS IF LUV</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">C&gt;                (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">C&gt; @param GRIDVO   - REAL (*) OUTPUT V-WINDS IF LUV</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">C&gt;                (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">C&gt; @param GRIDDO   - REAL (*) OUTPUT DIVERGENCES IF LDZ</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">C&gt;                (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">C&gt; @param GRIDZO   - REAL (*) OUTPUT VORTICITIES IF LDZ</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">C&gt;                (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">C&gt; @param GRIDPO   - REAL (*) OUTPUT POTENTIALS IF LPS</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">C&gt;                (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">C&gt; @param GRIDSO   - REAL (*) OUTPUT STREAMFCNS IF LPS</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">C&gt;                (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C&gt; SUBPROGRAMS CALLED:</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">C&gt;   - SPWGET()       GET WAVE-SPACE CONSTANTS</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">C&gt;   - SPLAPLAC()     COMPUTE LAPLACIAN IN SPECTRAL SPACE</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">C&gt;   - SPTRAN()       PERFORM A SCALAR SPHERICAL TRANSFORM</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">C&gt;   - SPTRANV()      PERFORM A VECTOR SPHERICAL TRANSFORM</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">C&gt;   - NCPUS()        GETS ENVIRONMENT NUMBER OF CPUS</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">C&gt; REMARKS: MINIMUM GRID DIMENSIONS FOR UNALIASED TRANSFORMS TO SPECTRAL:</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">C&gt;   DIMENSION                    |LINEAR             |QUADRATIC</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">C&gt;   -----------------------      |---------           |-------------</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C&gt;   IMAX                         |2*MAXWV+2           |3*MAXWV/2*2+2</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=0)        |1*MAXWV+1           |3*MAXWV/2+1</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=4,IROMB=1)        |2*MAXWV+1           |5*MAXWV/2+1</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=0)        |2*MAXWV+3           |3*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=0,IROMB=1)        |4*MAXWV+3           |5*MAXWV/2*2+3</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=0)      |2*MAXWV+1           |3*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">C&gt;   JMAX (IDRT=256,IROMB=1)      |4*MAXWV+1           |5*MAXWV/2*2+1</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">   90</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv</a>(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;     &amp;                   IDRTO,IMAXO,JMAXO,KMAX,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;     &amp;                   IPRIME,ISKIPI,JSKIPI,KSKIPI,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;     &amp;                   ISKIPO,JSKIPO,KSKIPO,JCPU,GRIDUI,GRIDVI,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;     &amp;                   LUV,GRIDUO,GRIDVO,LDZ,GRIDDO,GRIDZO,</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;     &amp;                   LPS,GRIDPO,GRIDSO)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keywordtype">LOGICAL</span> LUV,LDZ,LPS</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      <span class="keywordtype">REAL</span> GRIDUI(*),GRIDVI(*)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      <span class="keywordtype">REAL</span> GRIDUO(*),GRIDVO(*),GRIDDO(*),GRIDZO(*),GRIDPO(*),GRIDSO(*)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <span class="keywordtype">REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      <span class="keywordtype">REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keywordtype">      REAL</span> WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keywordtype">      REAL</span> WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">C  TRANSFORM INPUT GRID TO WAVE</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      jc=jcpu</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      <span class="keywordflow">IF</span>(jc.EQ.0) jc=<a class="code" href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a>()</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      mdim=2*mx+1</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      jn=-jskipi</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxi</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      inp=(jmaxi-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      isp=(jmaxi-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      <span class="keyword">CALL </span><a class="code" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a>(iromb,maxwv,idrti,imaxi,jmaxi,kmax,</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;     &amp;             iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;     &amp;             wd,wz,</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;     &amp;             gridui(inp),gridui(isp),gridvi(inp),gridvi(isp),-1)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT WINDS</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      jn=-jskipo</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      <span class="keywordflow">IF</span>(jn.EQ.0) jn=imaxo</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      js=-jn</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      inp=(jmaxo-1)*max(0,-jn)+1</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      isp=(jmaxo-1)*max(0,-js)+1</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keywordflow">IF</span>(luv) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a>(iromb,maxwv,idrto,imaxo,jmaxo,kmax,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;     &amp;               0,iskipo,jn,js,mdim,kskipo,0,0,jc,</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;     &amp;               wd,wz,</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;     &amp;               griduo(inp),griduo(isp),gridvo(inp),gridvo(isp),1)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT DIVERGENCE AND VORTICITY</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      <span class="keywordflow">IF</span>(ldz) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrto,imaxo,jmaxo,kmax,</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;     &amp;              0,iskipo,jn,js,mdim,kskipo,0,0,jc,</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;     &amp;              wd,griddo(inp),griddo(isp),1)</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrto,imaxo,jmaxo,kmax,</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;     &amp;              0,iskipo,jn,js,mdim,kskipo,0,0,jc,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;     &amp;              wz,gridzo(inp),gridzo(isp),1)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">C  TRANSFORM WAVE TO OUTPUT POTENTIAL AND STREAMFUNCTION</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      <span class="keywordflow">IF</span>(lps) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        <span class="keyword">CALL </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">C$OMP PARALLEL DO</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keywordflow">DO</span> k=1,kmax</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wd(1,k),wd(1,k),-1)</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;          <span class="keyword">CALL </span><a class="code" href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a>(iromb,maxwv,enn1,wz(1,k),wz(1,k),-1)</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;          wd(1:2,k)=0.</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;          wz(1:2,k)=0.</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrto,imaxo,jmaxo,kmax,</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;     &amp;              0,iskipo,jn,js,mdim,kskipo,0,0,jc,</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;     &amp;              wd,gridpo(inp),gridpo(isp),1)</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        <span class="keyword">CALL </span><a class="code" href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a>(iromb,maxwv,idrto,imaxo,jmaxo,kmax,</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;     &amp;              0,iskipo,jn,js,mdim,kskipo,0,0,jc,</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;     &amp;              wz,gridso(inp),gridso(isp),1)</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment">C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="ancpus_8F_html_a821a75ee067ea31758a038c0327bd3bd"><div class="ttname"><a href="ncpus_8F.html#a821a75ee067ea31758a038c0327bd3bd">ncpus</a></div><div class="ttdeci">function ncpus()</div><div class="ttdoc">Set number of CPUs - the number of processors over which to parallelize.</div><div class="ttdef"><b>Definition:</b> <a href="ncpus_8F_source.html#l00023">ncpus.F:24</a></div></div>
+<div class="ttc" id="asplaplac_8f_html_a64338955857a3cf58283146940e7ae42"><div class="ttname"><a href="splaplac_8f.html#a64338955857a3cf58283146940e7ae42">splaplac</a></div><div class="ttdeci">subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)</div><div class="ttdoc">Computes the laplacian or the inverse laplacian of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="splaplac_8f_source.html#l00024">splaplac.f:25</a></div></div>
+<div class="ttc" id="asptran_8f_html_af7610e42f0dcd199b8cf80f851dcfed0"><div class="ttname"><a href="sptran_8f.html#af7610e42f0dcd199b8cf80f851dcfed0">sptran</a></div><div class="ttdeci">subroutine sptran(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVE, GRIDN, GRIDS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of scalar quantities and...</div><div class="ttdef"><b>Definition:</b> <a href="sptran_8f_source.html#l00084">sptran.f:88</a></div></div>
+<div class="ttc" id="asptranv_8f_html_a7d6aaa3ed70df1dfaf8dd4443b7190c1"><div class="ttname"><a href="sptranv_8f.html#a7d6aaa3ed70df1dfaf8dd4443b7190c1">sptranv</a></div><div class="ttdeci">subroutine sptranv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)</div><div class="ttdoc">This subprogram performs a spherical transform between spectral coefficients of divergences and curls...</div><div class="ttdef"><b>Definition:</b> <a href="sptranv_8f_source.html#l00087">sptranv.f:91</a></div></div>
+<div class="ttc" id="asptrunv_8f_html_a9aa39c13dd38585b3afb30cb2486817f"><div class="ttname"><a href="sptrunv_8f.html#a9aa39c13dd38585b3afb30cb2486817f">sptrunv</a></div><div class="ttdeci">subroutine sptrunv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRIDUI, GRIDVI, LUV, GRIDUO, GRIDVO, LDZ, GRIDDO, GRIDZO, LPS, GRIDPO, GRIDSO)</div><div class="ttdoc">This subprogram spectrally truncates vector fields on a global cylindrical grid, returning the fields...</div><div class="ttdef"><b>Definition:</b> <a href="sptrunv_8f_source.html#l00090">sptrunv.f:96</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="sptrunv_8f.html">sptrunv.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spuv2dz_8f.html b/spuv2dz_8f.html
new file mode 100644
index 00000000..83f9967e
--- /dev/null
+++ b/spuv2dz_8f.html
@@ -0,0 +1,244 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spuv2dz.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spuv2dz_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spuv2dz.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute divergence and vorticity from winds.  
+<a href="#details">More...</a></p>
+
+<p><a href="spuv2dz_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a27edc2d10e0a76a45e4aaae58bf018b9"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9">spuv2dz</a> (I, M, ENN1, ELONN1, EON, EONTOP, U, V, UTOP, VTOP, D, Z)</td></tr>
+<tr class="memdesc:a27edc2d10e0a76a45e4aaae58bf018b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the divergence and vorticity from wind components in spectral space.  <a href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9">More...</a><br /></td></tr>
+<tr class="separator:a27edc2d10e0a76a45e4aaae58bf018b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute divergence and vorticity from winds. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spuv2dz_8f_source.html">spuv2dz.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a27edc2d10e0a76a45e4aaae58bf018b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a27edc2d10e0a76a45e4aaae58bf018b9">&#9670;&nbsp;</a></span>spuv2dz()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spuv2dz </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ENN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>ELONN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2)/2)&#160;</td>
+          <td class="paramname"><em>EON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(m+1)&#160;</td>
+          <td class="paramname"><em>EONTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>U</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>V</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*(m+1))&#160;</td>
+          <td class="paramname"><em>UTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(2*(m+1))&#160;</td>
+          <td class="paramname"><em>VTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>D</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>Z</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Computes the divergence and vorticity from wind components in spectral space. </p>
+<p>Subprogram <a class="el" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131" title="Computes constant fields indexed in the spectral domain in &quot;IBM ORDER&quot; (Zonal wavenumber is the slowe...">speps()</a> should be called already.</p>
+<p>If L is the zonal wavenumber, N is the total wavenumber, EPS(L,N)=SQRT((N**2-L**2)/(4*N**2-1)) and A is earth radius, then the divergence D is computed as: </p><pre>
+ D(L,N)=I*L*A*U(L,N)
+ +EPS(L,N+1)*N*A*V(L,N+1)-EPS(L,N)*(N+1)*A*V(L,N-1)
+ </pre><p>and the vorticity Z is computed as: </p><pre>
+ Z(L,N)=I*L*A*V(L,N)
+ -EPS(L,N+1)*N*A*U(L,N+1)+EPS(L,N)*(N+1)*A*U(L,N-1)
+ </pre><p>where U is the zonal wind and V is the meridional wind.</p>
+<p>U and V are weighted by the secant of latitude.</p>
+<p>Extra terms are used over top of the spectral domain.</p>
+<p>Advantage is taken of the fact that EPS(L,L)=0 in order to vectorize over the entire spectral domain.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">I</td><td>integer spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M</td><td>INTEGER spectral truncation </td></tr>
+    <tr><td class="paramname">ENN1</td><td>((M+1)*((I+1)*M+2)/2) N*(N+1)/A**2 </td></tr>
+    <tr><td class="paramname">ELONN1</td><td>((M+1)*((I+1)*M+2)/2) L/(N*(N+1))*A </td></tr>
+    <tr><td class="paramname">EON</td><td>((M+1)*((I+1)*M+2)/2) EPSILON/N*A </td></tr>
+    <tr><td class="paramname">EONTOP</td><td>(M+1) EPSILON/N*A over top </td></tr>
+    <tr><td class="paramname">U</td><td>((M+1)*((I+1)*M+2)) zonal wind (over coslat) </td></tr>
+    <tr><td class="paramname">V</td><td>((M+1)*((I+1)*M+2)) merid wind (over coslat) </td></tr>
+    <tr><td class="paramname">UTOP</td><td>(2*(M+1)) zonal wind (over coslat) over top </td></tr>
+    <tr><td class="paramname">VTOP</td><td>(2*(M+1)) merid wind (over coslat) over top </td></tr>
+    <tr><td class="paramname">D</td><td>((M+1)*((I+1)*M+2)) divergence </td></tr>
+    <tr><td class="paramname">Z</td><td>((M+1)*((I+1)*M+2)) vorticity</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spuv2dz_8f_source.html#l00048">48</a> of file <a class="el" href="spuv2dz_8f_source.html">spuv2dz.f</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptranfv_8f_source.html#l00083">sptranfv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spuv2dz_8f.html">spuv2dz.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spuv2dz_8f.js b/spuv2dz_8f.js
new file mode 100644
index 00000000..fb93c82c
--- /dev/null
+++ b/spuv2dz_8f.js
@@ -0,0 +1,4 @@
+var spuv2dz_8f =
+[
+    [ "spuv2dz", "spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9", null ]
+];
\ No newline at end of file
diff --git a/spuv2dz_8f_source.html b/spuv2dz_8f_source.html
new file mode 100644
index 00000000..6ed36e93
--- /dev/null
+++ b/spuv2dz_8f_source.html
@@ -0,0 +1,191 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spuv2dz.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spuv2dz_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spuv2dz.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spuv2dz_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Compute divergence and vorticity from winds.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Computes the divergence and vorticity from wind components</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; in spectral space.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; Subprogram speps() should be called already.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; If L is the zonal wavenumber, N is the total wavenumber,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; EPS(L,N)=SQRT((N**2-L**2)/(4*N**2-1)) and A is earth radius,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; then the divergence D is computed as:</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; &lt;pre&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; D(L,N)=I*L*A*U(L,N)</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt; +EPS(L,N+1)*N*A*V(L,N+1)-EPS(L,N)*(N+1)*A*V(L,N-1)</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">C&gt; and the vorticity Z is computed as:</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">C&gt; &lt;pre&gt;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">C&gt; Z(L,N)=I*L*A*V(L,N)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">C&gt; -EPS(L,N+1)*N*A*U(L,N+1)+EPS(L,N)*(N+1)*A*U(L,N-1)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">C&gt; &lt;/pre&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">C&gt; where U is the zonal wind and V is the meridional wind.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">C&gt; U and V are weighted by the secant of latitude.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">C&gt; Extra terms are used over top of the spectral domain.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">C&gt; Advantage is taken of the fact that EPS(L,L)=0</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">C&gt; in order to vectorize over the entire spectral domain.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">C&gt; @param I integer spectral domain shape</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">C&gt; @param M INTEGER spectral truncation</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">C&gt; @param ENN1 ((M+1)*((I+1)*M+2)/2) N*(N+1)/A**2</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">C&gt; @param ELONN1 ((M+1)*((I+1)*M+2)/2) L/(N*(N+1))*A</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">C&gt; @param EON ((M+1)*((I+1)*M+2)/2) EPSILON/N*A</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">C&gt; @param EONTOP (M+1) EPSILON/N*A over top</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">C&gt; @param U ((M+1)*((I+1)*M+2)) zonal wind (over coslat)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">C&gt; @param V ((M+1)*((I+1)*M+2)) merid wind (over coslat)</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">C&gt; @param UTOP (2*(M+1)) zonal wind (over coslat) over top</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">C&gt; @param VTOP (2*(M+1)) merid wind (over coslat) over top</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">C&gt; @param D ((M+1)*((I+1)*M+2)) divergence</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">C&gt; @param Z ((M+1)*((I+1)*M+2)) vorticity</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9">   48</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9">spuv2dz</a>(I,M,ENN1,ELONN1,EON,EONTOP,U,V,UTOP,VTOP,D,Z)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keywordtype">      REAL</span> ENN1((M+1)*((I+1)*M+2)/2),ELONN1((M+1)*((I+1)*M+2)/2)</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keywordtype">      REAL</span> EON((M+1)*((I+1)*M+2)/2),EONTOP(M+1)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keywordtype">      REAL</span> U((M+1)*((I+1)*M+2)),V((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">      REAL</span> UTOP(2*(M+1)),VTOP(2*(M+1))</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordtype">      REAL</span> D((M+1)*((I+1)*M+2)),Z((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">C  COMPUTE TERMS FROM THE SPECTRAL DOMAIN</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      k=1</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      d(2*k-1)=0.</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      d(2*k)=0.</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      z(2*k-1)=0.</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      z(2*k)=0.</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keywordflow">DO</span> k=2,(m+1)*((i+1)*m+2)/2-1</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        d(2*k-1)=-elonn1(k)*u(2*k)+eon(k+1)*v(2*k+1)-eon(k)*v(2*k-3)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        d(2*k)=elonn1(k)*u(2*k-1)+eon(k+1)*v(2*k+2)-eon(k)*v(2*k-2)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        z(2*k-1)=-elonn1(k)*v(2*k)-eon(k+1)*u(2*k+1)+eon(k)*u(2*k-3)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        z(2*k)=elonn1(k)*v(2*k-1)-eon(k+1)*u(2*k+2)+eon(k)*u(2*k-2)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      k=(m+1)*((i+1)*m+2)/2</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      d(2*k-1)=-elonn1(k)*u(2*k)-eon(k)*v(2*k-3)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      d(2*k)=elonn1(k)*u(2*k-1)-eon(k)*v(2*k-2)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      z(2*k-1)=-elonn1(k)*v(2*k)+eon(k)*u(2*k-3)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      z(2*k)=elonn1(k)*v(2*k-1)+eon(k)*u(2*k-2)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">C  COMPUTE TERMS FROM OVER TOP OF THE SPECTRAL DOMAIN</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">CDIR$ IVDEP</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keywordflow">DO</span> l=0,m</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        k=l*(2*m+(i-1)*(l-1))/2+i*l+m+1</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        d(2*k-1)=d(2*k-1)+eontop(l+1)*vtop(2*l+1)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        d(2*k)=d(2*k)+eontop(l+1)*vtop(2*l+2)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        z(2*k-1)=z(2*k-1)-eontop(l+1)*utop(2*l+1)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        z(2*k)=z(2*k)-eontop(l+1)*utop(2*l+2)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">C  MULTIPLY BY LAPLACIAN TERM</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keywordflow">DO</span> k=2,(m+1)*((i+1)*m+2)/2</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        d(2*k-1)=d(2*k-1)*enn1(k)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        d(2*k)=d(2*k)*enn1(k)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        z(2*k-1)=z(2*k-1)*enn1(k)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        z(2*k)=z(2*k)*enn1(k)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspuv2dz_8f_html_a27edc2d10e0a76a45e4aaae58bf018b9"><div class="ttname"><a href="spuv2dz_8f.html#a27edc2d10e0a76a45e4aaae58bf018b9">spuv2dz</a></div><div class="ttdeci">subroutine spuv2dz(I, M, ENN1, ELONN1, EON, EONTOP, U, V, UTOP, VTOP, D, Z)</div><div class="ttdoc">Computes the divergence and vorticity from wind components in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spuv2dz_8f_source.html#l00048">spuv2dz.f:49</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spuv2dz_8f.html">spuv2dz.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spvar_8f.html b/spvar_8f.html
new file mode 100644
index 00000000..9ae5b7dd
--- /dev/null
+++ b/spvar_8f.html
@@ -0,0 +1,175 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spvar.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spvar_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spvar.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Compute variance by total wavenumber.  
+<a href="#details">More...</a></p>
+
+<p><a href="spvar_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a840f95e09b8d930b38638a391933bee4"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spvar_8f.html#a840f95e09b8d930b38638a391933bee4">spvar</a> (I, M, Q, QVAR)</td></tr>
+<tr class="memdesc:a840f95e09b8d930b38638a391933bee4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the variances by total wavenumber of a scalar field in spectral space.  <a href="spvar_8f.html#a840f95e09b8d930b38638a391933bee4">More...</a><br /></td></tr>
+<tr class="separator:a840f95e09b8d930b38638a391933bee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Compute variance by total wavenumber. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spvar_8f_source.html">spvar.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a840f95e09b8d930b38638a391933bee4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a840f95e09b8d930b38638a391933bee4">&#9670;&nbsp;</a></span>spvar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spvar </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((m+1)*((i+1)*m+2))&#160;</td>
+          <td class="paramname"><em>Q</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(0:(i+1)*m)&#160;</td>
+          <td class="paramname"><em>QVAR</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Computes the variances by total wavenumber of a scalar field in spectral space. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">I</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">M</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">Q</td><td>((M+1)*((I+1)*M+2)) scalar field </td></tr>
+    <tr><td class="paramname">QVAR</td><td>(0:(I+1)*M) variances</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>92-10-31 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spvar_8f_source.html#l00015">15</a> of file <a class="el" href="spvar_8f_source.html">spvar.f</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spvar_8f.html">spvar.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spvar_8f.js b/spvar_8f.js
new file mode 100644
index 00000000..4cfca763
--- /dev/null
+++ b/spvar_8f.js
@@ -0,0 +1,4 @@
+var spvar_8f =
+[
+    [ "spvar", "spvar_8f.html#a840f95e09b8d930b38638a391933bee4", null ]
+];
\ No newline at end of file
diff --git a/spvar_8f_source.html b/spvar_8f_source.html
new file mode 100644
index 00000000..f79bdc57
--- /dev/null
+++ b/spvar_8f_source.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spvar.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spvar_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spvar.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spvar_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Compute variance by total wavenumber.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; Computes the variances by total wavenumber</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt; of a scalar field in spectral space.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; @param I spectral domain shape</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @param M spectral truncation</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @param Q ((M+1)*((I+1)*M+2)) scalar field</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @param QVAR (0:(I+1)*M) variances</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; @author Iredell @date 92-10-31</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="spvar_8f.html#a840f95e09b8d930b38638a391933bee4">   15</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spvar_8f.html#a840f95e09b8d930b38638a391933bee4">spvar</a>(I,M,Q,QVAR)</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keywordtype">      REAL</span> Q((M+1)*((I+1)*M+2))</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="keywordtype">      REAL</span> QVAR(0:(I+1)*M)</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;      l=0</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;      <span class="keywordflow">DO</span> n=0,m</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;        ks=l*(2*m+(i-1)*(l-1))+2*n</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        qvar(n)=0.5*q(ks+1)**2</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;      <span class="keywordflow">DO</span> n=m+1,(i+1)*m</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        qvar(n)=0.</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;      <span class="keywordflow">DO</span> n=0,(i+1)*m</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        <span class="keywordflow">DO</span> l=max(1,n-m),min(n,m)</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;          ks=l*(2*m+(i-1)*(l-1))+2*n</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;          qvar(n)=qvar(n)+q(ks+1)**2+q(ks+2)**2</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keywordflow">      ENDDO</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;      <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspvar_8f_html_a840f95e09b8d930b38638a391933bee4"><div class="ttname"><a href="spvar_8f.html#a840f95e09b8d930b38638a391933bee4">spvar</a></div><div class="ttdeci">subroutine spvar(I, M, Q, QVAR)</div><div class="ttdoc">Computes the variances by total wavenumber of a scalar field in spectral space.</div><div class="ttdef"><b>Definition:</b> <a href="spvar_8f_source.html#l00015">spvar.f:16</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spvar_8f.html">spvar.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spwget_8f.html b/spwget_8f.html
new file mode 100644
index 00000000..6cbd0401
--- /dev/null
+++ b/spwget_8f.html
@@ -0,0 +1,208 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spwget.f File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spwget_8f.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spwget.f File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Get wave-space constants.  
+<a href="#details">More...</a></p>
+
+<p><a href="spwget_8f_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a9b6ce78350f7adf2fed874a18312c7a6"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a> (IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</td></tr>
+<tr class="memdesc:a9b6ce78350f7adf2fed874a18312c7a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram gets wave-space constants.  <a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">More...</a><br /></td></tr>
+<tr class="separator:a9b6ce78350f7adf2fed874a18312c7a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Get wave-space constants. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spwget_8f_source.html">spwget.f</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a9b6ce78350f7adf2fed874a18312c7a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9b6ce78350f7adf2fed874a18312c7a6">&#9670;&nbsp;</a></span>spwget()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spwget </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>IROMB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>MAXWV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>EPS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(maxwv+1)&#160;</td>
+          <td class="paramname"><em>EPSTOP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>ENN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>ELONN1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension((maxwv+1)*((iromb+1)*maxwv+2)/2)&#160;</td>
+          <td class="paramname"><em>EON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(maxwv+1)&#160;</td>
+          <td class="paramname"><em>EONTOP</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram gets wave-space constants. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">IROMB</td><td>spectral domain shape (0 for triangular, 1 for rhomboidal) </td></tr>
+    <tr><td class="paramname">MAXWV</td><td>spectral truncation </td></tr>
+    <tr><td class="paramname">EPS</td><td></td></tr>
+    <tr><td class="paramname">EPSTOP</td><td></td></tr>
+    <tr><td class="paramname">ENN1</td><td></td></tr>
+    <tr><td class="paramname">ELONN1</td><td></td></tr>
+    <tr><td class="paramname">EON</td><td></td></tr>
+    <tr><td class="paramname">EONTOP</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-02-29 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spwget_8f_source.html#l00017">17</a> of file <a class="el" href="spwget_8f_source.html">spwget.f</a>.</p>
+
+<p class="reference">References <a class="el" href="speps_8f_source.html#l00026">speps()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="sptgpm_8f_source.html#l00056">sptgpm()</a>, <a class="el" href="sptgpmd_8f_source.html#l00056">sptgpmd()</a>, <a class="el" href="sptgpmv_8f_source.html#l00063">sptgpmv()</a>, <a class="el" href="sptgps_8f_source.html#l00081">sptgps()</a>, <a class="el" href="sptgpsd_8f_source.html#l00074">sptgpsd()</a>, <a class="el" href="sptgpsv_8f_source.html#l00083">sptgpsv()</a>, <a class="el" href="sptgpt_8f_source.html#l00051">sptgpt()</a>, <a class="el" href="sptgptd_8f_source.html#l00051">sptgptd()</a>, <a class="el" href="sptgptsd_8f_source.html#l00055">sptgptsd()</a>, <a class="el" href="sptgptv_8f_source.html#l00054">sptgptv()</a>, <a class="el" href="sptgptvd_8f_source.html#l00070">sptgptvd()</a>, <a class="el" href="sptrand_8f_source.html#l00092">sptrand()</a>, <a class="el" href="sptranf0_8f_source.html#l00037">sptranf0()</a>, <a class="el" href="sptrungv_8f_source.html#l00085">sptrungv()</a>, <a class="el" href="sptrunl_8f_source.html#l00082">sptrunl()</a>, <a class="el" href="sptrunmv_8f_source.html#l00096">sptrunmv()</a>, <a class="el" href="sptrunsv_8f_source.html#l00094">sptrunsv()</a>, and <a class="el" href="sptrunv_8f_source.html#l00096">sptrunv()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spwget_8f.html">spwget.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/spwget_8f.js b/spwget_8f.js
new file mode 100644
index 00000000..3fba636e
--- /dev/null
+++ b/spwget_8f.js
@@ -0,0 +1,4 @@
+var spwget_8f =
+[
+    [ "spwget", "spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6", null ]
+];
\ No newline at end of file
diff --git a/spwget_8f_source.html b/spwget_8f_source.html
new file mode 100644
index 00000000..4f2632a1
--- /dev/null
+++ b/spwget_8f_source.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spwget.f Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">5.0.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spwget_8f_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spwget.f</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spwget_8f.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">C&gt; @file</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">C&gt; @brief Get wave-space constants.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">C&gt; This subprogram gets wave-space constants.</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">C&gt; @param IROMB spectral domain shape (0 for triangular, 1 for rhomboidal)</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">C&gt; @param MAXWV spectral truncation</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">C&gt; @param EPS </span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">C&gt; @param EPSTOP </span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">C&gt; @param ENN1 </span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">C&gt; @param ELONN1 </span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">C&gt; @param EON </span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">C&gt; @param EONTOP </span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">C&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">C&gt; @author Iredell @date 96-02-29      </span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">   17</a></span>&#160;      <span class="keyword">SUBROUTINE </span><a class="code" href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a>(IROMB,MAXWV,EPS,EPSTOP,ENN1,ELONN1,EON,EONTOP)</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keywordtype">      REAL</span> EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keywordtype">      REAL</span> ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keywordtype">      REAL</span> ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keywordtype">      REAL</span> EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;      mx=(maxwv+1)*((iromb+1)*maxwv+2)/2</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;      mxtop=maxwv+1</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;      <span class="keyword">CALL </span><a class="code" href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131">speps</a>(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;      <span class="keyword">END</span></div>
+<div class="ttc" id="aspeps_8f_html_a0ab523ec5e1393ffca970897e63a9131"><div class="ttname"><a href="speps_8f.html#a0ab523ec5e1393ffca970897e63a9131">speps</a></div><div class="ttdeci">subroutine speps(I, M, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">Computes constant fields indexed in the spectral domain in &quot;IBM ORDER&quot; (Zonal wavenumber is the slowe...</div><div class="ttdef"><b>Definition:</b> <a href="speps_8f_source.html#l00025">speps.f:26</a></div></div>
+<div class="ttc" id="aspwget_8f_html_a9b6ce78350f7adf2fed874a18312c7a6"><div class="ttname"><a href="spwget_8f.html#a9b6ce78350f7adf2fed874a18312c7a6">spwget</a></div><div class="ttdeci">subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)</div><div class="ttdoc">This subprogram gets wave-space constants.</div><div class="ttdef"><b>Definition:</b> <a href="spwget_8f_source.html#l00017">spwget.f:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spwget_8f.html">spwget.f</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html b/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html
index 0aeae68a..1805006f 100644
--- a/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html
+++ b/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__gaussian__grid__mod_1_1ip__gaussian__grid.html b/structip__gaussian__grid__mod_1_1ip__gaussian__grid.html
index a2e49fa1..e4ccb16b 100644
--- a/structip__gaussian__grid__mod_1_1ip__gaussian__grid.html
+++ b/structip__gaussian__grid__mod_1_1ip__gaussian__grid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__grid__descriptor__mod_1_1grib1__descriptor.html b/structip__grid__descriptor__mod_1_1grib1__descriptor.html
index 481dce43..54b0689e 100644
--- a/structip__grid__descriptor__mod_1_1grib1__descriptor.html
+++ b/structip__grid__descriptor__mod_1_1grib1__descriptor.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__grid__descriptor__mod_1_1grib2__descriptor.html b/structip__grid__descriptor__mod_1_1grib2__descriptor.html
index 3b1b94e9..f8a20292 100644
--- a/structip__grid__descriptor__mod_1_1grib2__descriptor.html
+++ b/structip__grid__descriptor__mod_1_1grib2__descriptor.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__grid__descriptor__mod_1_1ip__grid__descriptor.html b/structip__grid__descriptor__mod_1_1ip__grid__descriptor.html
index a1f93c1b..3ae0ed05 100644
--- a/structip__grid__descriptor__mod_1_1ip__grid__descriptor.html
+++ b/structip__grid__descriptor__mod_1_1ip__grid__descriptor.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__grid__mod_1_1ip__grid.html b/structip__grid__mod_1_1ip__grid.html
index 1c001197..6b38ae6f 100644
--- a/structip__grid__mod_1_1ip__grid.html
+++ b/structip__grid__mod_1_1ip__grid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html b/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html
index 05f65d09..50329453 100644
--- a/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html
+++ b/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__mercator__grid__mod_1_1ip__mercator__grid.html b/structip__mercator__grid__mod_1_1ip__mercator__grid.html
index 158e46d1..9fee703e 100644
--- a/structip__mercator__grid__mod_1_1ip__mercator__grid.html
+++ b/structip__mercator__grid__mod_1_1ip__mercator__grid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html b/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html
index 6e234692..87045228 100644
--- a/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html
+++ b/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html b/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html
index 4c3e0a7b..cb1ff911 100644
--- a/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html
+++ b/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html b/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html
index 357ba0ef..8ba671d8 100644
--- a/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html
+++ b/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/structip__station__points__grid__mod_1_1ip__station__points__grid.html b/structip__station__points__grid__mod_1_1ip__station__points__grid.html
index 7f44d5ae..743c02d6 100644
--- a/structip__station__points__grid__mod_1_1ip__station__points__grid.html
+++ b/structip__station__points__grid__mod_1_1ip__station__points__grid.html
@@ -26,7 +26,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">NCEPLIBS-ip
-   &#160;<span id="projectnumber">4.4.0</span>
+   &#160;<span id="projectnumber">5.0.0</span>
    </div>
   </td>
  </tr>
diff --git a/tabs.css b/tabs.css
index 85a0cd5b..7d45d36c 100644
--- a/tabs.css
+++ b/tabs.css
@@ -1 +1 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
diff --git a/ver-4.4.0/annotated.html b/ver-4.4.0/annotated.html
new file mode 100644
index 00000000..4b10de2e
--- /dev/null
+++ b/ver-4.4.0/annotated.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Data Types List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('annotated.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Data Types List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the data types with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacebicubic__interp__mod.html" target="_self">bicubic_interp_mod</a></td><td class="desc">Bicubic interpolation routines for scalars and vectors </td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html" target="_self">interpolate_bicubic</a></td><td class="desc"></td></tr>
+<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacebilinear__interp__mod.html" target="_self">bilinear_interp_mod</a></td><td class="desc">Bilinear interpolation routines for scalars and vectors </td></tr>
+<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html" target="_self">interpolate_bilinear</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacebudget__interp__mod.html" target="_self">budget_interp_mod</a></td><td class="desc">Budget interpolation routines for scalars and vectors </td></tr>
+<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html" target="_self">interpolate_budget</a></td><td class="desc"></td></tr>
+<tr id="row_3_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacegdswzd__mod.html" target="_self">gdswzd_mod</a></td><td class="desc">Driver module for gdswzd routines </td></tr>
+<tr id="row_3_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html" target="_self">gdswzd</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__equid__cylind__grid__mod.html" target="_self">ip_equid_cylind_grid_mod</a></td><td class="desc">Equidistant cylindrical grib decoder and grid coordinate transformations </td></tr>
+<tr id="row_4_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html" target="_self">ip_equid_cylind_grid</a></td><td class="desc"></td></tr>
+<tr id="row_5_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__gaussian__grid__mod.html" target="_self">ip_gaussian_grid_mod</a></td><td class="desc">Gaussian grid coordinate transformations </td></tr>
+<tr id="row_5_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html" target="_self">ip_gaussian_grid</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__grid__descriptor__mod.html" target="_self">ip_grid_descriptor_mod</a></td><td class="desc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions </td></tr>
+<tr id="row_6_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html" target="_self">grib1_descriptor</a></td><td class="desc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array </td></tr>
+<tr id="row_6_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html" target="_self">grib2_descriptor</a></td><td class="desc">Grib-2 descriptor containing a grib2 GDT represented by an integer array </td></tr>
+<tr id="row_6_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html" target="_self">init_descriptor</a></td><td class="desc"></td></tr>
+<tr id="row_6_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" target="_self">ip_grid_descriptor</a></td><td class="desc">Abstract descriptor object which represents a grib1 or grib2 descriptor </td></tr>
+<tr id="row_6_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html" target="_self">operator(==)</a></td><td class="desc"></td></tr>
+<tr id="row_7_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__grid__factory__mod.html" target="_self">ip_grid_factory_mod</a></td><td class="desc">Routines for creating an ip_grid given a Grib descriptor </td></tr>
+<tr id="row_7_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html" target="_self">init_grid</a></td><td class="desc"></td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__grid__mod.html" target="_self">ip_grid_mod</a></td><td class="desc">Abstract <a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a> type </td></tr>
+<tr id="row_8_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html" target="_self">gdswzd_interface</a></td><td class="desc"></td></tr>
+<tr id="row_8_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html" target="_self">init_grib1_interface</a></td><td class="desc"></td></tr>
+<tr id="row_8_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html" target="_self">init_grib2_interface</a></td><td class="desc"></td></tr>
+<tr id="row_8_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__mod_1_1ip__grid.html" target="_self">ip_grid</a></td><td class="desc">Abstract grid that holds fields and methods common to all grids </td></tr>
+<tr id="row_8_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html" target="_self">operator(==)</a></td><td class="desc">Check equality </td></tr>
+<tr id="row_9_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_9_" class="arrow" onclick="toggleFolder('9_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__lambert__conf__grid__mod.html" target="_self">ip_lambert_conf_grid_mod</a></td><td class="desc">Lambert conformal grib decoder and grid coordinate transformations </td></tr>
+<tr id="row_9_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html" target="_self">ip_lambert_conf_grid</a></td><td class="desc"></td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__mercator__grid__mod.html" target="_self">ip_mercator_grid_mod</a></td><td class="desc">GDS wizard for mercator cylindrical </td></tr>
+<tr id="row_10_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html" target="_self">ip_mercator_grid</a></td><td class="desc"></td></tr>
+<tr id="row_11_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_11_" class="arrow" onclick="toggleFolder('11_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__polar__stereo__grid__mod.html" target="_self">ip_polar_stereo_grid_mod</a></td><td class="desc">GDS wizard for polar stereographic azimuthal </td></tr>
+<tr id="row_11_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html" target="_self">ip_polar_stereo_grid</a></td><td class="desc"></td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_12_" class="arrow" onclick="toggleFolder('12_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html" target="_self">ip_rot_equid_cylind_egrid_mod</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E </td></tr>
+<tr id="row_12_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html" target="_self">ip_rot_equid_cylind_egrid</a></td><td class="desc"></td></tr>
+<tr id="row_13_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_13_" class="arrow" onclick="toggleFolder('13_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html" target="_self">ip_rot_equid_cylind_grid_mod</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D </td></tr>
+<tr id="row_13_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html" target="_self">ip_rot_equid_cylind_grid</a></td><td class="desc"></td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_14_" class="arrow" onclick="toggleFolder('14_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__station__points__grid__mod.html" target="_self">ip_station_points_grid_mod</a></td><td class="desc">Interpolate gridded data to a series of station points </td></tr>
+<tr id="row_14_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html" target="_self">ip_station_points_grid</a></td><td class="desc"></td></tr>
+<tr id="row_15_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_15_" class="arrow" onclick="toggleFolder('15_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceipolates__mod.html" target="_self">ipolates_mod</a></td><td class="desc">Top-level driver for scalar interpolation interpolation routine ipolates() </td></tr>
+<tr id="row_15_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceipolates__mod_1_1ipolates.html" target="_self">ipolates</a></td><td class="desc"></td></tr>
+<tr id="row_16_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_16_" class="arrow" onclick="toggleFolder('16_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceipolatev__mod.html" target="_self">ipolatev_mod</a></td><td class="desc">Top-level driver for vector interpolation interpolation routine ipolatev() </td></tr>
+<tr id="row_16_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html" target="_self">ipolatev</a></td><td class="desc"></td></tr>
+<tr id="row_17_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_17_" class="arrow" onclick="toggleFolder('17_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceneighbor__budget__interp__mod.html" target="_self">neighbor_budget_interp_mod</a></td><td class="desc">Interpolate scalar fields (neighbor) </td></tr>
+<tr id="row_17_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html" target="_self">interpolate_neighbor_budget</a></td><td class="desc"></td></tr>
+<tr id="row_18_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_18_" class="arrow" onclick="toggleFolder('18_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceneighbor__interp__mod.html" target="_self">neighbor_interp_mod</a></td><td class="desc">Interpolate scalar fields (neighbor) </td></tr>
+<tr id="row_18_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html" target="_self">interpolate_neighbor</a></td><td class="desc"></td></tr>
+<tr id="row_19_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_19_" class="arrow" onclick="toggleFolder('19_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacespectral__interp__mod.html" target="_self">spectral_interp_mod</a></td><td class="desc">Interpolate spectral </td></tr>
+<tr id="row_19_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html" target="_self">interpolate_spectral</a></td><td class="desc"></td></tr>
+<tr id="row_19_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacespectral__interp__mod_1_1polates4.html" target="_self">polates4</a></td><td class="desc"></td></tr>
+<tr id="row_19_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacespectral__interp__mod_1_1polatev4.html" target="_self">polatev4</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/annotated_dup.js b/ver-4.4.0/annotated_dup.js
new file mode 100644
index 00000000..fdb0e0fd
--- /dev/null
+++ b/ver-4.4.0/annotated_dup.js
@@ -0,0 +1,73 @@
+var annotated_dup =
+[
+    [ "bicubic_interp_mod", "namespacebicubic__interp__mod.html", [
+      [ "interpolate_bicubic", "interfacebicubic__interp__mod_1_1interpolate__bicubic.html", "interfacebicubic__interp__mod_1_1interpolate__bicubic" ]
+    ] ],
+    [ "bilinear_interp_mod", "namespacebilinear__interp__mod.html", [
+      [ "interpolate_bilinear", "interfacebilinear__interp__mod_1_1interpolate__bilinear.html", "interfacebilinear__interp__mod_1_1interpolate__bilinear" ]
+    ] ],
+    [ "budget_interp_mod", "namespacebudget__interp__mod.html", [
+      [ "interpolate_budget", "interfacebudget__interp__mod_1_1interpolate__budget.html", "interfacebudget__interp__mod_1_1interpolate__budget" ]
+    ] ],
+    [ "gdswzd_mod", "namespacegdswzd__mod.html", [
+      [ "gdswzd", "interfacegdswzd__mod_1_1gdswzd.html", "interfacegdswzd__mod_1_1gdswzd" ]
+    ] ],
+    [ "ip_equid_cylind_grid_mod", "namespaceip__equid__cylind__grid__mod.html", [
+      [ "ip_equid_cylind_grid", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid" ]
+    ] ],
+    [ "ip_gaussian_grid_mod", "namespaceip__gaussian__grid__mod.html", [
+      [ "ip_gaussian_grid", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html", "structip__gaussian__grid__mod_1_1ip__gaussian__grid" ]
+    ] ],
+    [ "ip_grid_descriptor_mod", "namespaceip__grid__descriptor__mod.html", [
+      [ "grib1_descriptor", "structip__grid__descriptor__mod_1_1grib1__descriptor.html", "structip__grid__descriptor__mod_1_1grib1__descriptor" ],
+      [ "grib2_descriptor", "structip__grid__descriptor__mod_1_1grib2__descriptor.html", "structip__grid__descriptor__mod_1_1grib2__descriptor" ],
+      [ "init_descriptor", "interfaceip__grid__descriptor__mod_1_1init__descriptor.html", "interfaceip__grid__descriptor__mod_1_1init__descriptor" ],
+      [ "ip_grid_descriptor", "structip__grid__descriptor__mod_1_1ip__grid__descriptor.html", "structip__grid__descriptor__mod_1_1ip__grid__descriptor" ],
+      [ "operator(==)", "interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html", "interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08" ]
+    ] ],
+    [ "ip_grid_factory_mod", "namespaceip__grid__factory__mod.html", [
+      [ "init_grid", "interfaceip__grid__factory__mod_1_1init__grid.html", "interfaceip__grid__factory__mod_1_1init__grid" ]
+    ] ],
+    [ "ip_grid_mod", "namespaceip__grid__mod.html", [
+      [ "gdswzd_interface", "interfaceip__grid__mod_1_1gdswzd__interface.html", "interfaceip__grid__mod_1_1gdswzd__interface" ],
+      [ "init_grib1_interface", "interfaceip__grid__mod_1_1init__grib1__interface.html", "interfaceip__grid__mod_1_1init__grib1__interface" ],
+      [ "init_grib2_interface", "interfaceip__grid__mod_1_1init__grib2__interface.html", "interfaceip__grid__mod_1_1init__grib2__interface" ],
+      [ "ip_grid", "structip__grid__mod_1_1ip__grid.html", "structip__grid__mod_1_1ip__grid" ],
+      [ "operator(==)", "interfaceip__grid__mod_1_1operator_07_0a_0a_08.html", "interfaceip__grid__mod_1_1operator_07_0a_0a_08" ]
+    ] ],
+    [ "ip_lambert_conf_grid_mod", "namespaceip__lambert__conf__grid__mod.html", [
+      [ "ip_lambert_conf_grid", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid" ]
+    ] ],
+    [ "ip_mercator_grid_mod", "namespaceip__mercator__grid__mod.html", [
+      [ "ip_mercator_grid", "structip__mercator__grid__mod_1_1ip__mercator__grid.html", "structip__mercator__grid__mod_1_1ip__mercator__grid" ]
+    ] ],
+    [ "ip_polar_stereo_grid_mod", "namespaceip__polar__stereo__grid__mod.html", [
+      [ "ip_polar_stereo_grid", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid" ]
+    ] ],
+    [ "ip_rot_equid_cylind_egrid_mod", "namespaceip__rot__equid__cylind__egrid__mod.html", [
+      [ "ip_rot_equid_cylind_egrid", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid" ]
+    ] ],
+    [ "ip_rot_equid_cylind_grid_mod", "namespaceip__rot__equid__cylind__grid__mod.html", [
+      [ "ip_rot_equid_cylind_grid", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid" ]
+    ] ],
+    [ "ip_station_points_grid_mod", "namespaceip__station__points__grid__mod.html", [
+      [ "ip_station_points_grid", "structip__station__points__grid__mod_1_1ip__station__points__grid.html", "structip__station__points__grid__mod_1_1ip__station__points__grid" ]
+    ] ],
+    [ "ipolates_mod", "namespaceipolates__mod.html", [
+      [ "ipolates", "interfaceipolates__mod_1_1ipolates.html", "interfaceipolates__mod_1_1ipolates" ]
+    ] ],
+    [ "ipolatev_mod", "namespaceipolatev__mod.html", [
+      [ "ipolatev", "interfaceipolatev__mod_1_1ipolatev.html", "interfaceipolatev__mod_1_1ipolatev" ]
+    ] ],
+    [ "neighbor_budget_interp_mod", "namespaceneighbor__budget__interp__mod.html", [
+      [ "interpolate_neighbor_budget", "interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html", "interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget" ]
+    ] ],
+    [ "neighbor_interp_mod", "namespaceneighbor__interp__mod.html", [
+      [ "interpolate_neighbor", "interfaceneighbor__interp__mod_1_1interpolate__neighbor.html", "interfaceneighbor__interp__mod_1_1interpolate__neighbor" ]
+    ] ],
+    [ "spectral_interp_mod", "namespacespectral__interp__mod.html", [
+      [ "interpolate_spectral", "interfacespectral__interp__mod_1_1interpolate__spectral.html", "interfacespectral__interp__mod_1_1interpolate__spectral" ],
+      [ "polates4", "interfacespectral__interp__mod_1_1polates4.html", "interfacespectral__interp__mod_1_1polates4" ],
+      [ "polatev4", "interfacespectral__interp__mod_1_1polatev4.html", "interfacespectral__interp__mod_1_1polatev4" ]
+    ] ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/bc_s.png b/ver-4.4.0/bc_s.png
new file mode 100644
index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2
GIT binary patch
literal 676
zcmV;V0$crwP)<h;3K|Lk000e1NJLTq000O80015c1^@s65rAI}0007ONkl<ZcmeI5
z%WD%+6voe;xyj6=NhXt~4{e$zF*P<SZp4L@2Hd!iQY<tJD@e5{RU55hl&Talf{KWb
zN*6A=C`Gqz5#NvcXzNOCOH(I9n<#?l<k5ws2omoMCgj%s3y1G=&gJ~>y__>=_9%My
z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s
z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK
ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS
zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3
zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U
zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o%
zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2
zBrW#G7Ss9wvzr@>H*`r>zE<Gz)cj&*s5lRy$b&*W@2j<GZEpXZ$P|Z!4Q$_|`5gj>
z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66
zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000<
KMNUMnLSTYoA~SLT

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/bdwn.png b/ver-4.4.0/bdwn.png
new file mode 100644
index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452
GIT binary patch
literal 147
zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C<wUB513~7
zF-Lk{?g8$ijf`2F^ip|Vw7EpzIJxiU`6~>2wk~_T<sM_r%les%%^JdHy*A#$ew5wb
vr&wL1c8#4j*F5jfGT)c(PZrEb5O3m+yDrVre6KeTXbXd<tDnm{r-UW|3$!!q

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/bicubic__interp__mod_8F90.html b/ver-4.4.0/bicubic__interp__mod_8F90.html
new file mode 100644
index 00000000..dec5b6da
--- /dev/null
+++ b/ver-4.4.0/bicubic__interp__mod_8F90.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: bicubic_interp_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('bicubic__interp__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">bicubic_interp_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Bicubic interpolation routines for scalars and vectors.  
+<a href="#details">More...</a></p>
+
+<p><a href="bicubic__interp__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html">bicubic_interp_mod::interpolate_bicubic</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespacebicubic__interp__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebicubic__interp__mod.html">bicubic_interp_mod</a></td></tr>
+<tr class="memdesc:namespacebicubic__interp__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bicubic interpolation routines for scalars and vectors. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a54a442e47f1be9511c1684a337d7e2d1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">bicubic_interp_mod::interpolate_bicubic_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a54a442e47f1be9511c1684a337d7e2d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bicubic interpolation from any grid to any grid for scalar fields.  <a href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">More...</a><br /></td></tr>
+<tr class="separator:a54a442e47f1be9511c1684a337d7e2d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d27db7d350fc2699aaf5057c3b53d16"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">bicubic_interp_mod::interpolate_bicubic_vector</a> (ipopt, grid_in, grid_out, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:a9d27db7d350fc2699aaf5057c3b53d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bicubic interpolation from any grid to any grid for vector fields.  <a href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">More...</a><br /></td></tr>
+<tr class="separator:a9d27db7d350fc2699aaf5057c3b53d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Bicubic interpolation routines for scalars and vectors. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="bicubic__interp__mod_8F90_source.html">bicubic_interp_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="bicubic__interp__mod_8F90.html">bicubic_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/bicubic__interp__mod_8F90.js b/ver-4.4.0/bicubic__interp__mod_8F90.js
new file mode 100644
index 00000000..6b9a6998
--- /dev/null
+++ b/ver-4.4.0/bicubic__interp__mod_8F90.js
@@ -0,0 +1,6 @@
+var bicubic__interp__mod_8F90 =
+[
+    [ "interpolate_bicubic", "interfacebicubic__interp__mod_1_1interpolate__bicubic.html", "interfacebicubic__interp__mod_1_1interpolate__bicubic" ],
+    [ "interpolate_bicubic_scalar", "bicubic__interp__mod_8F90.html#a54a442e47f1be9511c1684a337d7e2d1", null ],
+    [ "interpolate_bicubic_vector", "bicubic__interp__mod_8F90.html#a9d27db7d350fc2699aaf5057c3b53d16", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/bicubic__interp__mod_8F90_source.html b/ver-4.4.0/bicubic__interp__mod_8F90_source.html
new file mode 100644
index 00000000..564d59b2
--- /dev/null
+++ b/ver-4.4.0/bicubic__interp__mod_8F90_source.html
@@ -0,0 +1,565 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: bicubic_interp_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('bicubic__interp__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">bicubic_interp_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="bicubic__interp__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="namespacebicubic__interp__mod.html">    8</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespacebicubic__interp__mod.html">bicubic_interp_mod</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacepolfix__mod.html">polfix_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grids__mod.html">ip_grids_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html">interpolate_bicubic</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html">   17</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html">interpolate_bicubic</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">interpolate_bicubic_scalar</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">interpolate_bicubic_vector</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html">interpolate_bicubic</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="comment">! Smallest positive real value (use for equality comparisons)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keywordtype">  REAL</span> :: TINYREAL=tiny(1.0)</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077">   80</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">interpolate_bicubic_scalar</a>(IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;       MI,MO,KM,IBI,LI,GI, &amp;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;       NO,RLAT,RLON,IBO,LO,GO,IRET)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">INTEGER</span>,                <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordtype">INTEGER</span>,                <span class="keywordtype">INTENT(IN   )</span> :: MI,MO,KM</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordtype">INTEGER</span>,                <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordtype">INTEGER</span>,                <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordtype">INTEGER</span>,                <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,              <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,              <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordtype">    REAL</span>,                   <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordtype">    REAL</span>,                   <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordtype">    REAL</span>,                   <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordtype">    REAL</span>,                   <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keywordtype">INTEGER</span>                               :: IJX(4),IJY(4)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keywordtype">INTEGER</span>                               :: MCON,MP,N,I,J,K</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordtype">INTEGER</span>                               :: NK,NV</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keywordtype">LOGICAL</span>                               :: SAME_GRIDI, SAME_GRIDO</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keywordtype">    REAL</span>                                  :: PMP,XIJ,YIJ,XF,YF</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">    REAL</span>                                  :: G,W,GMIN,GMAX</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">    REAL</span>                                  :: WX(4),WY(4)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordtype">    REAL</span>                                  :: XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="comment">! Save coeffecients between calls and only compute if grids have changed</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: RLATX(:),RLONX(:)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: WXY(:,:,:)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">INTEGER</span>,                    <span class="keywordtype">SAVE</span>  :: NOX=-1,iretx=-1</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: NXY(:,:,:),NC(:)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span>,<span class="keywordtype">save</span> :: prev_grid_in, prev_grid_out</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    iret=0</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    mcon=ipopt(1)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    mp=ipopt(2)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordflow">IF</span>(mp.EQ.-1.OR.mp.EQ.0) mp=50</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keywordflow">IF</span>(mp.LT.0.OR.mp.GT.100) iret=32</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    pmp=mp*0.01</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">if</span> (.not. <span class="keyword">allocated</span>(prev_grid_in) .or. .not. <span class="keyword">allocated</span>(prev_grid_out)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;       <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;       <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;       same_gridi = .false.</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;       same_grido = .false.</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;       same_gridi = grid_in == prev_grid_in</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;       same_grido = grid_out == prev_grid_out</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;       <span class="keywordflow">if</span> (.not. same_gridi .or. .not. same_grido) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_in)</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_out)</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;          <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;          <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordflow">       class default</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="comment">!  SAVE OR SKIP WEIGHT COMPUTATION</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.(to_station_points.OR..NOT.same_gridi.OR..NOT.same_grido))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;       <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out,0,mo,fill,xpts,ypts,rlon,rlat,no)</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv)</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;       <span class="comment">!  ALLOCATE AND SAVE GRID DATA</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;       <span class="keywordflow">IF</span>(nox.NE.no) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;          <span class="keywordflow">IF</span>(nox.GE.0) <span class="keyword">DEALLOCATE</span>(rlatx,rlonx,nc,nxy,wxy)</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;          <span class="keyword">ALLOCATE</span>(rlatx(no),rlonx(no),nc(no),nxy(4,4,no),wxy(4,4,no))</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;          nox=no</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;       iretx=iret</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;       <span class="comment">!  COMPUTE WEIGHTS</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,XIJ,YIJ,IJX,IJY,XF,YF,J,I,WX,WY) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;             rlonx(n)=rlon(n)</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;             rlatx(n)=rlat(n)</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;             xij=xpts(n)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;             yij=ypts(n)</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;             <span class="keywordflow">IF</span>(abs(xij-fill).GT.tinyreal.AND.abs(yij-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                ijx(1:4)=floor(xij-1)+(/0,1,2,3/)</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                ijy(1:4)=floor(yij-1)+(/0,1,2,3/)</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                xf=xij-ijx(2)</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                yf=yij-ijy(2)</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                <span class="keywordflow">DO</span> j=1,4</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                   <span class="keywordflow">DO</span> i=1,4</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                      nxy(i,j,n) = grid_in%field_pos(ijx(i), ijy(j))</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keywordflow">                   ENDDO</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                <span class="keywordflow">IF</span>(minval(nxy(1:4,1:4,n)).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                   <span class="comment">!  BICUBIC WHERE 16-POINT STENCIL IS AVAILABLE</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                   nc(n)=1</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                   wx(1)=xf*(1-xf)*(2-xf)/(-6.)</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                   wx(2)=(xf+1)*(1-xf)*(2-xf)/2.</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                   wx(3)=(xf+1)*xf*(2-xf)/2.</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                   wx(4)=(xf+1)*xf*(1-xf)/(-6.)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                   wy(1)=yf*(1-yf)*(2-yf)/(-6.)</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;                   wy(2)=(yf+1)*(1-yf)*(2-yf)/2.</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;                   wy(3)=(yf+1)*yf*(2-yf)/2.</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;                   wy(4)=(yf+1)*yf*(1-yf)/(-6.)</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;                <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;                   <span class="comment">!  BILINEAR ELSEWHERE NEAR THE EDGE OF THE GRID</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;                   nc(n)=2</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;                   wx(1)=0</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;                   wx(2)=(1-xf)</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;                   wx(3)=xf</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;                   wx(4)=0</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;                   wy(1)=0</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                   wy(2)=(1-yf)</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;                   wy(3)=yf</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                   wy(4)=0</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                <span class="keywordflow">DO</span> j=1,4</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;                   <span class="keywordflow">DO</span> i=1,4</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;                      wxy(i,j,n)=wx(i)*wy(j)</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="keywordflow">                   ENDDO</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;                nc(n)=0</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="comment">!  INTERPOLATE OVER ALL FIELDS</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.iretx.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;          no=nox</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;             rlon(n)=rlonx(n)</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;             rlat(n)=rlatx(n)</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(NK,K,N,G,W,GMIN,GMAX,J,I) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;       <span class="keywordflow">DO</span> nk=1,no*km</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;          k=(nk-1)/no+1</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;          n=nk-no*(k-1)</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;          <span class="keywordflow">IF</span>(nc(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;             g=0</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;             w=0</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;             <span class="keywordflow">IF</span>(mcon.GT.0) gmin=huge(gmin)</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;             <span class="keywordflow">IF</span>(mcon.GT.0) gmax=-huge(gmax)</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;             <span class="keywordflow">DO</span> j=nc(n),5-nc(n)</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;                <span class="keywordflow">DO</span> i=nc(n),5-nc(n)</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;                   <span class="keywordflow">IF</span>(nxy(i,j,n).GT.0)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;                      <span class="keywordflow">IF</span>(ibi(k).EQ.0.OR.li(nxy(i,j,n),k))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                         g=g+wxy(i,j,n)*gi(nxy(i,j,n),k)</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;                         w=w+wxy(i,j,n)</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;                         <span class="keywordflow">IF</span>(mcon.GT.0) gmin=min(gmin,gi(nxy(i,j,n),k))</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;                         <span class="keywordflow">IF</span>(mcon.GT.0) gmax=max(gmax,gi(nxy(i,j,n),k))</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;             lo(n,k)=w.GE.pmp</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;             <span class="keywordflow">IF</span>(lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;                go(n,k)=g/w</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;                <span class="keywordflow">IF</span>(mcon.GT.0) go(n,k)=min(max(go(n,k),gmin),gmax)</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;                go(n,k)=0.</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;             lo(n,k)=.false.</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;             go(n,k)=0.</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;          ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;          <span class="keywordflow">IF</span>(.NOT.all(lo(1:no,k))) ibo(k)=1</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;       <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="keywordflow">       type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfixs</a>(no,mo,km,rlat,ibo,lo,go)</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) iret=iretx</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) no=0</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">interpolate_bicubic_scalar</a></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
+<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b">  338</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">interpolate_bicubic_vector</a>(ipopt, grid_in, grid_out, &amp;</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;       mi, mo, km, ibi, li, ui, vi, &amp;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;       no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20)</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM),MI,MO,KM</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,          <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO),CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="keywordtype">INTEGER</span>                           :: IJX(4),IJY(4)</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <span class="keywordtype">INTEGER</span>                           :: MCON,MP,N,I,J,K,NK,NV</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keywordtype">LOGICAL</span>                           :: SAME_GRIDI,SAME_GRIDO</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="keywordtype">    REAL</span>                              :: CM,SM,UROT,VROT</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="keywordtype">    REAL</span>                              :: PMP,XIJ,YIJ,XF,YF</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="keywordtype">    REAL</span>                              :: U,V,W,UMIN,UMAX,VMIN,VMAX</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="keywordtype">    REAL</span>                              :: XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="keywordtype">    REAL</span>                              :: WX(4),WY(4)</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keywordtype">    REAL</span>                              :: XPTI(MI),YPTI(MI),RLOI(MI),RLAI(MI)</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="keywordtype">    REAL</span>                              :: CROI(MI),SROI(MI)</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160; </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="comment">! Save coeffecients between calls and only compute if grids have changed</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span>  :: RLATX(:),RLONX(:),CROTX(:),SROTX(:)</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span>  :: WXY(:,:,:),CXY(:,:,:),SXY(:,:,:)</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keywordtype">INTEGER</span>,                     <span class="keywordtype">SAVE</span>  :: NOX=-1,iretx=-1</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span>  :: NXY(:,:,:),NC(:)</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span>, <span class="keywordtype">save</span> :: prev_grid_in, prev_grid_out</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    iret=0</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    mcon=ipopt(1)</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    mp=ipopt(2)</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    <span class="keywordflow">IF</span>(mp.EQ.-1.OR.mp.EQ.0) mp=50</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    <span class="keywordflow">IF</span>(mp.LT.0.OR.mp.GT.100) iret=32</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    pmp=mp*0.01</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160; </div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    <span class="keywordflow">if</span> (.not. <span class="keyword">allocated</span>(prev_grid_in) .or. .not. <span class="keyword">allocated</span>(prev_grid_out)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;       <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;       <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160; </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;       same_gridi = .false.</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;       same_grido = .false.</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;       same_gridi = grid_in == prev_grid_in</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;       same_grido = grid_out == prev_grid_out</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160; </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;       <span class="keywordflow">if</span> (.not. same_gridi .or. .not. same_grido) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_in)</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_out)</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;          <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;          <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160; </div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="keywordflow">       class default</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160; </div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    <span class="comment">!  SAVE OR SKIP WEIGHT COMPUTATION</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.(to_station_points.OR..NOT.same_gridi.OR..NOT.same_grido))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;       <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no,crot,srot)</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv)</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in, 0,mi,fill,xpti,ypti,rloi,rlai,nv,croi,sroi)</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;       <span class="comment">!  ALLOCATE AND SAVE GRID DATA</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;       <span class="keywordflow">IF</span>(nox.NE.no) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;          <span class="keywordflow">IF</span>(nox.GE.0) <span class="keyword">DEALLOCATE</span>(rlatx,rlonx,crotx,srotx,nc,nxy,wxy,cxy,sxy)</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;          <span class="keyword">ALLOCATE</span>(rlatx(no),rlonx(no),crotx(no),srotx(no),nc(no), &amp;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;               nxy(4,4,no),wxy(4,4,no),cxy(4,4,no),sxy(4,4,no))</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;          nox=no</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;       iretx=iret</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;       <span class="comment">!  COMPUTE WEIGHTS</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,XIJ,YIJ,IJX,IJY,XF,YF,J,I,WX,WY,CM,SM) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;             rlonx(n)=rlon(n)</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;             rlatx(n)=rlat(n)</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;             crotx(n)=crot(n)</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;             srotx(n)=srot(n)</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;             xij=xpts(n)</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;             yij=ypts(n)</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;             <span class="keywordflow">IF</span>(abs(xij-fill).GT.tinyreal.AND.abs(yij-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;                ijx(1:4)=floor(xij-1)+(/0,1,2,3/)</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;                ijy(1:4)=floor(yij-1)+(/0,1,2,3/)</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;                xf=xij-ijx(2)</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;                yf=yij-ijy(2)</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;                <span class="keywordflow">DO</span> j=1,4</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;                   <span class="keywordflow">DO</span> i=1,4</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;                      nxy(i,j,n) = grid_in%field_pos(ijx(i), ijy(j))</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="keywordflow">                   ENDDO</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;                <span class="keywordflow">IF</span>(minval(nxy(1:4,1:4,n)).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;                   <span class="comment">!  BICUBIC WHERE 16-POINT STENCIL IS AVAILABLE</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;                   nc(n)=1</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;                   wx(1)=xf*(1-xf)*(2-xf)/(-6.)</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;                   wx(2)=(xf+1)*(1-xf)*(2-xf)/2.</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;                   wx(3)=(xf+1)*xf*(2-xf)/2.</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;                   wx(4)=(xf+1)*xf*(1-xf)/(-6.)</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;                   wy(1)=yf*(1-yf)*(2-yf)/(-6.)</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;                   wy(2)=(yf+1)*(1-yf)*(2-yf)/2.</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;                   wy(3)=(yf+1)*yf*(2-yf)/2.</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;                   wy(4)=(yf+1)*yf*(1-yf)/(-6.)</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;                <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;                   <span class="comment">!  BILINEAR ELSEWHERE NEAR THE EDGE OF THE GRID</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;                   nc(n)=2</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;                   wx(1)=0</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;                   wx(2)=(1-xf)</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;                   wx(3)=xf</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;                   wx(4)=0</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;                   wy(1)=0</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;                   wy(2)=(1-yf)</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;                   wy(3)=yf</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;                   wy(4)=0</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;                <span class="keywordflow">DO</span> j=1,4</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;                   <span class="keywordflow">DO</span> i=1,4</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;                      wxy(i,j,n)=wx(i)*wy(j)</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;                      <span class="keywordflow">IF</span>(nxy(i,j,n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;                         <span class="keyword">CALL </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(rlai(nxy(i,j,n)),rloi(nxy(i,j,n)), &amp;</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;                              rlat(n),rlon(n),cm,sm)</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;                         cxy(i,j,n)=cm*croi(nxy(i,j,n))+sm*sroi(nxy(i,j,n))</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;                         sxy(i,j,n)=sm*croi(nxy(i,j,n))-cm*sroi(nxy(i,j,n))</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="keywordflow">                   ENDDO</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;                nc(n)=0</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <span class="comment">!  INTERPOLATE OVER ALL FIELDS</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.iretx.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;          no=nox</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;             rlon(n)=rlonx(n)</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;             rlat(n)=rlatx(n)</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;             crot(n)=crotx(n)</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;             srot(n)=srotx(n)</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(NK,K,N,U,V,W,UMIN,UMAX,VMIN,VMAX,UROT,VROT,J,I) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;       <span class="keywordflow">DO</span> nk=1,no*km</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;          k=(nk-1)/no+1</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;          n=nk-no*(k-1)</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;          <span class="keywordflow">IF</span>(nc(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;             u=0</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;             v=0</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;             w=0</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;             <span class="keywordflow">IF</span>(mcon.GT.0) umin=huge(umin)</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;             <span class="keywordflow">IF</span>(mcon.GT.0) umax=-huge(umax)</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;             <span class="keywordflow">IF</span>(mcon.GT.0) vmin=huge(vmin)</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;             <span class="keywordflow">IF</span>(mcon.GT.0) vmax=-huge(vmax)</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;             <span class="keywordflow">DO</span> j=nc(n),5-nc(n)</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;                <span class="keywordflow">DO</span> i=nc(n),5-nc(n)</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;                   <span class="keywordflow">IF</span>(nxy(i,j,n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;                      <span class="keywordflow">IF</span>(ibi(k).EQ.0.OR.li(nxy(i,j,n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;                         urot=cxy(i,j,n)*ui(nxy(i,j,n),k)-sxy(i,j,n)*vi(nxy(i,j,n),k)</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;                         vrot=sxy(i,j,n)*ui(nxy(i,j,n),k)+cxy(i,j,n)*vi(nxy(i,j,n),k)</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;                         u=u+wxy(i,j,n)*urot</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;                         v=v+wxy(i,j,n)*vrot</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;                         w=w+wxy(i,j,n)</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;                         <span class="keywordflow">IF</span>(mcon.GT.0) umin=min(umin,urot)</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;                         <span class="keywordflow">IF</span>(mcon.GT.0) umax=max(umax,urot)</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;                         <span class="keywordflow">IF</span>(mcon.GT.0) vmin=min(vmin,vrot)</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;                         <span class="keywordflow">IF</span>(mcon.GT.0) vmax=max(vmax,vrot)</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;             lo(n,k)=w.GE.pmp</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;             <span class="keywordflow">IF</span>(lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;                urot=crot(n)*u-srot(n)*v</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;                vrot=srot(n)*u+crot(n)*v</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;                uo(n,k)=urot/w</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;                vo(n,k)=vrot/w</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;                <span class="keywordflow">IF</span>(mcon.GT.0) uo(n,k)=min(max(uo(n,k),umin),umax)</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;                <span class="keywordflow">IF</span>(mcon.GT.0) vo(n,k)=min(max(vo(n,k),vmin),vmax)</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;                uo(n,k)=0.</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;                vo(n,k)=0.</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;             lo(n,k)=.false.</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;             uo(n,k)=0.</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;             vo(n,k)=0.</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;          ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;          <span class="keywordflow">IF</span>(.NOT.all(lo(1:no,k))) ibo(k)=1</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;       <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="keywordflow">       type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfixv</a>(no,mo,km,rlat,rlon,ibo,lo,uo,vo)</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) iret=iretx</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) no=0</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">interpolate_bicubic_vector</a></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160; </div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;<span class="keyword">end module </span><a class="code" href="namespacebicubic__interp__mod.html">bicubic_interp_mod</a></div>
+<div class="ttc" id="ainterfacebicubic__interp__mod_1_1interpolate__bicubic_html"><div class="ttname"><a href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html">bicubic_interp_mod::interpolate_bicubic</a></div><div class="ttdef"><b>Definition:</b> <a href="bicubic__interp__mod_8F90_source.html#l00017">bicubic_interp_mod.F90:17</a></div></div>
+<div class="ttc" id="ainterfacegdswzd__mod_1_1gdswzd_html"><div class="ttname"><a href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd_mod::gdswzd</a></div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00037">gdswzd_mod.F90:37</a></div></div>
+<div class="ttc" id="amovect_8F90_html_a5974e32c0cf90a65b39c68460d761882"><div class="ttname"><a href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a></div><div class="ttdeci">subroutine movect(FLAT, FLON, TLAT, TLON, CROT, SROT)</div><div class="ttdoc">This subprogram provides the rotation parameters to move a vector along a great circle from one posit...</div><div class="ttdef"><b>Definition:</b> <a href="movect_8F90_source.html#l00025">movect.F90:26</a></div></div>
+<div class="ttc" id="anamespacebicubic__interp__mod_html"><div class="ttname"><a href="namespacebicubic__interp__mod.html">bicubic_interp_mod</a></div><div class="ttdoc">Bicubic interpolation routines for scalars and vectors.</div><div class="ttdef"><b>Definition:</b> <a href="bicubic__interp__mod_8F90_source.html#l00008">bicubic_interp_mod.F90:8</a></div></div>
+<div class="ttc" id="anamespacebicubic__interp__mod_html_a54a442e47f1be9511c1684a337d7e2d1"><div class="ttname"><a href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">bicubic_interp_mod::interpolate_bicubic_scalar</a></div><div class="ttdeci">subroutine interpolate_bicubic_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">This subprogram performs bicubic interpolation from any grid to any grid for scalar fields.</div><div class="ttdef"><b>Definition:</b> <a href="bicubic__interp__mod_8F90_source.html#l00080">bicubic_interp_mod.F90:83</a></div></div>
+<div class="ttc" id="anamespacebicubic__interp__mod_html_a9d27db7d350fc2699aaf5057c3b53d16"><div class="ttname"><a href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">bicubic_interp_mod::interpolate_bicubic_vector</a></div><div class="ttdeci">subroutine interpolate_bicubic_vector(ipopt, grid_in, grid_out, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</div><div class="ttdoc">This subprogram performs bicubic interpolation from any grid to any grid for vector fields.</div><div class="ttdef"><b>Definition:</b> <a href="bicubic__interp__mod_8F90_source.html#l00338">bicubic_interp_mod.F90:341</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html"><div class="ttname"><a href="namespacegdswzd__mod.html">gdswzd_mod</a></div><div class="ttdoc">Driver module for gdswzd routines.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00025">gdswzd_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__grids__mod_html"><div class="ttname"><a href="namespaceip__grids__mod.html">ip_grids_mod</a></div><div class="ttdoc">Re-export the individual grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grids__mod_8F90_source.html#l00007">ip_grids_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html"><div class="ttname"><a href="namespacepolfix__mod.html">polfix_mod</a></div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00007">polfix_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><div class="ttname"><a href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfix_mod::polfixs</a></div><div class="ttdeci">subroutine, public polfixs(NM, NX, KM, RLAT, IB, LO, GO)</div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00029">polfix_mod.F90:30</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_aeefc8f045777f6d962d9ec539ef6007d"><div class="ttname"><a href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfix_mod::polfixv</a></div><div class="ttdeci">subroutine, public polfixv(NM, NX, KM, RLAT, RLON, IB, LO, UO, VO)</div><div class="ttdoc">Make multiple pole vector values consistent,.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00124">polfix_mod.F90:125</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="bicubic__interp__mod_8F90.html">bicubic_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/bilinear__interp__mod_8F90.html b/ver-4.4.0/bilinear__interp__mod_8F90.html
new file mode 100644
index 00000000..8f2b1392
--- /dev/null
+++ b/ver-4.4.0/bilinear__interp__mod_8F90.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: bilinear_interp_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('bilinear__interp__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">bilinear_interp_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Bilinear interpolation routines for scalars and vectors.  
+<a href="#details">More...</a></p>
+
+<p><a href="bilinear__interp__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html">bilinear_interp_mod::interpolate_bilinear</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespacebilinear__interp__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebilinear__interp__mod.html">bilinear_interp_mod</a></td></tr>
+<tr class="memdesc:namespacebilinear__interp__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bilinear interpolation routines for scalars and vectors. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a34d2eea4682104097dccf3e7ab6a9398"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">bilinear_interp_mod::interpolate_bilinear_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a34d2eea4682104097dccf3e7ab6a9398"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bilinear interpolation from any grid to any grid for scalar fields.  <a href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">More...</a><br /></td></tr>
+<tr class="separator:a34d2eea4682104097dccf3e7ab6a9398"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc218f8774d2af09299eb299d6f38e04"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">bilinear_interp_mod::interpolate_bilinear_vector</a> (ipopt, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:abc218f8774d2af09299eb299d6f38e04"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bilinear interpolation from any grid to any grid for vector fields.  <a href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">More...</a><br /></td></tr>
+<tr class="separator:abc218f8774d2af09299eb299d6f38e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Bilinear interpolation routines for scalars and vectors. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="bilinear__interp__mod_8F90_source.html">bilinear_interp_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="bilinear__interp__mod_8F90.html">bilinear_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/bilinear__interp__mod_8F90.js b/ver-4.4.0/bilinear__interp__mod_8F90.js
new file mode 100644
index 00000000..27b7b9c0
--- /dev/null
+++ b/ver-4.4.0/bilinear__interp__mod_8F90.js
@@ -0,0 +1,6 @@
+var bilinear__interp__mod_8F90 =
+[
+    [ "interpolate_bilinear", "interfacebilinear__interp__mod_1_1interpolate__bilinear.html", "interfacebilinear__interp__mod_1_1interpolate__bilinear" ],
+    [ "interpolate_bilinear_scalar", "bilinear__interp__mod_8F90.html#a34d2eea4682104097dccf3e7ab6a9398", null ],
+    [ "interpolate_bilinear_vector", "bilinear__interp__mod_8F90.html#abc218f8774d2af09299eb299d6f38e04", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/bilinear__interp__mod_8F90_source.html b/ver-4.4.0/bilinear__interp__mod_8F90_source.html
new file mode 100644
index 00000000..5ebd1e9d
--- /dev/null
+++ b/ver-4.4.0/bilinear__interp__mod_8F90_source.html
@@ -0,0 +1,534 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: bilinear_interp_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('bilinear__interp__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">bilinear_interp_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="bilinear__interp__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="namespacebilinear__interp__mod.html">    8</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespacebilinear__interp__mod.html">bilinear_interp_mod</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grids__mod.html">ip_grids_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacepolfix__mod.html">polfix_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html">interpolate_bilinear</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html">   19</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html">interpolate_bilinear</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">interpolate_bilinear_scalar</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">interpolate_bilinear_vector</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html">interpolate_bilinear</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  <span class="comment">! Smallest positive real value (use for equality comparisons)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keywordtype">  REAL</span> :: TINYREAL=tiny(1.0)</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65">   72</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">interpolate_bilinear_scalar</a>(IPOPT,grid_in,grid_out,MI,MO,KM,IBI,LI,GI,NO,RLAT,RLON,IBO,LO,GO,IRET)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20)</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: MI,MO,KM</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,             <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordtype">INTEGER</span>                              :: IJX(2),IJY(2)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordtype">INTEGER</span>                              :: MP,N,I,J,K</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordtype">INTEGER</span>                              :: NK,NV</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordtype">INTEGER</span>                              :: MSPIRAL,I1,J1,IXS,JXS</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">INTEGER</span>                              :: MX,KXS,KXT,IX,JX,NX</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordtype">LOGICAL</span>                              :: SAME_GRIDI, SAME_GRIDO</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordtype">    REAL</span>                                 :: WX(2),WY(2)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">    REAL</span>                                 :: XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordtype">    REAL</span>                                 :: PMP,XIJ,YIJ,XF,YF,G,W</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="comment">! Save coeffecients between calls and only compute if grids have changed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">INTEGER</span>,                    <span class="keywordtype">SAVE</span>  :: NOX=-1,iretx=-1</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: NXY(:,:,:)</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: RLATX(:),RLONX(:)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: WXY(:,:,:)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span>,<span class="keywordtype">save</span> :: prev_grid_in, prev_grid_out</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    iret=0</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    mp=ipopt(1)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordflow">IF</span>(mp.EQ.-1.OR.mp.EQ.0) mp=50</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordflow">IF</span>(mp.LT.0.OR.mp.GT.100) iret=32</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    pmp=mp*0.01</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    mspiral=max(ipopt(2),0)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordflow">if</span> (.not. <span class="keyword">allocated</span>(prev_grid_in) .or. .not. <span class="keyword">allocated</span>(prev_grid_out)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;       <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;       <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;       same_gridi = .false.</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;       same_grido = .false.</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;       same_gridi = grid_in == prev_grid_in</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;       same_grido = grid_out == prev_grid_out</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;       <span class="keywordflow">if</span> (.not. same_gridi .or. .not. same_grido) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_in)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_out)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;          <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;          <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keywordflow">       class default</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="comment">!  SAVE OR SKIP WEIGHT COMPUTATION</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordflow">IF</span>(iret==0.AND.(to_station_points.OR..NOT.same_gridi.OR..NOT.same_grido))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;       <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;       <span class="comment">!  ALLOCATE AND SAVE GRID DATA</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;       <span class="keywordflow">IF</span>(nox.NE.no) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;          <span class="keywordflow">IF</span>(nox.GE.0) <span class="keyword">DEALLOCATE</span>(rlatx,rlonx,nxy,wxy)</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;          <span class="keyword">ALLOCATE</span>(rlatx(no),rlonx(no),nxy(2,2,no),wxy(2,2,no))</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;          nox=no</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;       iretx=iret</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;       <span class="comment">!  COMPUTE WEIGHTS</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,XIJ,YIJ,IJX,IJY,XF,YF,J,I,WX,WY) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;             rlonx(n)=rlon(n)</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;             rlatx(n)=rlat(n)</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;             xij=xpts(n)</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;             yij=ypts(n)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;             <span class="keywordflow">IF</span>(abs(xij-fill).GT.tinyreal.AND.abs(yij-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                ijx(1:2)=floor(xij)+(/0,1/)</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                ijy(1:2)=floor(yij)+(/0,1/)</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                xf=xij-ijx(1)</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                yf=yij-ijy(1)</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                wx(1)=(1-xf)</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                wx(2)=xf</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                wy(1)=(1-yf)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                wy(2)=yf</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                <span class="keywordflow">DO</span> j=1,2</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                   <span class="keywordflow">DO</span> i=1,2</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                      nxy(i,j,n)=grid_in%field_pos(ijx(i), ijy(j))</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                      wxy(i,j,n)=wx(i)*wy(j)</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keywordflow">                   ENDDO</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                nxy(:,:,n)=0</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="comment">!  INTERPOLATE OVER ALL FIELDS</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.iretx.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;          no=nox</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;             rlon(n)=rlonx(n)</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;             rlat(n)=rlatx(n)</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;       <span class="comment">!$OMP PARALLEL DO &amp;</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;       <span class="comment">!$OMP PRIVATE(NK,K,N,G,W,J,I) &amp;</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;       <span class="comment">!$OMP PRIVATE(I1,J1,IXS,JXS,MX,KXS,KXT,IX,JX,NX) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;       <span class="keywordflow">DO</span> nk=1,no*km</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;          k=(nk-1)/no+1</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;          n=nk-no*(k-1)</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;          g=0</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;          w=0</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;          <span class="keywordflow">DO</span> j=1,2</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;             <span class="keywordflow">DO</span> i=1,2</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                <span class="keywordflow">IF</span>(nxy(i,j,n).GT.0)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                   <span class="keywordflow">IF</span>(ibi(k).EQ.0.OR.li(nxy(i,j,n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;                      g=g+wxy(i,j,n)*gi(nxy(i,j,n),k)</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;                      w=w+wxy(i,j,n)</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;          lo(n,k)=w.GE.pmp</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;          <span class="keywordflow">IF</span>(lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;             go(n,k)=g/w</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;          <span class="keywordflow">ELSEIF</span>(mspiral.GT.0.AND.abs(xpts(n)-fill).GT.tinyreal.AND.abs(ypts(n)-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;             i1=nint(xpts(n))</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;             j1=nint(ypts(n))</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;             ixs=int(sign(1.,xpts(n)-i1))</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;             jxs=int(sign(1.,ypts(n)-j1))</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;             spiral : <span class="keywordflow">DO</span> mx=1,mspiral**2</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;                kxs=int(sqrt(4*mx-2.5))</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;                kxt=mx-(kxs**2/4+1)</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;                <span class="keywordflow">SELECT CASE</span>(mod(kxs,4))</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                <span class="keywordflow">CASE</span>(1)</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                   ix=i1-ixs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                   jx=j1-jxs*kxs/4</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;                <span class="keywordflow">CASE</span>(2)</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;                   ix=i1+ixs*(1+kxs/4)</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;                   jx=j1-jxs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;                <span class="keywordflow">CASE</span>(3)</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;                   ix=i1+ixs*(1+kxs/4-kxt)</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;                   jx=j1+jxs*(1+kxs/4)</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keywordflow">                CASE DEFAULT</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;                   ix=i1-ixs*kxs/4</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;                   jx=j1+jxs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keywordflow">                END SELECT</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;                nx=grid_in%field_pos(ix, jx)</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;                <span class="keywordflow">IF</span>(nx.GT.0.)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                   <span class="keywordflow">IF</span>(li(nx,k).OR.ibi(k).EQ.0)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;                      go(n,k)=gi(nx,k)</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;                      lo(n,k)=.true.</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;                      <span class="keywordflow">EXIT</span> spiral</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keywordflow">             ENDDO</span> spiral</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;             <span class="keywordflow">IF</span>(.NOT.lo(n,k))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;                ibo(k)=1</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;                go(n,k)=0.</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;             go(n,k)=0.</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;          ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;          <span class="keywordflow">IF</span>(.NOT.all(lo(1:no,k))) ibo(k)=1</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;       <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keywordflow">       type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfixs</a>(no,mo,km,rlat,ibo,lo,go)</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) iret=iretx</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) no=0</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160; </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">interpolate_bilinear_scalar</a></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160; </div>
+<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd">  329</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">interpolate_bilinear_vector</a>(ipopt,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;       MI,MO,KM,IBI,LI,UI,VI, &amp;</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;       NO,RLAT,RLON,CROT,SROT,IBO,LO,UO,VO,IRET)</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20),IBI(KM),MI,MO,KM</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,          <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO),CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keywordtype">INTEGER</span>                           :: IJX(2),IJY(2)</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="keywordtype">INTEGER</span>                           :: MP,N,I,J,K,NK,NV</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <span class="keywordtype">LOGICAL</span>                           :: SAME_GRIDI, SAME_GRIDO</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="keywordtype">    REAL</span>                              :: CM,SM,UROT,VROT</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="keywordtype">    REAL</span>                              :: PMP,XIJ,YIJ,XF,YF,U,V,W</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="keywordtype">    REAL</span>                              :: XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="keywordtype">    REAL</span>                              :: WX(2),WY(2)</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="keywordtype">    REAL</span>                              :: XPTI(MI),YPTI(MI)</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="keywordtype">    REAL</span>                              :: RLOI(MI),RLAI(MI)</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="keywordtype">    REAL</span>                              :: CROI(MI),SROI(MI)</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160; </div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="comment">! Save coeffecients between calls and only compute if grids have changed</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="keywordtype">INTEGER</span>,                    <span class="keywordtype">SAVE</span>  :: NOX=-1,iretx=-1</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: NXY(:,:,:)</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: RLATX(:),RLONX(:)</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: CROTX(:),SROTX(:)</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: WXY(:,:,:),CXY(:,:,:),SXY(:,:,:)</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span>,<span class="keywordtype">save</span> :: prev_grid_in, prev_grid_out</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160; </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    iret=0</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    mp=ipopt(1)</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <span class="keywordflow">IF</span>(mp.EQ.-1.OR.mp.EQ.0) mp=50</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keywordflow">IF</span>(mp.LT.0.OR.mp.GT.100) iret=32</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    pmp=mp*0.01</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160; </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="keywordflow">if</span> (.not. <span class="keyword">allocated</span>(prev_grid_in) .or. .not. <span class="keyword">allocated</span>(prev_grid_out)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;       <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;       <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160; </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;       same_gridi = .false.</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;       same_grido = .false.</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;       same_gridi = grid_in == prev_grid_in</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;       same_grido = grid_out == prev_grid_out</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;       <span class="keywordflow">if</span> (.not. same_gridi .or. .not. same_grido) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_in)</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_out)</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160; </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;          <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;          <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160; </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="keywordflow">       class default</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160; </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <span class="comment">!  SAVE OR SKIP WEIGHT COMPUTATION</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.(to_station_points.OR..NOT.same_gridi.OR..NOT.same_grido))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;       <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no,crot,srot)</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv)</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in, 0,mi,fill,xpti,ypti,rloi,rlai,nv,croi,sroi)</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;       <span class="comment">!  ALLOCATE AND SAVE GRID DATA</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;       <span class="keywordflow">IF</span>(nox.NE.no) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;          <span class="keywordflow">IF</span>(nox.GE.0) <span class="keyword">DEALLOCATE</span>(rlatx,rlonx,crotx,srotx,nxy,wxy,cxy,sxy)</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;          <span class="keyword">ALLOCATE</span>(rlatx(no),rlonx(no),crotx(no),srotx(no), &amp;</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;               nxy(2,2,no),wxy(2,2,no),cxy(2,2,no),sxy(2,2,no))</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;          nox=no</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;       iretx=iret</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;       <span class="comment">!  COMPUTE WEIGHTS</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,XIJ,YIJ,IJX,IJY,XF,YF,J,I,WX,WY,CM,SM) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;             rlonx(n)=rlon(n)</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;             rlatx(n)=rlat(n)</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;             crotx(n)=crot(n)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;             srotx(n)=srot(n)</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;             xij=xpts(n)</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;             yij=ypts(n)</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;             <span class="keywordflow">IF</span>(abs(xij-fill).GT.tinyreal.AND.abs(yij-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;                ijx(1:2)=floor(xij)+(/0,1/)</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;                ijy(1:2)=floor(yij)+(/0,1/)</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                xf=xij-ijx(1)</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;                yf=yij-ijy(1)</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;                wx(1)=(1-xf)</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;                wx(2)=xf</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;                wy(1)=(1-yf)</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;                wy(2)=yf</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;                <span class="keywordflow">DO</span> j=1,2</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;                   <span class="keywordflow">DO</span> i=1,2</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;                      nxy(i, j, n) = grid_in%field_pos(ijx(i), ijy(j))</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;                      wxy(i,j,n)=wx(i)*wy(j)</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;                      <span class="keywordflow">IF</span>(nxy(i,j,n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;                         <span class="keyword">CALL </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(rlai(nxy(i,j,n)),rloi(nxy(i,j,n)), &amp;</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;                              rlat(n),rlon(n),cm,sm)</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;                         cxy(i,j,n)=cm*croi(nxy(i,j,n))+sm*sroi(nxy(i,j,n))</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;                         sxy(i,j,n)=sm*croi(nxy(i,j,n))-cm*sroi(nxy(i,j,n))</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="keywordflow">                   ENDDO</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;                nxy(:,:,n)=0</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="keywordflow">       ENDIF</span>  <span class="comment">! IS IRET 0?</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <span class="comment">!  INTERPOLATE OVER ALL FIELDS</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.iretx.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;          no=nox</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;             rlon(n)=rlonx(n)</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;             rlat(n)=rlatx(n)</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;             crot(n)=crotx(n)</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;             srot(n)=srotx(n)</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(NK,K,N,U,V,W,UROT,VROT,J,I) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;       <span class="keywordflow">DO</span> nk=1,no*km</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;          k=(nk-1)/no+1</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;          n=nk-no*(k-1)</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;          u=0</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;          v=0</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;          w=0</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;          <span class="keywordflow">DO</span> j=1,2</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;             <span class="keywordflow">DO</span> i=1,2</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;                <span class="keywordflow">IF</span>(nxy(i,j,n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;                   <span class="keywordflow">IF</span>(ibi(k).EQ.0.OR.li(nxy(i,j,n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;                      urot=cxy(i,j,n)*ui(nxy(i,j,n),k)-sxy(i,j,n)*vi(nxy(i,j,n),k)</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;                      vrot=sxy(i,j,n)*ui(nxy(i,j,n),k)+cxy(i,j,n)*vi(nxy(i,j,n),k)</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;                      u=u+wxy(i,j,n)*urot</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;                      v=v+wxy(i,j,n)*vrot</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;                      w=w+wxy(i,j,n)</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;          lo(n,k)=w.GE.pmp</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;          <span class="keywordflow">IF</span>(lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;             urot=crot(n)*u-srot(n)*v</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;             vrot=srot(n)*u+crot(n)*v</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;             uo(n,k)=urot/w</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;             vo(n,k)=vrot/w</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;             uo(n,k)=0.</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;             vo(n,k)=0.</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;<span class="keywordflow">       ENDDO</span>  <span class="comment">! NK LOOP</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;          ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;          <span class="keywordflow">IF</span>(.NOT.all(lo(1:no,k))) ibo(k)=1</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160; </div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;       <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;<span class="keywordflow">       type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfixv</a>(no,mo,km,rlat,rlon,ibo,lo,uo,vo)</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160; </div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) iret=iretx</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) no=0</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">interpolate_bilinear_vector</a></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160; </div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="keyword">end module </span><a class="code" href="namespacebilinear__interp__mod.html">bilinear_interp_mod</a></div>
+<div class="ttc" id="ainterfacebilinear__interp__mod_1_1interpolate__bilinear_html"><div class="ttname"><a href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html">bilinear_interp_mod::interpolate_bilinear</a></div><div class="ttdef"><b>Definition:</b> <a href="bilinear__interp__mod_8F90_source.html#l00019">bilinear_interp_mod.F90:19</a></div></div>
+<div class="ttc" id="ainterfacegdswzd__mod_1_1gdswzd_html"><div class="ttname"><a href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd_mod::gdswzd</a></div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00037">gdswzd_mod.F90:37</a></div></div>
+<div class="ttc" id="amovect_8F90_html_a5974e32c0cf90a65b39c68460d761882"><div class="ttname"><a href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a></div><div class="ttdeci">subroutine movect(FLAT, FLON, TLAT, TLON, CROT, SROT)</div><div class="ttdoc">This subprogram provides the rotation parameters to move a vector along a great circle from one posit...</div><div class="ttdef"><b>Definition:</b> <a href="movect_8F90_source.html#l00025">movect.F90:26</a></div></div>
+<div class="ttc" id="anamespacebilinear__interp__mod_html"><div class="ttname"><a href="namespacebilinear__interp__mod.html">bilinear_interp_mod</a></div><div class="ttdoc">Bilinear interpolation routines for scalars and vectors.</div><div class="ttdef"><b>Definition:</b> <a href="bilinear__interp__mod_8F90_source.html#l00008">bilinear_interp_mod.F90:8</a></div></div>
+<div class="ttc" id="anamespacebilinear__interp__mod_html_a34d2eea4682104097dccf3e7ab6a9398"><div class="ttname"><a href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">bilinear_interp_mod::interpolate_bilinear_scalar</a></div><div class="ttdeci">subroutine interpolate_bilinear_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">This subprogram performs bilinear interpolation from any grid to any grid for scalar fields.</div><div class="ttdef"><b>Definition:</b> <a href="bilinear__interp__mod_8F90_source.html#l00072">bilinear_interp_mod.F90:73</a></div></div>
+<div class="ttc" id="anamespacebilinear__interp__mod_html_abc218f8774d2af09299eb299d6f38e04"><div class="ttname"><a href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">bilinear_interp_mod::interpolate_bilinear_vector</a></div><div class="ttdeci">subroutine interpolate_bilinear_vector(ipopt, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">This subprogram performs bilinear interpolation from any grid to any grid for vector fields.</div><div class="ttdef"><b>Definition:</b> <a href="bilinear__interp__mod_8F90_source.html#l00329">bilinear_interp_mod.F90:332</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html"><div class="ttname"><a href="namespacegdswzd__mod.html">gdswzd_mod</a></div><div class="ttdoc">Driver module for gdswzd routines.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00025">gdswzd_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html"><div class="ttname"><a href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div><div class="ttdoc">Routines for creating an ip_grid given a Grib descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00011">ip_grid_factory_mod.F90:11</a></div></div>
+<div class="ttc" id="anamespaceip__grids__mod_html"><div class="ttname"><a href="namespaceip__grids__mod.html">ip_grids_mod</a></div><div class="ttdoc">Re-export the individual grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grids__mod_8F90_source.html#l00007">ip_grids_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html"><div class="ttname"><a href="namespacepolfix__mod.html">polfix_mod</a></div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00007">polfix_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><div class="ttname"><a href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfix_mod::polfixs</a></div><div class="ttdeci">subroutine, public polfixs(NM, NX, KM, RLAT, IB, LO, GO)</div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00029">polfix_mod.F90:30</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_aeefc8f045777f6d962d9ec539ef6007d"><div class="ttname"><a href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfix_mod::polfixv</a></div><div class="ttdeci">subroutine, public polfixv(NM, NX, KM, RLAT, RLON, IB, LO, UO, VO)</div><div class="ttdoc">Make multiple pole vector values consistent,.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00124">polfix_mod.F90:125</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="bilinear__interp__mod_8F90.html">bilinear_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/budget__interp__mod_8F90.html b/ver-4.4.0/budget__interp__mod_8F90.html
new file mode 100644
index 00000000..79ee8bc1
--- /dev/null
+++ b/ver-4.4.0/budget__interp__mod_8F90.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: budget_interp_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('budget__interp__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">budget_interp_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Budget interpolation routines for scalars and vectors.  
+<a href="#details">More...</a></p>
+
+<p><a href="budget__interp__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html">budget_interp_mod::interpolate_budget</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespacebudget__interp__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebudget__interp__mod.html">budget_interp_mod</a></td></tr>
+<tr class="memdesc:namespacebudget__interp__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Budget interpolation routines for scalars and vectors. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a09bd6535b0c2e1022cfde39c39d14466"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">budget_interp_mod::interpolate_budget_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a09bd6535b0c2e1022cfde39c39d14466"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs budget interpolation from any grid to any grid (or to random station points) for scalar fields.  <a href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">More...</a><br /></td></tr>
+<tr class="separator:a09bd6535b0c2e1022cfde39c39d14466"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc99486ee9c0091c1514af6114d4e803"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">budget_interp_mod::interpolate_budget_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:abc99486ee9c0091c1514af6114d4e803"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs budget interpolation from any grid to any grid (or to random station points) for vector fields.  <a href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">More...</a><br /></td></tr>
+<tr class="separator:abc99486ee9c0091c1514af6114d4e803"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Budget interpolation routines for scalars and vectors. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="budget__interp__mod_8F90_source.html">budget_interp_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="budget__interp__mod_8F90.html">budget_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/budget__interp__mod_8F90.js b/ver-4.4.0/budget__interp__mod_8F90.js
new file mode 100644
index 00000000..44bc00ff
--- /dev/null
+++ b/ver-4.4.0/budget__interp__mod_8F90.js
@@ -0,0 +1,6 @@
+var budget__interp__mod_8F90 =
+[
+    [ "interpolate_budget", "interfacebudget__interp__mod_1_1interpolate__budget.html", "interfacebudget__interp__mod_1_1interpolate__budget" ],
+    [ "interpolate_budget_scalar", "budget__interp__mod_8F90.html#a09bd6535b0c2e1022cfde39c39d14466", null ],
+    [ "interpolate_budget_vector", "budget__interp__mod_8F90.html#abc99486ee9c0091c1514af6114d4e803", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/budget__interp__mod_8F90_source.html b/ver-4.4.0/budget__interp__mod_8F90_source.html
new file mode 100644
index 00000000..e5e94c6a
--- /dev/null
+++ b/ver-4.4.0/budget__interp__mod_8F90_source.html
@@ -0,0 +1,686 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: budget_interp_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('budget__interp__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">budget_interp_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="budget__interp__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="namespacebudget__interp__mod.html">   10</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespacebudget__interp__mod.html">budget_interp_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacepolfix__mod.html">polfix_mod</a></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grids__mod.html">ip_grids_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfacebudget__interp__mod_1_1interpolate__budget.html">interpolate_budget</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="interfacebudget__interp__mod_1_1interpolate__budget.html">   21</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfacebudget__interp__mod_1_1interpolate__budget.html">interpolate_budget</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">interpolate_budget_scalar</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">interpolate_budget_vector</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfacebudget__interp__mod_1_1interpolate__budget.html">interpolate_budget</a></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;  <span class="comment">! Smallest positive real value (use for equality comparisons)</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keywordtype">  REAL</span> :: TINYREAL=tiny(1.0)</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0">   94</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">interpolate_budget_scalar</a>(IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;       MI,MO,KM,IBI,LI,GI, &amp;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;       NO,RLAT,RLON,IBO,LO,GO,IRET)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordtype">INTEGER</span>,    <span class="keywordtype">INTENT(IN   )</span>     :: IBI(KM), IPOPT(20)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keywordtype">INTEGER</span>,    <span class="keywordtype">INTENT(IN   )</span>     :: KM, MI, MO</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keywordtype">INTEGER</span>,    <span class="keywordtype">INTENT(  OUT)</span>     :: IBO(KM), IRET, NO</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,  <span class="keywordtype">INTENT(IN   )</span>     :: LI(MI,KM)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,  <span class="keywordtype">INTENT(  OUT)</span>     :: LO(MO,KM)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">INTENT(IN   )</span>     :: GI(MI,KM)</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">INTENT(INOUT)</span>     :: RLAT(MO), RLON(MO)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">INTENT(  OUT)</span>     :: GO(MO,KM)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">PARAMETER</span>         :: FILL=-9999.</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: I1, J1, I2, J2, IB, JB</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: IX, JX, IXS, JXS</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: K, KXS, KXT</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: LB, LSW, MP, MSPIRAL, MX</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: N, NB, NB1, NB2, NB3, NB4, NV, NX</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: N11(MO),N21(MO),N12(MO),N22(MO)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keywordtype">    REAL</span>                          :: GB, LAT(1), LON(1)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keywordtype">    REAL</span>                          :: PMP, RB2, RLOB(MO), RLAB(MO), WB</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keywordtype">    REAL</span>                          :: W11(MO), W21(MO), W12(MO), W22(MO)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keywordtype">    REAL</span>                          :: WO(MO,KM), XF, YF, XI, YI, XX, YY</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keywordtype">    REAL</span>                          :: XPTS(MO),YPTS(MO),XPTB(MO),YPTB(MO)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">    REAL</span>                          :: XXX(1), YYY(1)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160; </div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span> :: grid_out2</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="comment">!  DO SUBSECTION OF GRID IF KGDSO(1) IS SUBTRACTED FROM 255.</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    iret=0</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;       <span class="keyword">allocate</span>(grid_out2, source = grid_out)</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out2, 0,mo,fill,xpts,ypts,rlon,rlat,no)</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv)</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;       <span class="keywordflow">IF</span>(nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordflow">    class default</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;       <span class="keyword">allocate</span>(grid_out2, source = grid_out)</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out2, 0,mo,fill,xpts,ypts,rlon,rlat,no)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160; </div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keywordflow">IF</span>(ipopt(1).GT.16) iret=32  </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    mspiral=max(ipopt(20),1)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    nb1=ipopt(1)</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="keywordflow">IF</span>(nb1.EQ.-1) nb1=2</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.nb1.LT.0) iret=32</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    lsw=1</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordflow">IF</span>(ipopt(2).EQ.-2) lsw=2</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordflow">IF</span>(ipopt(1).EQ.-1.OR.ipopt(2).EQ.-1) lsw=0</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.lsw.EQ.1.AND.nb1.GT.15) iret=32</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    mp=ipopt(3+ipopt(1))</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keywordflow">IF</span>(mp.EQ.-1.OR.mp.EQ.0) mp=50</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="keywordflow">IF</span>(mp.LT.0.OR.mp.GT.100) iret=32</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    pmp=mp*0.01</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;       nb2=2*nb1+1</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;       rb2=1./nb2</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;       nb3=nb2*nb2</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;       nb4=nb3</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;       <span class="keywordflow">IF</span>(lsw.EQ.2) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;          rb2=1./(nb1+1)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;          nb4=(nb1+1)**4</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;       <span class="keywordflow">ELSEIF</span>(lsw.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;          nb4=ipopt(2)</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;          <span class="keywordflow">DO</span> ib=1,nb1</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;             nb4=nb4+8*ib*ipopt(2+ib)</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;       nb3=0</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;       nb4=1</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;       <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;          go(n,k)=0.</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;          wo(n,k)=0.</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="comment">!  LOOP OVER SAMPLE POINTS IN OUTPUT GRID BOX</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">DO</span> nb=1,nb3</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS AND COMPUTE THEIR WEIGHTS</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;       jb=(nb-1)/nb2-nb1</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;       ib=nb-(jb+nb1)*nb2-nb1-1</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;       lb=max(abs(ib),abs(jb))</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;       wb=1</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;       <span class="keywordflow">IF</span>(lsw.EQ.2) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;          wb=(nb1+1-abs(ib))*(nb1+1-abs(jb))</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;       <span class="keywordflow">ELSEIF</span>(lsw.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;          wb=ipopt(2+lb)</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;       <span class="keywordflow">IF</span>(abs(wb).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;             xptb(n)=xpts(n)+ib*rb2</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;             yptb(n)=ypts(n)+jb*rb2</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;          <span class="keywordflow">if</span>(to_station_points)<span class="keywordflow">then</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in, 1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;          <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out2, 1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="keywordflow">          endif</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;          <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0.AND.lb.EQ.0) iret=2</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,XI,YI,I1,I2,J1,J2,XF,YF) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;             xi=xptb(n)</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;             yi=yptb(n)</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;             <span class="keywordflow">IF</span>(abs(xi-fill).GT.tinyreal.AND.abs(yi-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                i1=int(xi)</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;                i2=i1+1</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;                j1=int(yi)</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;                j2=j1+1</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;                xf=xi-i1</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;                yf=yi-j1</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;                n11(n)=grid_in%field_pos(i1, j1)                </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;                n21(n)=grid_in%field_pos(i2, j1)</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;                n12(n)=grid_in%field_pos(i1, j2)</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;                n22(n)=grid_in%field_pos(i2, j2)</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;                <span class="keywordflow">IF</span>(min(n11(n),n21(n),n12(n),n22(n)).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                   w11(n)=(1-xf)*(1-yf)</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                   w21(n)=xf*(1-yf)</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                   w12(n)=(1-xf)*yf</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;                   w22(n)=xf*yf</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;                <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;                   n11(n)=0</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;                   n21(n)=0</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;                   n12(n)=0</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;                   n22(n)=0</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;                n11(n)=0</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;                n21(n)=0</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;                n12(n)=0</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;                n22(n)=0</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;          <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;          <span class="comment">!  INTERPOLATE WITH OR WITHOUT BITMAPS</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(K,N,GB) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;          <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;             <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;                <span class="keywordflow">IF</span>(n11(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;                   <span class="keywordflow">IF</span>(ibi(k).EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;                      gb=w11(n)*gi(n11(n),k)+w21(n)*gi(n21(n),k) &amp;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;                           +w12(n)*gi(n12(n),k)+w22(n)*gi(n22(n),k)</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;                      go(n,k)=go(n,k)+wb*gb</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;                      wo(n,k)=wo(n,k)+wb</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;                   <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;                      <span class="keywordflow">IF</span>(li(n11(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;                         go(n,k)=go(n,k)+wb*w11(n)*gi(n11(n),k)</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;                         wo(n,k)=wo(n,k)+wb*w11(n)</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;                      <span class="keywordflow">IF</span>(li(n21(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;                         go(n,k)=go(n,k)+wb*w21(n)*gi(n21(n),k)</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;                         wo(n,k)=wo(n,k)+wb*w21(n)</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;                      <span class="keywordflow">IF</span>(li(n12(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;                         go(n,k)=go(n,k)+wb*w12(n)*gi(n12(n),k)</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;                         wo(n,k)=wo(n,k)+wb*w12(n)</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                      <span class="keywordflow">IF</span>(li(n22(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;                         go(n,k)=go(n,k)+wb*w22(n)*gi(n22(n),k)</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                         wo(n,k)=wo(n,k)+wb*w22(n)</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="keywordflow">    ENDDO</span>   <span class="comment">! sub-grid points</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="comment">!  COMPUTE OUTPUT BITMAPS AND FIELDS</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="comment">! KM is often 1 .. do not do OMP PARALLEL DO here</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    km_loop : <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;       ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N,LAT,LON,XXX,YYY,NV,XX,YY,IXS,JXS,MX,KXS,KXT,IX,JX,NX) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;       n_loop : <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;          lo(n,k)=wo(n,k).GE.pmp*nb4</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;          <span class="keywordflow">IF</span>(lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;             go(n,k)=go(n,k)/wo(n,k)</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;          <span class="keywordflow">ELSEIF</span> (mspiral.GT.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;             lat(1)=rlat(n)</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;             lon(1)=rlon(n)</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,1,fill,xxx,yyy,lon,lat,nv)</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;             xx=xxx(1)</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;             yy=yyy(1)</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;             <span class="keywordflow">IF</span>(nv.EQ.1)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                i1=nint(xx)</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                j1=nint(yy)</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                ixs=int(sign(1.,xx-i1))</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;                jxs=int(sign(1.,yy-j1))</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;                spiral_loop : <span class="keywordflow">DO</span> mx=2,mspiral**2</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;                   kxs=int(sqrt(4*mx-2.5))</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;                   kxt=mx-(kxs**2/4+1)</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                   <span class="keywordflow">SELECT CASE</span>(mod(kxs,4))</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                   <span class="keywordflow">CASE</span>(1)</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;                      ix=i1-ixs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                      jx=j1-jxs*kxs/4</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;                   <span class="keywordflow">CASE</span>(2)</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;                      ix=i1+ixs*(1+kxs/4)</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;                      jx=j1-jxs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                   <span class="keywordflow">CASE</span>(3)</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;                      ix=i1+ixs*(1+kxs/4-kxt)</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                      jx=j1+jxs*(1+kxs/4)</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="keywordflow">                   CASE DEFAULT</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                      ix=i1-ixs*kxs/4</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                      jx=j1+jxs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keywordflow">                   END SELECT</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;                   nx=grid_in%field_pos(ix, jx)</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                   <span class="keywordflow">IF</span>(nx.GT.0.)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;                      <span class="keywordflow">IF</span>(li(nx,k).OR.ibi(k).EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                         go(n,k)=gi(nx,k)</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;                         lo(n,k)=.true.</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;                         cycle n_loop           </div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="keywordflow">                ENDDO</span> spiral_loop</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;                ibo(k)=1</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;                go(n,k)=0.</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;                ibo(k)=1</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;                go(n,k)=0.</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;          <span class="keywordflow">ELSE</span>  <span class="comment">! no spiral search option</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;             ibo(k)=1</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;             go(n,k)=0.</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordflow">       ENDDO</span> n_loop</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="keywordflow">    ENDDO</span> km_loop</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    </div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keywordflow">select type</span>(grid_out2)</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="keywordflow">    type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;       <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfixs</a>(no,mo,km,rlat,ibo,lo,go)</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">interpolate_budget_scalar</a></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
+<div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6">  423</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">interpolate_budget_vector</a>(IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;       MI,MO,KM,IBI,LI,UI,VI, &amp;</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;       NO,RLAT,RLON,CROT,SROT,IBO,LO,UO,VO,IRET)</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: IRET, NO, IBO(KM)</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,        <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: I1,I2,J1,J2,IB,JB,LSW,MP</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: K,LB,N,NB,NB1,NB2,NB3,NB4,NV</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: N11(MO),N21(MO),N12(MO),N22(MO)</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <span class="keywordtype">LOGICAL</span>                         :: SAME_GRID</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="keywordtype">    REAL</span>                            :: CM11,SM11,CM12,SM12</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="keywordtype">    REAL</span>                            :: CM21,SM21,CM22,SM22</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="keywordtype">    REAL</span>                            :: PMP,RB2</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="keywordtype">    REAL</span>                            :: C11(MO),C21(MO),C12(MO),C22(MO)</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="keywordtype">    REAL</span>                            :: S11(MO),S21(MO),S12(MO),S22(MO)</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="keywordtype">    REAL</span>                            :: W11(MO),W21(MO),W12(MO),W22(MO)</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="keywordtype">    REAL</span>                            :: UB,VB,WB,UROT,VROT</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="keywordtype">    REAL</span>                            :: U11,V11,U21,V21,U12,V12,U22,V22</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="keywordtype">    REAL</span>                            :: WI1,WJ1,WI2,WJ2</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="keywordtype">    REAL</span>                            :: WO(MO,KM),XI,YI</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="keywordtype">    REAL</span>                            :: XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="keywordtype">    REAL</span>                            :: XPTB(MO),YPTB(MO),RLOB(MO),RLAB(MO)</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160; </div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160; </div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span> :: grid_out2</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="comment">! Save coeffecients between calls and only compute if grids have changed</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">SAVE</span>          :: MIX=-1</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="keywordtype">    REAL</span>,         <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span> :: CROI(:),SROI(:)</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="keywordtype">    REAL</span>,         <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span> :: XPTI(:),YPTI(:),RLOI(:),RLAI(:)</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160; </div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span>, <span class="keywordtype">save</span> :: prev_grid_in</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160; </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    iret=0</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160; </div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    <span class="comment">! Negative grid number means interpolate to subgrid</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    <span class="comment">! The type of the subgrid is calculated by 255 + </span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;       <span class="keyword">allocate</span>(grid_out2, source = grid_out)</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out2, 0,mo,fill,xpts,ypts,rlon,rlat,no,crot,srot)</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv,crot,srot)</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;       <span class="keywordflow">IF</span>(nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="keywordflow">    class default</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;       <span class="keyword">allocate</span>(grid_out2, source = grid_out)</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out2, 0,mo,fill,xpts,ypts,rlon,rlat,no,crot,srot)</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160; </div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <span class="keywordflow">if</span> (.not. <span class="keyword">allocated</span>(prev_grid_in)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;       <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160; </div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;       same_grid = .false.</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;       same_grid = grid_in == prev_grid_in</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160; </div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;       <span class="keywordflow">if</span> (.not. same_grid) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_in)</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;          <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160; </div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    <span class="keywordflow">IF</span>(.NOT.same_grid) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;       <span class="keywordflow">IF</span>(mix.NE.mi) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;          <span class="keywordflow">IF</span>(mix.GE.0) <span class="keyword">DEALLOCATE</span>(xpti,ypti,rloi,rlai,croi,sroi)</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;          <span class="keyword">ALLOCATE</span>(xpti(mi),ypti(mi),rloi(mi),rlai(mi),croi(mi),sroi(mi))</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;          mix=mi</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in, 0,mi,fill,xpti,ypti,rloi,rlai,nv,croi,sroi)</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160; </div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    nb1=ipopt(1)</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <span class="keywordflow">IF</span>(nb1.EQ.-1) nb1=2</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.nb1.LT.0) iret=32</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    lsw=1</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    <span class="keywordflow">IF</span>(ipopt(2).EQ.-2) lsw=2</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    <span class="keywordflow">IF</span>(ipopt(1).EQ.-1.OR.ipopt(2).EQ.-1) lsw=0</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.lsw.EQ.1.AND.nb1.GT.15) iret=32</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    mp=ipopt(3+ipopt(1))</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keywordflow">IF</span>(mp.EQ.-1.OR.mp.EQ.0) mp=50</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    <span class="keywordflow">IF</span>(mp.LT.0.OR.mp.GT.100) iret=32</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    pmp=mp*0.01</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;       nb2=2*nb1+1</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;       rb2=1./nb2</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;       nb3=nb2*nb2</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;       nb4=nb3</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;       <span class="keywordflow">IF</span>(lsw.EQ.2) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;          rb2=1./(nb1+1)</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;          nb4=(nb1+1)**4</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;       <span class="keywordflow">ELSEIF</span>(lsw.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;          nb4=ipopt(2)</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;          <span class="keywordflow">DO</span> ib=1,nb1</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;             nb4=nb4+8*ib*ipopt(2+ib)</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;       nb3=0</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;       nb4=1</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;       <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;          uo(n,k)=0</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;          vo(n,k)=0</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;          wo(n,k)=0.</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;    <span class="comment">!  LOOP OVER SAMPLE POINTS IN OUTPUT GRID BOX</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;    <span class="keywordflow">DO</span> nb=1,nb3</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS AND COMPUTE THEIR WEIGHTS AND ROTATIONS</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;       jb=(nb-1)/nb2-nb1</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;       ib=nb-(jb+nb1)*nb2-nb1-1</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;       lb=max(abs(ib),abs(jb))</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;       wb=1</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;       <span class="keywordflow">IF</span>(ipopt(2).EQ.-2) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;          wb=(nb1+1-abs(ib))*(nb1+1-abs(jb))</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;       <span class="keywordflow">ELSEIF</span>(ipopt(2).NE.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;          wb=ipopt(2+lb)</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;       <span class="keywordflow">IF</span>(abs(wb).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;             xptb(n)=xpts(n)+ib*rb2</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;             yptb(n)=ypts(n)+jb*rb2</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;          <span class="keywordflow">if</span>(to_station_points)<span class="keywordflow">then</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in, 1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;          <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out2, 1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;<span class="keywordflow">          endif</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;          <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0.AND.lb.EQ.0) iret=2</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,XI,YI,I1,I2,WI1,WI2,J1,J2,WJ1,WJ2,CM11,CM21,CM12,CM22,SM11,SM21,SM12,SM22) &amp;</span></div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;          <span class="comment">!$OMP SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;             xi=xptb(n)</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;             yi=yptb(n)</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;             <span class="keywordflow">IF</span>(abs(xi-fill).GT.tinyreal.AND.abs(yi-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;                i1=int(xi)</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;                i2=i1+1</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;                wi2=xi-i1</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;                wi1=1-wi2</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;                j1=int(yi)</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;                j2=j1+1</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;                wj2=yi-j1</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;                wj1=1-wj2</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;                n11(n) = grid_in%field_pos(i1,j1)</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;                n21(n) = grid_in%field_pos(i2, j1)</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;                n12(n) = grid_in%field_pos(i1, j2)</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;                n22(n) = grid_in%field_pos(i2, j2)</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;                <span class="keywordflow">IF</span>(min(n11(n),n21(n),n12(n),n22(n)).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;                   w11(n)=wi1*wj1</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;                   w21(n)=wi2*wj1</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;                   w12(n)=wi1*wj2</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;                   w22(n)=wi2*wj2</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;                   <span class="keyword">CALL </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(rlai(n11(n)),rloi(n11(n)),rlat(n),rlon(n),cm11,sm11)</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;                   <span class="keyword">CALL </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(rlai(n21(n)),rloi(n21(n)),rlat(n),rlon(n),cm21,sm21)</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;                   <span class="keyword">CALL </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(rlai(n12(n)),rloi(n12(n)),rlat(n),rlon(n),cm12,sm12)</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;                   <span class="keyword">CALL </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(rlai(n22(n)),rloi(n22(n)),rlat(n),rlon(n),cm22,sm22)</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;                   c11(n)=cm11*croi(n11(n))+sm11*sroi(n11(n))</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;                   s11(n)=sm11*croi(n11(n))-cm11*sroi(n11(n))</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;                   c21(n)=cm21*croi(n21(n))+sm21*sroi(n21(n))</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;                   s21(n)=sm21*croi(n21(n))-cm21*sroi(n21(n))</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;                   c12(n)=cm12*croi(n12(n))+sm12*sroi(n12(n))</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;                   s12(n)=sm12*croi(n12(n))-cm12*sroi(n12(n))</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;                   c22(n)=cm22*croi(n22(n))+sm22*sroi(n22(n))</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;                   s22(n)=sm22*croi(n22(n))-cm22*sroi(n22(n))</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;                <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;                   n11(n)=0</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;                   n21(n)=0</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;                   n12(n)=0</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;                   n22(n)=0</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;                n11(n)=0</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;                n21(n)=0</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;                n12(n)=0</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;                n22(n)=0</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;          <span class="comment">!$OMP END PARALLEL DO </span></div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;          <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;          <span class="comment">!  INTERPOLATE WITH OR WITHOUT BITMAPS</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;          <span class="comment">!  KM IS OFTEN 1 .. DO NO PUT OMP PARALLEL DO HERE</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;          <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;             <span class="comment">!$OMP PARALLEL DO PRIVATE(N,U11,U12,U21,U22,UB,V11,V12,V21,V22,VB) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;             <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;                <span class="keywordflow">IF</span>(n11(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;                   <span class="keywordflow">IF</span>(ibi(k).EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;                      u11=c11(n)*ui(n11(n),k)-s11(n)*vi(n11(n),k)</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;                      v11=s11(n)*ui(n11(n),k)+c11(n)*vi(n11(n),k)</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;                      u21=c21(n)*ui(n21(n),k)-s21(n)*vi(n21(n),k)</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;                      v21=s21(n)*ui(n21(n),k)+c21(n)*vi(n21(n),k)</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;                      u12=c12(n)*ui(n12(n),k)-s12(n)*vi(n12(n),k)</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;                      v12=s12(n)*ui(n12(n),k)+c12(n)*vi(n12(n),k)</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;                      u22=c22(n)*ui(n22(n),k)-s22(n)*vi(n22(n),k)</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;                      v22=s22(n)*ui(n22(n),k)+c22(n)*vi(n22(n),k)</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;                      ub=w11(n)*u11+w21(n)*u21+w12(n)*u12+w22(n)*u22</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;                      vb=w11(n)*v11+w21(n)*v21+w12(n)*v12+w22(n)*v22</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;                      uo(n,k)=uo(n,k)+wb*ub</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;                      vo(n,k)=vo(n,k)+wb*vb</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;                      wo(n,k)=wo(n,k)+wb</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;                   <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;                      <span class="keywordflow">IF</span>(li(n11(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;                         u11=c11(n)*ui(n11(n),k)-s11(n)*vi(n11(n),k)</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;                         v11=s11(n)*ui(n11(n),k)+c11(n)*vi(n11(n),k)</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;                         uo(n,k)=uo(n,k)+wb*w11(n)*u11</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;                         vo(n,k)=vo(n,k)+wb*w11(n)*v11</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;                         wo(n,k)=wo(n,k)+wb*w11(n)</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;                      <span class="keywordflow">IF</span>(li(n21(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;                         u21=c21(n)*ui(n21(n),k)-s21(n)*vi(n21(n),k)</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;                         v21=s21(n)*ui(n21(n),k)+c21(n)*vi(n21(n),k)</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;                         uo(n,k)=uo(n,k)+wb*w21(n)*u21</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;                         vo(n,k)=vo(n,k)+wb*w21(n)*v21</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;                         wo(n,k)=wo(n,k)+wb*w21(n)</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;                      <span class="keywordflow">IF</span>(li(n12(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;                         u12=c12(n)*ui(n12(n),k)-s12(n)*vi(n12(n),k)</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;                         v12=s12(n)*ui(n12(n),k)+c12(n)*vi(n12(n),k)</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;                         uo(n,k)=uo(n,k)+wb*w12(n)*u12</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;                         vo(n,k)=vo(n,k)+wb*w12(n)*v12</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;                         wo(n,k)=wo(n,k)+wb*w12(n)</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;                      <span class="keywordflow">IF</span>(li(n22(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;                         u22=c22(n)*ui(n22(n),k)-s22(n)*vi(n22(n),k)</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;                         v22=s22(n)*ui(n22(n),k)+c22(n)*vi(n22(n),k)</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;                         uo(n,k)=uo(n,k)+wb*w22(n)*u22</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;                         vo(n,k)=vo(n,k)+wb*w22(n)*v22</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;                         wo(n,k)=wo(n,k)+wb*w22(n)</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;             <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;    <span class="comment">!  COMPUTE OUTPUT BITMAPS AND FIELDS</span></div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;    <span class="comment">! KM is often 1, do not put OMP PARALLEL here</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;       ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N,UROT,VROT) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;       <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;          lo(n,k)=wo(n,k).GE.pmp*nb4</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;          <span class="keywordflow">IF</span>(lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;             uo(n,k)=uo(n,k)/wo(n,k)</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;             vo(n,k)=vo(n,k)/wo(n,k)</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;             urot=crot(n)*uo(n,k)-srot(n)*vo(n,k)</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;             vrot=srot(n)*uo(n,k)+crot(n)*vo(n,k)</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;             uo(n,k)=urot</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;             vo(n,k)=vrot</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;             ibo(k)=1</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;             uo(n,k)=0.</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;             vo(n,k)=0.</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160; </div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    <span class="keywordflow">select type</span>(grid_out2)</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;<span class="keywordflow">    type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;       <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfixv</a>(no,mo,km,rlat,rlon,ibo,lo,uo,vo)</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">interpolate_budget_vector</a></div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160; </div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;<span class="keyword">end module </span><a class="code" href="namespacebudget__interp__mod.html">budget_interp_mod</a></div>
+<div class="ttc" id="ainterfacebudget__interp__mod_1_1interpolate__budget_html"><div class="ttname"><a href="interfacebudget__interp__mod_1_1interpolate__budget.html">budget_interp_mod::interpolate_budget</a></div><div class="ttdef"><b>Definition:</b> <a href="budget__interp__mod_8F90_source.html#l00021">budget_interp_mod.F90:21</a></div></div>
+<div class="ttc" id="ainterfacegdswzd__mod_1_1gdswzd_html"><div class="ttname"><a href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd_mod::gdswzd</a></div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00037">gdswzd_mod.F90:37</a></div></div>
+<div class="ttc" id="amovect_8F90_html_a5974e32c0cf90a65b39c68460d761882"><div class="ttname"><a href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a></div><div class="ttdeci">subroutine movect(FLAT, FLON, TLAT, TLON, CROT, SROT)</div><div class="ttdoc">This subprogram provides the rotation parameters to move a vector along a great circle from one posit...</div><div class="ttdef"><b>Definition:</b> <a href="movect_8F90_source.html#l00025">movect.F90:26</a></div></div>
+<div class="ttc" id="anamespacebudget__interp__mod_html"><div class="ttname"><a href="namespacebudget__interp__mod.html">budget_interp_mod</a></div><div class="ttdoc">Budget interpolation routines for scalars and vectors.</div><div class="ttdef"><b>Definition:</b> <a href="budget__interp__mod_8F90_source.html#l00010">budget_interp_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespacebudget__interp__mod_html_a09bd6535b0c2e1022cfde39c39d14466"><div class="ttname"><a href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">budget_interp_mod::interpolate_budget_scalar</a></div><div class="ttdeci">subroutine interpolate_budget_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">Performs budget interpolation from any grid to any grid (or to random station points) for scalar fiel...</div><div class="ttdef"><b>Definition:</b> <a href="budget__interp__mod_8F90_source.html#l00094">budget_interp_mod.F90:97</a></div></div>
+<div class="ttc" id="anamespacebudget__interp__mod_html_abc99486ee9c0091c1514af6114d4e803"><div class="ttname"><a href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">budget_interp_mod::interpolate_budget_vector</a></div><div class="ttdeci">subroutine interpolate_budget_vector(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">This subprogram performs budget interpolation from any grid to any grid (or to random station points)...</div><div class="ttdef"><b>Definition:</b> <a href="budget__interp__mod_8F90_source.html#l00423">budget_interp_mod.F90:426</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html"><div class="ttname"><a href="namespacegdswzd__mod.html">gdswzd_mod</a></div><div class="ttdoc">Driver module for gdswzd routines.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00025">gdswzd_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html"><div class="ttname"><a href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div><div class="ttdoc">Routines for creating an ip_grid given a Grib descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00011">ip_grid_factory_mod.F90:11</a></div></div>
+<div class="ttc" id="anamespaceip__grids__mod_html"><div class="ttname"><a href="namespaceip__grids__mod.html">ip_grids_mod</a></div><div class="ttdoc">Re-export the individual grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grids__mod_8F90_source.html#l00007">ip_grids_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html"><div class="ttname"><a href="namespacepolfix__mod.html">polfix_mod</a></div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00007">polfix_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><div class="ttname"><a href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfix_mod::polfixs</a></div><div class="ttdeci">subroutine, public polfixs(NM, NX, KM, RLAT, IB, LO, GO)</div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00029">polfix_mod.F90:30</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_aeefc8f045777f6d962d9ec539ef6007d"><div class="ttname"><a href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfix_mod::polfixv</a></div><div class="ttdeci">subroutine, public polfixv(NM, NX, KM, RLAT, RLON, IB, LO, UO, VO)</div><div class="ttdoc">Make multiple pole vector values consistent,.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00124">polfix_mod.F90:125</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="budget__interp__mod_8F90.html">budget_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/classes.html b/ver-4.4.0/classes.html
new file mode 100644
index 00000000..4dbc7390
--- /dev/null
+++ b/ver-4.4.0/classes.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Data Types</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classes.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Data Types</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a></div>
+<div class="classindex">
+<dl class="classindex even">
+<dt class="alphachar"><a name="letter_G">G</a></dt>
+<dd><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a> (<a class="el" href="namespacegdswzd__mod.html">gdswzd_mod</a>)</dd><dd><a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html">gdswzd_interface</a> (<a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a>)</dd><dd><a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a> (<a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a>)</dd><dd><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a> (<a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a>)</dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a name="letter_I">I</a></dt>
+<dd><a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a> (<a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a>)</dd><dd><a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html">init_grib1_interface</a> (<a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a>)</dd><dd><a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html">init_grib2_interface</a> (<a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a>)</dd><dd><a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a> (<a class="el" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a>)</dd><dd><a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html">interpolate_bicubic</a> (<a class="el" href="namespacebicubic__interp__mod.html">bicubic_interp_mod</a>)</dd><dd><a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html">interpolate_bilinear</a> (<a class="el" href="namespacebilinear__interp__mod.html">bilinear_interp_mod</a>)</dd><dd><a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html">interpolate_budget</a> (<a class="el" href="namespacebudget__interp__mod.html">budget_interp_mod</a>)</dd><dd><a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html">interpolate_neighbor</a> (<a class="el" href="namespaceneighbor__interp__mod.html">neighbor_interp_mod</a>)</dd><dd><a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html">interpolate_neighbor_budget</a> (<a class="el" href="namespaceneighbor__budget__interp__mod.html">neighbor_budget_interp_mod</a>)</dd><dd><a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html">interpolate_spectral</a> (<a class="el" href="namespacespectral__interp__mod.html">spectral_interp_mod</a>)</dd><dd><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a> (<a class="el" href="namespaceip__equid__cylind__grid__mod.html">ip_equid_cylind_grid_mod</a>)</dd><dd><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a> (<a class="el" href="namespaceip__gaussian__grid__mod.html">ip_gaussian_grid_mod</a>)</dd><dd><a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a> (<a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a>)</dd><dd><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a> (<a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a>)</dd><dd><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a> (<a class="el" href="namespaceip__lambert__conf__grid__mod.html">ip_lambert_conf_grid_mod</a>)</dd><dd><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a> (<a class="el" href="namespaceip__mercator__grid__mod.html">ip_mercator_grid_mod</a>)</dd><dd><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a> (<a class="el" href="namespaceip__polar__stereo__grid__mod.html">ip_polar_stereo_grid_mod</a>)</dd><dd><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a> (<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html">ip_rot_equid_cylind_egrid_mod</a>)</dd><dd><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a> (<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html">ip_rot_equid_cylind_grid_mod</a>)</dd><dd><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a> (<a class="el" href="namespaceip__station__points__grid__mod.html">ip_station_points_grid_mod</a>)</dd><dd><a class="el" href="interfaceipolates__mod_1_1ipolates.html">ipolates</a> (<a class="el" href="namespaceipolates__mod.html">ipolates_mod</a>)</dd><dd><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html">ipolatev</a> (<a class="el" href="namespaceipolatev__mod.html">ipolatev_mod</a>)</dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a name="letter_O">O</a></dt>
+<dd><a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html">operator(==)</a> (<a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a>)</dd><dd><a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html">operator(==)</a> (<a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a>)</dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a name="letter_P">P</a></dt>
+<dd><a class="el" href="interfacespectral__interp__mod_1_1polates4.html">polates4</a> (<a class="el" href="namespacespectral__interp__mod.html">spectral_interp_mod</a>)</dd><dd><a class="el" href="interfacespectral__interp__mod_1_1polatev4.html">polatev4</a> (<a class="el" href="namespacespectral__interp__mod.html">spectral_interp_mod</a>)</dd></dl>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/closed.png b/ver-4.4.0/closed.png
new file mode 100644
index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5
GIT binary patch
literal 132
zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8<G4C~~x2bkCl7
zlF9slZh~6z%aUT|WfKm3{P*dDAfv<6>{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf
f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/dir_49e56c817e5e54854c35e136979f97ca.html b/ver-4.4.0/dir_49e56c817e5e54854c35e136979f97ca.html
new file mode 100644
index 00000000..3016927e
--- /dev/null
+++ b/ver-4.4.0/dir_49e56c817e5e54854c35e136979f97ca.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: docs Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('dir_49e56c817e5e54854c35e136979f97ca.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">docs Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_49e56c817e5e54854c35e136979f97ca.html">docs</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/ver-4.4.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html
new file mode 100644
index 00000000..d07cd635
--- /dev/null
+++ b/ver-4.4.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html
@@ -0,0 +1,208 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: src Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('dir_68267d1309a1af8e8297ef4c3efbcdba.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">src Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:bicubic__interp__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bicubic__interp__mod_8F90.html">bicubic_interp_mod.F90</a> <a href="bicubic__interp__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:bicubic__interp__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bicubic interpolation routines for scalars and vectors. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:bilinear__interp__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bilinear__interp__mod_8F90.html">bilinear_interp_mod.F90</a> <a href="bilinear__interp__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:bilinear__interp__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bilinear interpolation routines for scalars and vectors. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:budget__interp__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="budget__interp__mod_8F90.html">budget_interp_mod.F90</a> <a href="budget__interp__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:budget__interp__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Budget interpolation routines for scalars and vectors. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:earth__radius__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="earth__radius__mod_8F90.html">earth_radius_mod.F90</a> <a href="earth__radius__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:earth__radius__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine earth radius and shape. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gdswzd__c_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gdswzd__c_8F90.html">gdswzd_c.F90</a> <a href="gdswzd__c_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:gdswzd__c_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gdswzd__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gdswzd__mod_8F90.html">gdswzd_mod.F90</a> <a href="gdswzd__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:gdswzd__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Driver module for gdswzd routines. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__constants__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__constants__mod_8F90.html">ip_constants_mod.F90</a> <a href="ip__constants__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__constants__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constants for use in NCEPLIBS-ip. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__equid__cylind__grid__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__equid__cylind__grid__mod_8F90.html">ip_equid_cylind_grid_mod.F90</a> <a href="ip__equid__cylind__grid__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__equid__cylind__grid__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equidistant cylindrical grib decoder and grid coordinate transformations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__gaussian__grid__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__gaussian__grid__mod_8F90.html">ip_gaussian_grid_mod.F90</a> <a href="ip__gaussian__grid__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__gaussian__grid__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gaussian grid coordinate transformations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__grid__descriptor__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__grid__descriptor__mod_8F90.html">ip_grid_descriptor_mod.F90</a> <a href="ip__grid__descriptor__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__grid__descriptor__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__grid__factory__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__grid__factory__mod_8F90.html">ip_grid_factory_mod.F90</a> <a href="ip__grid__factory__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__grid__factory__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Routines for creating an ip_grid given a Grib descriptor. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__grid__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__grid__mod_8F90.html">ip_grid_mod.F90</a> <a href="ip__grid__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__grid__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract ip_grid type. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__grids__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__grids__mod_8F90.html">ip_grids_mod.F90</a> <a href="ip__grids__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__grids__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Re-export the individual grids. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__interpolators__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__interpolators__mod_8F90.html">ip_interpolators_mod.F90</a> <a href="ip__interpolators__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__interpolators__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top-level module to export interpolation routines and constants. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__lambert__conf__grid__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__lambert__conf__grid__mod_8F90.html">ip_lambert_conf_grid_mod.F90</a> <a href="ip__lambert__conf__grid__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__lambert__conf__grid__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for lambert conformal conical. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__mercator__grid__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__mercator__grid__mod_8F90.html">ip_mercator_grid_mod.F90</a> <a href="ip__mercator__grid__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__mercator__grid__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for mercator cylindrical. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__mod_8F90.html">ip_mod.F90</a> <a href="ip__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top-level module for the ip library. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__polar__stereo__grid__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__polar__stereo__grid__mod_8F90.html">ip_polar_stereo_grid_mod.F90</a> <a href="ip__polar__stereo__grid__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__polar__stereo__grid__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for polar stereographic azimuthal. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__rot__equid__cylind__egrid__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90.html">ip_rot_equid_cylind_egrid_mod.F90</a> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__rot__equid__cylind__egrid__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__rot__equid__cylind__grid__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__rot__equid__cylind__grid__mod_8F90.html">ip_rot_equid_cylind_grid_mod.F90</a> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__rot__equid__cylind__grid__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ip__station__points__grid__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ip__station__points__grid__mod_8F90.html">ip_station_points_grid_mod.F90</a> <a href="ip__station__points__grid__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ip__station__points__grid__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate gridded data to a series of station points. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:iplib__4_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iplib__4_8h.html">iplib_4.h</a> <a href="iplib__4_8h_source.html">[code]</a></td></tr>
+<tr class="memdesc:iplib__4_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">C interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> and <a class="el" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37" title="Decodes the grib grid description section and returns one of the following (for 1-d arrays):">gdswzd_grib1()</a> functions for '4' library build. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:iplib__8_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iplib__8_8h.html">iplib_8.h</a> <a href="iplib__8_8h_source.html">[code]</a></td></tr>
+<tr class="memdesc:iplib__8_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">C interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> and <a class="el" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37" title="Decodes the grib grid description section and returns one of the following (for 1-d arrays):">gdswzd_grib1()</a> functions for '8' library build. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:iplib__d_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iplib__d_8h.html">iplib_d.h</a> <a href="iplib__d_8h_source.html">[code]</a></td></tr>
+<tr class="memdesc:iplib__d_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">C interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> and <a class="el" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37" title="Decodes the grib grid description section and returns one of the following (for 1-d arrays):">gdswzd_grib1()</a> functions for 'd' library build. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ipolates_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipolates_8F90.html">ipolates.F90</a> <a href="ipolates_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ipolates_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top-level driver for scalar interpolation routine ipolates(). <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ipolatev_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipolatev_8F90.html">ipolatev.F90</a> <a href="ipolatev_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ipolatev_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top-level driver for vector interpolation routine ipolates. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ipxetas_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipxetas_8F90.html">ipxetas.F90</a> <a href="ipxetas_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ipxetas_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand or contract eta grids using linear interpolation. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ipxwafs_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipxwafs_8F90.html">ipxwafs.F90</a> <a href="ipxwafs_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ipxwafs_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand or contract wafs grids. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ipxwafs2_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipxwafs2_8F90.html">ipxwafs2.F90</a> <a href="ipxwafs2_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ipxwafs2_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand or contract wafs grids using linear interpolation and account for bitmapped data. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ipxwafs3_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipxwafs3_8F90.html">ipxwafs3.F90</a> <a href="ipxwafs3_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:ipxwafs3_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:movect_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="movect_8F90.html">movect.F90</a> <a href="movect_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:movect_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move a vector along a great circle. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:neighbor__budget__interp__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="neighbor__budget__interp__mod_8F90.html">neighbor_budget_interp_mod.F90</a> <a href="neighbor__budget__interp__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:neighbor__budget__interp__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar and vector fields with neighbor budget interpolation. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:neighbor__interp__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="neighbor__interp__mod_8F90.html">neighbor_interp_mod.F90</a> <a href="neighbor__interp__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:neighbor__interp__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar and vector fields with neighbor interpolation. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:polfix__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="polfix__mod_8F90.html">polfix_mod.F90</a> <a href="polfix__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:polfix__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make multiple pole scalar values consistent. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:spectral__interp__mod_8F90"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="spectral__interp__mod_8F90.html">spectral_interp_mod.F90</a> <a href="spectral__interp__mod_8F90_source.html">[code]</a></td></tr>
+<tr class="memdesc:spectral__interp__mod_8F90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate spectral. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/doc.png b/ver-4.4.0/doc.png
new file mode 100644
index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501
GIT binary patch
literal 746
zcmV<G0u}v<P)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz00089Nkl<ZcmeI5
zO;1x>7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$))<VZ%w8AHp|fq%mP;4ffy
zZ-fC6h(S;T@^On$pg;?)``rZ-=s7qr4DR5hE4!!NdDmX=TJJeiSGimUI5QXkXNfZ>
zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV
zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE
z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!n<GayH9yHg8K}
z>w*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=}
zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXR<pt)Tx_l7FX`b+T&0J~3Ac
zDisC2f48s?Pz6U1j(Y#7FGXj244=p1VQ-4TfmZrD8|c58q%jdB67*815?3si0IJ}q
zK#I#XHom~r+!`&75xy*K>bTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$
z8v{MfJbTiiRg4bza<41N<zz(9MkMF~u!W-n>Azrl{=3fl_D+$t+^!xlQ8S}{UtY`e
z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D?
z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3
z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3<FfbmLT1ma;4wB2Ka6K
c|6iFu0IFBSu=gW%4*&oF07*qoM6N<$f>OR*Hvj+t

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/doxygen.css b/ver-4.4.0/doxygen.css
new file mode 100644
index 00000000..ffbff022
--- /dev/null
+++ b/ver-4.4.0/doxygen.css
@@ -0,0 +1,1793 @@
+/* The standard CSS for doxygen 1.9.1 */
+
+body, table, div, p, dl {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+p.reference, p.definition {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+	font-size: 150%;
+}
+
+.title {
+	font: 400 14px/28px Roboto,sans-serif;
+	font-size: 150%;
+	font-weight: bold;
+	margin: 10px 2px;
+}
+
+h2.groupheader {
+	border-bottom: 1px solid #879ECB;
+	color: #354C7B;
+	font-size: 150%;
+	font-weight: normal;
+	margin-top: 1.75em;
+	padding-top: 8px;
+	padding-bottom: 4px;
+	width: 100%;
+}
+
+h3.groupheader {
+	font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	-webkit-transition: text-shadow 0.5s linear;
+	-moz-transition: text-shadow 0.5s linear;
+	-ms-transition: text-shadow 0.5s linear;
+	-o-transition: text-shadow 0.5s linear;
+	transition: text-shadow 0.5s linear;
+	margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+	text-shadow: 0 0 15px cyan;
+}
+
+dt {
+	font-weight: bold;
+}
+
+ul.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+	column-count: 3;
+}
+
+p.startli, p.startdd {
+	margin-top: 2px;
+}
+
+th p.starttd, th p.intertd, th p.endtd {
+        font-size: 100%;
+        font-weight: 700;
+}
+
+p.starttd {
+	margin-top: 0px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+p.interli {
+}
+
+p.interdd {
+}
+
+p.intertd {
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+	font-size: 70%;
+	text-align: center;
+}
+
+h3.version {
+	font-size: 90%;
+	text-align: center;
+}
+
+div.navtab {
+	border-right: 1px solid #A3B4D7;
+	padding-right: 15px;
+	text-align: right;
+	line-height: 110%;
+}
+
+div.navtab table {
+	border-spacing: 0;
+}
+
+td.navtab {
+	padding-right: 6px;
+	padding-left: 6px;
+}
+td.navtabHL {
+	background-image: url('tab_a.png');
+	background-repeat:repeat-x;
+	padding-right: 6px;
+	padding-left: 6px;
+}
+
+td.navtabHL a, td.navtabHL a:visited {
+	color: #fff;
+	text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
+
+a.navtab {
+	font-weight: bold;
+}
+
+div.qindex{
+	text-align: center;
+	width: 100%;
+	line-height: 140%;
+	font-size: 130%;
+	color: #A0A0A0;
+}
+
+dt.alphachar{
+	font-size: 180%;
+	font-weight: bold;
+}
+
+.alphachar a{
+	color: black;
+}
+
+.alphachar a:hover, .alphachar a:visited{
+	text-decoration: none;
+}
+
+.classindex dl {
+	padding: 25px;
+	column-count:1
+}
+
+.classindex dd {
+	display:inline-block;
+	margin-left: 50px;
+	width: 90%;
+	line-height: 1.15em;
+}
+
+.classindex dl.odd {
+	background-color: #F8F9FC;
+}
+
+@media(min-width: 1120px) {
+	.classindex dl {
+		column-count:2
+	}
+}
+
+@media(min-width: 1320px) {
+	.classindex dl {
+		column-count:3
+	}
+}
+
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #4665A2;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+.contents a.qindexHL:visited {
+        color: #FFFFFF;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+	color: #4665A2; 
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+	color: #4665A2; 
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+ul {
+  overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
+}
+
+#side-nav ul {
+  overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
+}
+
+#main-nav ul {
+  overflow: visible; /* reset ul rule for the navigation bar drop down lists */
+}
+
+.fragment {
+  text-align: left;
+  direction: ltr;
+  overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
+  overflow-y: hidden;
+}
+
+pre.fragment {
+        border: 1px solid #C4CFE5;
+        background-color: #FBFCFD;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: break-word;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+div.fragment {
+  padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
+  margin: 4px 8px 4px 2px;
+	background-color: #FBFCFD;
+	border: 1px solid #C4CFE5;
+}
+
+div.line {
+	font-family: monospace, fixed;
+        font-size: 13px;
+	min-height: 13px;
+	line-height: 1.0;
+	text-wrap: unrestricted;
+	white-space: -moz-pre-wrap; /* Moz */
+	white-space: -pre-wrap;     /* Opera 4-6 */
+	white-space: -o-pre-wrap;   /* Opera 7 */
+	white-space: pre-wrap;      /* CSS3  */
+	word-wrap: break-word;      /* IE 5.5+ */
+	text-indent: -53px;
+	padding-left: 53px;
+	padding-bottom: 0px;
+	margin: 0px;
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+div.line:after {
+    content:"\000A";
+    white-space: pre;
+}
+
+div.line.glow {
+	background-color: cyan;
+	box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+	padding-right: 4px;
+	text-align: right;
+	border-right: 2px solid #0F0;
+	background-color: #E8E8E8;
+        white-space: pre;
+}
+span.lineno a {
+	background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+	background-color: #C8C8C8;
+}
+
+.lineno {
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+div.ah, span.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #FFFFFF;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	box-shadow: 2px 2px 3px #999;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
+}
+
+div.classindex ul {
+        list-style: none;
+        padding-left: 0;
+}
+
+div.classindex span.ai {
+        display: inline-block;
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
+body {
+	background-color: white;
+	color: black;
+        margin: 0;
+}
+
+div.contents {
+	margin-top: 10px;
+	margin-left: 12px;
+	margin-right: 8px;
+}
+
+td.indexkey {
+	background-color: #EBEFF6;
+	font-weight: bold;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+        white-space: nowrap;
+        vertical-align: top;
+}
+
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
+}
+
+tr.memlist {
+	background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+	text-align: center;
+}
+
+img.formulaDsp {
+	
+}
+
+img.formulaInl, img.inline {
+	vertical-align: middle;
+}
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
+}
+
+div.center img {
+	border: 0px;
+}
+
+address.footer {
+	text-align: right;
+	padding-right: 12px;
+}
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
+}
+
+span.keywordtype {
+	color: #604020
+}
+
+span.keywordflow {
+	color: #e08000
+}
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
+}
+
+span.vhdlchar { 
+	color: #000000 
+}
+
+span.vhdlkeyword { 
+	color: #700070 
+}
+
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+blockquote {
+        background-color: #F7F8FB;
+        border-left: 2px solid #9CAFD4;
+        margin: 0 24px 0 4px;
+        padding: 0 12px 0 16px;
+}
+
+blockquote.DocNodeRTL {
+   border-left: 0;
+   border-right: 2px solid #9CAFD4;
+   margin: 0 4px 0 24px;
+   padding: 0 16px 0 12px;
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+	background-color: cyan;
+	box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memSeparator {
+        border-bottom: 1px solid #DEE4F0;
+        line-height: 1px;
+        margin: 0px;
+        padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memItemRight, .memTemplItemRight {
+	width: 100%;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+	font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+	padding: 8px;
+	border-top: 1px solid #A8B8D9;
+	border-left: 1px solid #A8B8D9;
+	border-right: 1px solid #A8B8D9;
+	border-top-right-radius: 4px;
+	border-top-left-radius: 4px;
+	margin-bottom: -1px;
+	background-image: url('nav_f.png');
+	background-repeat: repeat-x;
+	background-color: #E2E8F2;
+	line-height: 1.25;
+	font-weight: 300;
+	float:left;
+}
+
+.permalink
+{
+        font-size: 65%;
+        display: inline-block;
+        vertical-align: middle;
+}
+
+.memtemplate {
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 9px;
+}
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.mempage {
+	width: 100%;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+	margin-right: 5px;
+        -webkit-transition: box-shadow 0.5s linear;
+        -moz-transition: box-shadow 0.5s linear;
+        -ms-transition: box-shadow 0.5s linear;
+        -o-transition: box-shadow 0.5s linear;
+        transition: box-shadow 0.5s linear;
+        display: table !important;
+        width: 100%;
+}
+
+.memitem.glow {
+         box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+        font-weight: 400;
+        margin-left: 6px;
+}
+
+.memname td {
+	vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        background-color: #DFE5F1;
+        /* opera specific markup */
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        border-top-right-radius: 4px;
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 4px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 4px;
+
+}
+
+.overload {
+        font-family: "courier new",courier,monospace;
+	font-size: 65%;
+}
+
+.memdoc, dl.reflist dd {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 6px 10px 2px 10px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        background-image:url('nav_g.png');
+        background-repeat:repeat-x;
+        background-color: #FFFFFF;
+        /* opera specific markup */
+        border-bottom-left-radius: 4px;
+        border-bottom-right-radius: 4px;
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 4px;
+        -moz-border-radius-bottomright: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 4px;
+        -webkit-border-bottom-right-radius: 4px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+        padding: 5px;
+}
+
+dl.reflist dd {
+        margin: 0px 0px 10px 0px;
+        padding: 5px;
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
+
+.paramname {
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+.paramname code {
+        line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+        margin-left: 0px;
+        padding-left: 0px;
+}       
+
+.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
+        font-weight: bold;
+        vertical-align: top;
+}
+        
+.params .paramtype, .tparams .paramtype {
+        font-style: italic;
+        vertical-align: top;
+}       
+        
+.params .paramdir, .tparams .paramdir {
+        font-family: "courier new",courier,monospace;
+        vertical-align: top;
+}
+
+table.mlabels {
+	border-spacing: 0px;
+}
+
+td.mlabels-left {
+	width: 100%;
+	padding: 0px;
+}
+
+td.mlabels-right {
+	vertical-align: bottom;
+	padding: 0px;
+	white-space: nowrap;
+}
+
+span.mlabels {
+        margin-left: 8px;
+}
+
+span.mlabel {
+        background-color: #728DC1;
+        border-top:1px solid #5373B4;
+        border-left:1px solid #5373B4;
+        border-right:1px solid #C4CFE5;
+        border-bottom:1px solid #C4CFE5;
+	text-shadow: none;
+	color: white;
+	margin-right: 4px;
+	padding: 2px 3px;
+	border-radius: 3px;
+	font-size: 7pt;
+	white-space: nowrap;
+	vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+        margin: 10px 0px;
+        border-top: 1px solid #9CAFD4;
+        border-bottom: 1px solid #9CAFD4;
+        width: 100%;
+}
+
+.directory table {
+        border-collapse:collapse;
+}
+
+.directory td {
+        margin: 0px;
+        padding: 0px;
+	vertical-align: top;
+}
+
+.directory td.entry {
+        white-space: nowrap;
+        padding-right: 6px;
+	padding-top: 3px;
+}
+
+.directory td.entry a {
+        outline:none;
+}
+
+.directory td.entry a img {
+        border: none;
+}
+
+.directory td.desc {
+        width: 100%;
+        padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 3px;
+	border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+	padding-left: 6px;
+	background-color: #F7F8FB;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+.directory .levels {
+        white-space: nowrap;
+        width: 100%;
+        text-align: right;
+        font-size: 9pt;
+}
+
+.directory .levels span {
+        cursor: pointer;
+        padding-left: 2px;
+        padding-right: 2px;
+	color: #3D578C;
+}
+
+.arrow {
+    color: #9CAFD4;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    cursor: pointer;
+    font-size: 80%;
+    display: inline-block;
+    width: 16px;
+    height: 22px;
+}
+
+.icon {
+    font-family: Arial, Helvetica;
+    font-weight: bold;
+    font-size: 12px;
+    height: 14px;
+    width: 16px;
+    display: inline-block;
+    background-color: #728DC1;
+    color: white;
+    text-align: center;
+    border-radius: 4px;
+    margin-left: 2px;
+    margin-right: 2px;
+}
+
+.icona {
+    width: 24px;
+    height: 22px;
+    display: inline-block;
+}
+
+.iconfopen {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderopen.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.iconfclosed {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderclosed.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.icondoc {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('doc.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+table.directory {
+    font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+        margin-top: 8px;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable caption {
+	caption-side: top;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+table.fieldtable {
+        /*width: 100%;*/
+        margin-bottom: 10px;
+        border: 1px solid #A8B8D9;
+        border-spacing: 0px;
+        -moz-border-radius: 4px;
+        -webkit-border-radius: 4px;
+        border-radius: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+        padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+        white-space: nowrap;
+        border-right: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+        padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+        border-bottom: 1px solid #A8B8D9;
+        /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+        margin-top: 0px;
+}       
+        
+.fieldtable td.fielddoc p:last-child {
+        margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+        border-bottom: none;
+}
+
+.fieldtable th {
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        font-size: 90%;
+        color: #253555;
+        padding-bottom: 4px;
+        padding-top: 5px;
+        text-align:left;
+        font-weight: 400;
+        -moz-border-radius-topleft: 4px;
+        -moz-border-radius-topright: 4px;
+        -webkit-border-top-left-radius: 4px;
+        -webkit-border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        border-top-right-radius: 4px;
+        border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
+{
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	background-position: 0 -5px;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
+}
+
+.navpath li
+{
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right:15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
+	color: #283A5D;
+	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+	text-decoration: none;        
+}
+
+.navpath li.navelem a:hover
+{
+	color:#6884BD;
+}
+
+.navpath li.footer
+{
+        list-style-type:none;
+        float:right;
+        padding-left:10px;
+        padding-right:15px;
+        background-image:none;
+        background-repeat:no-repeat;
+        background-position:right;
+        color:#364D7C;
+        font-size: 8pt;
+}
+
+
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+table.classindex
+{
+        margin: 10px;
+        white-space: nowrap;
+        margin-left: 3%;
+        margin-right: 3%;
+        width: 94%;
+        border: 0;
+        border-spacing: 0; 
+        padding: 0;
+}
+
+div.ingroups
+{
+	font-size: 8pt;
+	width: 50%;
+	text-align: left;
+}
+
+div.ingroups a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
+.PageDocRTL-title div.headertitle {
+  text-align: right;
+  direction: rtl;
+}
+
+dl {
+        padding: 0 0 0 0;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
+dl.section {
+	margin-left: 0px;
+	padding-left: 0px;
+}
+
+dl.section.DocNodeRTL {
+  margin-right: 0px;
+  padding-right: 0px;
+}
+
+dl.note {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #D0C000;
+}
+
+dl.note.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #D0C000;
+}
+
+dl.warning, dl.attention {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #FF0000;
+}
+
+dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #00D000;
+}
+
+dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #00D000;
+}
+
+dl.deprecated {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #505050;
+}
+
+dl.deprecated.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #505050;
+}
+
+dl.todo {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #00C0E0;
+}
+
+dl.todo.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #00C0E0;
+}
+
+dl.test {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #3030E0;
+}
+
+dl.test.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #3030E0;
+}
+
+dl.bug {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #C08050;
+}
+
+dl.bug.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #C08050;
+}
+
+dl.section dd {
+	margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+	text-align: center;
+	vertical-align: bottom;
+	border-collapse: separate;
+}
+ 
+#projectlogo img
+{ 
+	border: 0px none;
+}
+ 
+#projectalign
+{
+        vertical-align: middle;
+}
+
+#projectname
+{
+	font: 300% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 2px 0px;
+}
+    
+#projectbrief
+{
+	font: 120% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#projectnumber
+{
+	font: 50% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#titlearea
+{
+	padding: 0px;
+	margin: 0px;
+	width: 100%;
+	border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+        text-align: center;
+}
+
+.dotgraph
+{
+        text-align: center;
+}
+
+.mscgraph
+{
+        text-align: center;
+}
+
+.plantumlgraph
+{
+        text-align: center;
+}
+
+.diagraph
+{
+        text-align: center;
+}
+
+.caption
+{
+	font-weight: bold;
+}
+
+div.zoom
+{
+	border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+        margin-bottom:50px;
+}
+
+dl.citelist dt {
+        color:#334975;
+        float:left;
+        font-weight:bold;
+        margin-right:10px;
+        padding:5px;
+        text-align:right;
+        width:52px;
+}
+
+dl.citelist dd {
+        margin:2px 0 2px 72px;
+        padding:5px 0;
+}
+
+div.toc {
+        padding: 14px 25px;
+        background-color: #F4F6FA;
+        border: 1px solid #D8DFEE;
+        border-radius: 7px 7px 7px 7px;
+        float: right;
+        height: auto;
+        margin: 0 8px 10px 10px;
+        width: 200px;
+}
+
+.PageDocRTL-title div.toc {
+  float: left !important;
+  text-align: right;
+}
+
+div.toc li {
+        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+        margin-top: 5px;
+        padding-left: 10px;
+        padding-top: 2px;
+}
+
+.PageDocRTL-title div.toc li {
+  background-position-x: right !important;
+  padding-left: 0 !important;
+  padding-right: 10px;
+}
+
+div.toc h3 {
+        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+	color: #4665A2;
+        border-bottom: 0 none;
+        margin: 0;
+}
+
+div.toc ul {
+        list-style: none outside none;
+        border: medium none;
+        padding: 0px;
+}       
+
+div.toc li.level1 {
+        margin-left: 0px;
+}
+
+div.toc li.level2 {
+        margin-left: 15px;
+}
+
+div.toc li.level3 {
+        margin-left: 30px;
+}
+
+div.toc li.level4 {
+        margin-left: 45px;
+}
+
+span.emoji {
+        /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
+         * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
+         */
+}
+
+.PageDocRTL-title div.toc li.level1 {
+  margin-left: 0 !important;
+  margin-right: 0;
+}
+
+.PageDocRTL-title div.toc li.level2 {
+  margin-left: 0 !important;
+  margin-right: 15px;
+}
+
+.PageDocRTL-title div.toc li.level3 {
+  margin-left: 0 !important;
+  margin-right: 30px;
+}
+
+.PageDocRTL-title div.toc li.level4 {
+  margin-left: 0 !important;
+  margin-right: 45px;
+}
+
+.inherit_header {
+        font-weight: bold;
+        color: gray;
+        cursor: pointer;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+.inherit_header td {
+        padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+        display: none;
+}
+
+tr.heading h2 {
+        margin-top: 12px;
+        margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+        position: absolute;
+        display: none;
+}
+
+#powerTip {
+	cursor: default;
+	white-space: nowrap;
+	background-color: white;
+	border: 1px solid gray;
+	border-radius: 4px 4px 4px 4px;
+	box-shadow: 1px 1px 7px gray;
+	display: none;
+	font-size: smaller;
+	max-width: 80%;
+	opacity: 0.9;
+	padding: 1ex 1em 1em;
+	position: absolute;
+	z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+        color: grey;
+	font-style: italic;
+}
+
+#powerTip div.ttname a {
+        font-weight: bold;
+}
+
+#powerTip div.ttname {
+        font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+        color: #006318;
+}
+
+#powerTip div {
+        margin: 0px;
+        padding: 0px;
+        font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+	content: "";
+	position: absolute;
+	margin: 0px;
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.w:after,  #powerTip.w:before,
+#powerTip.e:after,  #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	border: solid transparent;
+	content: " ";
+	height: 0;
+	width: 0;
+	position: absolute;
+}
+
+#powerTip.n:after,  #powerTip.s:after,
+#powerTip.w:after,  #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+	border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before,  #powerTip.s:before,
+#powerTip.w:before,  #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+	border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+	top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+	border-top-color: #FFFFFF;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+#powerTip.n:before {
+	border-top-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+	left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+	right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+	left: 14px;
+}
+
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+	border-bottom-color: #FFFFFF;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+	border-bottom-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+	left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+	right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+	left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+	left: 100%;
+}
+#powerTip.e:after {
+	border-left-color: #FFFFFF;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.e:before {
+	border-left-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+	right: 100%;
+}
+#powerTip.w:after {
+	border-right-color: #FFFFFF;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.w:before {
+	border-right-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+@media print
+{
+  #top { display: none; }
+  #side-nav { display: none; }
+  #nav-path { display: none; }
+  body { overflow:visible; }
+  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+  .summary { display: none; }
+  .memitem { page-break-inside: avoid; }
+  #doc-content
+  {
+    margin-left:0 !important;
+    height:auto !important;
+    width:auto !important;
+    overflow:inherit;
+    display:inline;
+  }
+}
+
+/* @group Markdown */
+
+table.markdownTable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+	text-align: left
+}
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+	text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+	text-align: center
+}
+
+.DocNodeRTL {
+  text-align: right;
+  direction: rtl;
+}
+
+.DocNodeLTR {
+  text-align: left;
+  direction: ltr;
+}
+
+table.DocNodeRTL {
+   width: auto;
+   margin-right: 0;
+   margin-left: auto;
+}
+
+table.DocNodeLTR {
+   width: auto;
+   margin-right: auto;
+   margin-left: 0;
+}
+
+tt, code, kbd, samp
+{
+  display: inline-block;
+  direction:ltr; 
+}
+/* @end */
+
+u {
+	text-decoration: underline;
+}
+
diff --git a/ver-4.4.0/doxygen.svg b/ver-4.4.0/doxygen.svg
new file mode 100644
index 00000000..d42dad52
--- /dev/null
+++ b/ver-4.4.0/doxygen.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 104 31" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+  <linearGradient id="a">
+   <stop stop-color="#5373B4" offset="0"/>
+   <stop stop-color="#7C95C6" offset="1"/>
+  </linearGradient>
+  <linearGradient id="d" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  <linearGradient id="c" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientTransform="matrix(.6816 0 0 1.0248 72.391 -.91809)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  <linearGradient id="b" x1="56.295" x2="56.295" y1="24.622" y2="26.574" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  <linearGradient id="e" x1="49.067" x2="48.956" y1="19.719" y2="9.5227" gradientTransform="matrix(.97968 0 0 1.0207 -.25579 -.25579)" gradientUnits="userSpaceOnUse">
+   <stop stop-color="#C0CCE3" offset="0"/>
+   <stop stop-color="#EEF1F7" offset="1"/>
+  </linearGradient>
+  <filter id="f" x="-.010676" y="-.045304" width="1.0214" height="1.0906" color-interpolation-filters="sRGB">
+   <feGaussianBlur stdDeviation="0.45293203"/>
+  </filter>
+ </defs>
+ <g>
+  <path transform="translate(-2.5759 -27.848)" d="m13.609 32.203v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23645 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88018-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35277 3.7988-1.0566 1.0471-0.70387 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.92299-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.4611 0.28066 1.7988 0.84375 0.33777 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5976v-8.3926c0-0.84464-0.0765-1.6106-0.22851-2.2969-0.13511-0.70387-0.37971-1.2925-0.73438-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.063 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07028-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06051 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3438h-0.05078l-2.9648-9.3438zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914 0.38844 0.24635 0.6991 0.57184 0.93555 0.97656 0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13253 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10134 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88814-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70105 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.4927-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89025 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74023 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" filter="url(#f)" opacity=".3" stroke="#969696" xlink:href="#path141"/>
+  <path d="m0.97202 24.161 43.605-0.0019 0.0508 3.3061-43.6 0.04174z" fill="url(#d)" stroke="#000" stroke-width=".5"/>
+  <path d="m10.283 3.5547v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23644 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88017-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35278 3.7988-1.0566 1.0471-0.70386 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.923-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.461 0.28066 1.7988 0.84375 0.33778 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5977v-8.3926c0-0.84464-0.0765-1.6106-0.22852-2.2969-0.13511-0.70387-0.3797-1.2925-0.73437-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.062 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07027-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06052 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3437h-0.05078l-2.9648-9.3437zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914s0.6991 0.57184 0.93555 0.97656c0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13254 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10133 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88813-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70106 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.49271-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89026 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74024 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" fill="url(#e)" stroke="#4665A2" stroke-width=".7"/>
+  <path d="m52.988 27.291c0.99602-1.0359 1.3944-1.8725 1.7928-3.1076l3.8247-0.03984c0.3113 1.6096 0.82413 2.5137 1.6335 3.1474z" fill="url(#b)" stroke="#000" stroke-width=".5"/>
+  <path d="m73.89 24.04 28.885-0.2011-0.12476 3.3879-31.033 0.16229c1.2621-1.0234 1.9665-2.2859 2.2724-3.3491z" fill="url(#c)" stroke="#000" stroke-width=".41788"/>
+ </g>
+</svg>
diff --git a/ver-4.4.0/dynsections.js b/ver-4.4.0/dynsections.js
new file mode 100644
index 00000000..88f2c27e
--- /dev/null
+++ b/ver-4.4.0/dynsections.js
@@ -0,0 +1,128 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+   content.hide();
+   summary.show();
+   $(linkObj).addClass('closed').removeClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+   content.show();
+   summary.hide();
+   $(linkObj).removeClass('closed').addClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+  $('table.directory tr').
+       removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+  $('table.directory tr').each(function() {
+    var l = this.id.split('_').length-1;
+    var i = $('#img'+this.id.substring(3));
+    var a = $('#arr'+this.id.substring(3));
+    if (l<level+1) {
+      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
+      a.html('&#9660;');
+      $(this).show();
+    } else if (l==level+1) {
+      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
+      a.html('&#9658;');
+      $(this).show();
+    } else {
+      $(this).hide();
+    }
+  });
+  updateStripes();
+}
+
+function toggleFolder(id)
+{
+  // the clicked row
+  var currentRow = $('#row_'+id);
+
+  // all rows after the clicked row
+  var rows = currentRow.nextAll("tr");
+
+  var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+
+  // only match elements AFTER this one (can't hide elements before)
+  var childRows = rows.filter(function() { return this.id.match(re); });
+
+  // first row is visible we are HIDING
+  if (childRows.filter(':first').is(':visible')===true) {
+    // replace down arrow by right arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    currentRowSpans.filter(".arrow").html('&#9658;');
+    rows.filter("[id^=row_"+id+"]").hide(); // hide all children
+  } else { // we are SHOWING
+    // replace right arrow by down arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
+    currentRowSpans.filter(".arrow").html('&#9660;');
+    // replace down arrows by right arrows for child rows
+    var childRowsSpans = childRows.find("span");
+    childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    childRowsSpans.filter(".arrow").html('&#9658;');
+    childRows.show(); //show all children
+  }
+  updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+  var rows = $('tr.inherit.'+id);
+  var img = $('tr.inherit_header.'+id+' img');
+  var src = $(img).attr('src');
+  if (rows.filter(':first').is(':visible')===true) {
+    rows.css('display','none');
+    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+  } else {
+    rows.css('display','table-row'); // using show() causes jump in firefox
+    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+  }
+}
+/* @license-end */
+
+$(document).ready(function() {
+  $('.code,.codeRef').each(function() {
+    $(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
+    $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });
+  });
+});
diff --git a/ver-4.4.0/earth__radius__mod_8F90.html b/ver-4.4.0/earth__radius__mod_8F90.html
new file mode 100644
index 00000000..f66914b9
--- /dev/null
+++ b/ver-4.4.0/earth__radius__mod_8F90.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: earth_radius_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('earth__radius__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">earth_radius_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Determine earth radius and shape.  
+<a href="#details">More...</a></p>
+
+<p><a href="earth__radius__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceearth__radius__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceearth__radius__mod.html">earth_radius_mod</a></td></tr>
+<tr class="memdesc:namespaceearth__radius__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine earth radius and shape. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a810f60db1a1faff0d6f59937a8207a54"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius_mod::earth_radius</a> (IGDTMPL, IGDTLEN, RADIUS, ECCEN_SQUARED)</td></tr>
+<tr class="memdesc:a810f60db1a1faff0d6f59937a8207a54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine earth radius and shape.  <a href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">More...</a><br /></td></tr>
+<tr class="separator:a810f60db1a1faff0d6f59937a8207a54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Determine earth radius and shape. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2021-07-21 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="earth__radius__mod_8F90_source.html">earth_radius_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="earth__radius__mod_8F90.html">earth_radius_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/earth__radius__mod_8F90.js b/ver-4.4.0/earth__radius__mod_8F90.js
new file mode 100644
index 00000000..bc2c8f77
--- /dev/null
+++ b/ver-4.4.0/earth__radius__mod_8F90.js
@@ -0,0 +1,4 @@
+var earth__radius__mod_8F90 =
+[
+    [ "earth_radius", "earth__radius__mod_8F90.html#a810f60db1a1faff0d6f59937a8207a54", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/earth__radius__mod_8F90_source.html b/ver-4.4.0/earth__radius__mod_8F90_source.html
new file mode 100644
index 00000000..42b97e3c
--- /dev/null
+++ b/ver-4.4.0/earth__radius__mod_8F90_source.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: earth_radius_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('earth__radius__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">earth_radius_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="earth__radius__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="namespaceearth__radius__mod.html">    7</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">   40</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius</a>(IGDTMPL, IGDTLEN, RADIUS, ECCEN_SQUARED)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordtype">INTEGER</span>,                <span class="keywordtype">INTENT(IN   )</span> :: igdtlen</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="keywordtype">INTEGER</span>,                <span class="keywordtype">INTENT(IN   )</span> :: igdtmpl(igdtlen)</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keywordtype">    REAL</span>,                   <span class="keywordtype">INTENT(  OUT)</span> :: eccen_squared</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keywordtype">    REAL</span>,                   <span class="keywordtype">INTENT(  OUT)</span> :: radius</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keywordtype">    REAL</span>                                  :: flat</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keywordtype">    REAL</span>                                  :: major_axis, minor_axis</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">SELECT CASE</span> (igdtmpl(1))</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordflow">CASE</span> (0)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;       radius        = 6367470.0</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;       eccen_squared = 0.0</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordflow">CASE</span> (1)  <span class="comment">! USER SPECIFIED SPHERICAL</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;       radius        = float(igdtmpl(3))/float(10**igdtmpl(2))</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;       eccen_squared = 0.0</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordflow">CASE</span> (2)  <span class="comment">! IAU 1965</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;       radius        = 6378160.0      <span class="comment">! SEMI MAJOR AXIS</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;       flat          = 1.0/297.0      <span class="comment">! FLATTENING</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;       eccen_squared = (2.0*flat) - (flat**2)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">CASE</span> (3)  <span class="comment">! USER SPECIFIED ELLIPTICAL (KM)</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;       major_axis    = float(igdtmpl(5))/float(10**igdtmpl(4))</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;       major_axis    = major_axis * 1000.0</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;       minor_axis    = float(igdtmpl(7))/float(10**igdtmpl(6))</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;       minor_axis    = minor_axis * 1000.0</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;       eccen_squared = 1.0 - (minor_axis**2 / major_axis**2)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;       radius        = major_axis</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordflow">CASE</span> (4)  <span class="comment">! IAG-GRS80 MODEL</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;       radius        = 6378137.0      <span class="comment">! SEMI MAJOR AXIS</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;       flat          = 1.0/298.2572   <span class="comment">! FLATTENING</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;       eccen_squared = (2.0*flat) - (flat**2)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordflow">CASE</span> (5)  <span class="comment">! WGS84 DATUM</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;       radius        = 6378137.0      <span class="comment">! SEMI MAJOR AXIS</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;       eccen_squared = 0.00669437999013</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordflow">CASE</span> (6)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;       radius        = 6371229.0</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;       eccen_squared = 0.0</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordflow">CASE</span> (7)  <span class="comment">! USER SPECIFIED ELLIPTICAL (M)</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;       major_axis    = float(igdtmpl(5))/float(10**igdtmpl(4))</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;       minor_axis    = float(igdtmpl(7))/float(10**igdtmpl(6))</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;       eccen_squared = 1.0 - (minor_axis**2 / major_axis**2)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;       radius        = major_axis</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordflow">CASE</span> (8)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;       radius        = 6371200.0</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;       eccen_squared = 0.0</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordflow">    CASE DEFAULT</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;       radius        = -9999.</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;       eccen_squared = -9999.</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordflow">    END SELECT</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius</a></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html"><div class="ttname"><a href="namespaceearth__radius__mod.html">earth_radius_mod</a></div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00007">earth_radius_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html_a810f60db1a1faff0d6f59937a8207a54"><div class="ttname"><a href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius_mod::earth_radius</a></div><div class="ttdeci">subroutine, public earth_radius(IGDTMPL, IGDTLEN, RADIUS, ECCEN_SQUARED)</div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00040">earth_radius_mod.F90:41</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="earth__radius__mod_8F90.html">earth_radius_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/files.html b/ver-4.4.0/files.html
new file mode 100644
index 00000000..59555004
--- /dev/null
+++ b/ver-4.4.0/files.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: File List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('files.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">File List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bicubic__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="bicubic__interp__mod_8F90.html" target="_self">bicubic_interp_mod.F90</a></td><td class="desc">Bicubic interpolation routines for scalars and vectors </td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bilinear__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="bilinear__interp__mod_8F90.html" target="_self">bilinear_interp_mod.F90</a></td><td class="desc">Bilinear interpolation routines for scalars and vectors </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="budget__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="budget__interp__mod_8F90.html" target="_self">budget_interp_mod.F90</a></td><td class="desc">Budget interpolation routines for scalars and vectors </td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="earth__radius__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="earth__radius__mod_8F90.html" target="_self">earth_radius_mod.F90</a></td><td class="desc">Determine earth radius and shape </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="gdswzd__c_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="gdswzd__c_8F90.html" target="_self">gdswzd_c.F90</a></td><td class="desc">C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> </td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="gdswzd__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="gdswzd__mod_8F90.html" target="_self">gdswzd_mod.F90</a></td><td class="desc">Driver module for gdswzd routines </td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__constants__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__constants__mod_8F90.html" target="_self">ip_constants_mod.F90</a></td><td class="desc">Constants for use in NCEPLIBS-ip </td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__equid__cylind__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__equid__cylind__grid__mod_8F90.html" target="_self">ip_equid_cylind_grid_mod.F90</a></td><td class="desc">Equidistant cylindrical grib decoder and grid coordinate transformations </td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__gaussian__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__gaussian__grid__mod_8F90.html" target="_self">ip_gaussian_grid_mod.F90</a></td><td class="desc">Gaussian grid coordinate transformations </td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grid__descriptor__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grid__descriptor__mod_8F90.html" target="_self">ip_grid_descriptor_mod.F90</a></td><td class="desc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions </td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grid__factory__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grid__factory__mod_8F90.html" target="_self">ip_grid_factory_mod.F90</a></td><td class="desc">Routines for creating an ip_grid given a Grib descriptor </td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grid__mod_8F90.html" target="_self">ip_grid_mod.F90</a></td><td class="desc">Abstract ip_grid type </td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__grids__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__grids__mod_8F90.html" target="_self">ip_grids_mod.F90</a></td><td class="desc">Re-export the individual grids </td></tr>
+<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__interpolators__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__interpolators__mod_8F90.html" target="_self">ip_interpolators_mod.F90</a></td><td class="desc">Top-level module to export interpolation routines and constants </td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__lambert__conf__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__lambert__conf__grid__mod_8F90.html" target="_self">ip_lambert_conf_grid_mod.F90</a></td><td class="desc">GDS wizard for lambert conformal conical </td></tr>
+<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__mercator__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__mercator__grid__mod_8F90.html" target="_self">ip_mercator_grid_mod.F90</a></td><td class="desc">GDS wizard for mercator cylindrical </td></tr>
+<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__mod_8F90.html" target="_self">ip_mod.F90</a></td><td class="desc">Top-level module for the ip library </td></tr>
+<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__polar__stereo__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__polar__stereo__grid__mod_8F90.html" target="_self">ip_polar_stereo_grid_mod.F90</a></td><td class="desc">GDS wizard for polar stereographic azimuthal </td></tr>
+<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90.html" target="_self">ip_rot_equid_cylind_egrid_mod.F90</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E </td></tr>
+<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__rot__equid__cylind__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__rot__equid__cylind__grid__mod_8F90.html" target="_self">ip_rot_equid_cylind_grid_mod.F90</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D </td></tr>
+<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ip__station__points__grid__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ip__station__points__grid__mod_8F90.html" target="_self">ip_station_points_grid_mod.F90</a></td><td class="desc">Interpolate gridded data to a series of station points </td></tr>
+<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="iplib__4_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iplib__4_8h.html" target="_self">iplib_4.h</a></td><td class="desc">C interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> and <a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1" title="gdswzd_grib1() interface for C for the _4 build of the library.">gdswzd_grib1()</a> functions for '4' library build </td></tr>
+<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="iplib__8_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iplib__8_8h.html" target="_self">iplib_8.h</a></td><td class="desc">C interface to <a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4" title="gdswzd() interface for C for _8 build of library.">gdswzd()</a> and <a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93" title="gdswzd_grib1() interface for C for _8 build of the library.">gdswzd_grib1()</a> functions for '8' library build </td></tr>
+<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="iplib__d_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iplib__d_8h.html" target="_self">iplib_d.h</a></td><td class="desc">C interface to <a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e" title="gdswzd() interface for C for _d build of library.">gdswzd()</a> and <a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691" title="gdswzd_grib1() interface for C for _d build of the library.">gdswzd_grib1()</a> functions for 'd' library build </td></tr>
+<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipolates_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipolates_8F90.html" target="_self">ipolates.F90</a></td><td class="desc">Top-level driver for scalar interpolation routine ipolates() </td></tr>
+<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipolatev_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipolatev_8F90.html" target="_self">ipolatev.F90</a></td><td class="desc">Top-level driver for vector interpolation routine ipolates </td></tr>
+<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxetas_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxetas_8F90.html" target="_self">ipxetas.F90</a></td><td class="desc">Expand or contract eta grids using linear interpolation </td></tr>
+<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxwafs_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxwafs_8F90.html" target="_self">ipxwafs.F90</a></td><td class="desc">Expand or contract wafs grids </td></tr>
+<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxwafs2_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxwafs2_8F90.html" target="_self">ipxwafs2.F90</a></td><td class="desc">Expand or contract wafs grids using linear interpolation and account for bitmapped data </td></tr>
+<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ipxwafs3_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="ipxwafs3_8F90.html" target="_self">ipxwafs3.F90</a></td><td class="desc">Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data </td></tr>
+<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="movect_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="movect_8F90.html" target="_self">movect.F90</a></td><td class="desc">Move a vector along a great circle </td></tr>
+<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="neighbor__budget__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="neighbor__budget__interp__mod_8F90.html" target="_self">neighbor_budget_interp_mod.F90</a></td><td class="desc">Interpolate scalar and vector fields with neighbor budget interpolation </td></tr>
+<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="neighbor__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="neighbor__interp__mod_8F90.html" target="_self">neighbor_interp_mod.F90</a></td><td class="desc">Interpolate scalar and vector fields with neighbor interpolation </td></tr>
+<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="polfix__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="polfix__mod_8F90.html" target="_self">polfix_mod.F90</a></td><td class="desc">Make multiple pole scalar values consistent </td></tr>
+<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spectral__interp__mod_8F90_source.html"><span class="icondoc"></span></a><a class="el" href="spectral__interp__mod_8F90.html" target="_self">spectral_interp_mod.F90</a></td><td class="desc">Interpolate spectral </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/files_dup.js b/ver-4.4.0/files_dup.js
new file mode 100644
index 00000000..fffd5794
--- /dev/null
+++ b/ver-4.4.0/files_dup.js
@@ -0,0 +1,38 @@
+var files_dup =
+[
+    [ "bicubic_interp_mod.F90", "bicubic__interp__mod_8F90.html", "bicubic__interp__mod_8F90" ],
+    [ "bilinear_interp_mod.F90", "bilinear__interp__mod_8F90.html", "bilinear__interp__mod_8F90" ],
+    [ "budget_interp_mod.F90", "budget__interp__mod_8F90.html", "budget__interp__mod_8F90" ],
+    [ "earth_radius_mod.F90", "earth__radius__mod_8F90.html", "earth__radius__mod_8F90" ],
+    [ "gdswzd_c.F90", "gdswzd__c_8F90.html", "gdswzd__c_8F90" ],
+    [ "gdswzd_mod.F90", "gdswzd__mod_8F90.html", "gdswzd__mod_8F90" ],
+    [ "ip_constants_mod.F90", "ip__constants__mod_8F90.html", "ip__constants__mod_8F90" ],
+    [ "ip_equid_cylind_grid_mod.F90", "ip__equid__cylind__grid__mod_8F90.html", "ip__equid__cylind__grid__mod_8F90" ],
+    [ "ip_gaussian_grid_mod.F90", "ip__gaussian__grid__mod_8F90.html", "ip__gaussian__grid__mod_8F90" ],
+    [ "ip_grid_descriptor_mod.F90", "ip__grid__descriptor__mod_8F90.html", "ip__grid__descriptor__mod_8F90" ],
+    [ "ip_grid_factory_mod.F90", "ip__grid__factory__mod_8F90.html", "ip__grid__factory__mod_8F90" ],
+    [ "ip_grid_mod.F90", "ip__grid__mod_8F90.html", "ip__grid__mod_8F90" ],
+    [ "ip_grids_mod.F90", "ip__grids__mod_8F90.html", null ],
+    [ "ip_interpolators_mod.F90", "ip__interpolators__mod_8F90.html", "ip__interpolators__mod_8F90" ],
+    [ "ip_lambert_conf_grid_mod.F90", "ip__lambert__conf__grid__mod_8F90.html", "ip__lambert__conf__grid__mod_8F90" ],
+    [ "ip_mercator_grid_mod.F90", "ip__mercator__grid__mod_8F90.html", "ip__mercator__grid__mod_8F90" ],
+    [ "ip_mod.F90", "ip__mod_8F90.html", null ],
+    [ "ip_polar_stereo_grid_mod.F90", "ip__polar__stereo__grid__mod_8F90.html", "ip__polar__stereo__grid__mod_8F90" ],
+    [ "ip_rot_equid_cylind_egrid_mod.F90", "ip__rot__equid__cylind__egrid__mod_8F90.html", "ip__rot__equid__cylind__egrid__mod_8F90" ],
+    [ "ip_rot_equid_cylind_grid_mod.F90", "ip__rot__equid__cylind__grid__mod_8F90.html", "ip__rot__equid__cylind__grid__mod_8F90" ],
+    [ "ip_station_points_grid_mod.F90", "ip__station__points__grid__mod_8F90.html", "ip__station__points__grid__mod_8F90" ],
+    [ "iplib_4.h", "iplib__4_8h.html", "iplib__4_8h" ],
+    [ "iplib_8.h", "iplib__8_8h.html", "iplib__8_8h" ],
+    [ "iplib_d.h", "iplib__d_8h.html", "iplib__d_8h" ],
+    [ "ipolates.F90", "ipolates_8F90.html", "ipolates_8F90" ],
+    [ "ipolatev.F90", "ipolatev_8F90.html", "ipolatev_8F90" ],
+    [ "ipxetas.F90", "ipxetas_8F90.html", "ipxetas_8F90" ],
+    [ "ipxwafs.F90", "ipxwafs_8F90.html", "ipxwafs_8F90" ],
+    [ "ipxwafs2.F90", "ipxwafs2_8F90.html", "ipxwafs2_8F90" ],
+    [ "ipxwafs3.F90", "ipxwafs3_8F90.html", "ipxwafs3_8F90" ],
+    [ "movect.F90", "movect_8F90.html", "movect_8F90" ],
+    [ "neighbor_budget_interp_mod.F90", "neighbor__budget__interp__mod_8F90.html", "neighbor__budget__interp__mod_8F90" ],
+    [ "neighbor_interp_mod.F90", "neighbor__interp__mod_8F90.html", "neighbor__interp__mod_8F90" ],
+    [ "polfix_mod.F90", "polfix__mod_8F90.html", "polfix__mod_8F90" ],
+    [ "spectral_interp_mod.F90", "spectral__interp__mod_8F90.html", "spectral__interp__mod_8F90" ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/folderclosed.png b/ver-4.4.0/folderclosed.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66
GIT binary patch
literal 616
zcmV-u0+;=XP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0006nNkl<ZcmeHQ
zO;6N77=GINb=Z(>a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i
z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU
zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6`
zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM<n!c>
zlFX`g{k$X}yIe%$N)cn1LNu=q<K5OS7CNKPk1f&9-+dXiicCfAy8a*|m;2$mAHWmO
zXHGi+kV1-pHt+rM<gA>9_CS)*<?(PP8<}W6a5(^^keLBRMb50K&dQM@pmn94ZU=xQ
zQX)TlxfVQ_9);_LB~VUu;v|U_-?p*(;VWJ|=^7%ZGN6sBL~)dHv|OyK(wPKdmH>>A
zsX_mM4<gjHpqc8Q=uo450T?4i;CdW;`z|<XAntIp>L@`(cSNQKMFc$RtYbx{79<Tw
zWXi-A43v#7I@t_Ijx7TKV2n(H{k|uniNrjlLmWw}y*t^*R9a-QX?;6B==9%$de=Kk
z*QYpi761&SjtX%clomR5cK>#j-J7hk*>*+ZZhM4Hw?<fJyv$}=71o`ou(^pUn-ky6
z->I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000<MNUMnLSTaR
CZX#j;

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/folderopen.png b/ver-4.4.0/folderopen.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6c7f676a3b3ef8c2c307d319dff3c6a604eb227
GIT binary patch
literal 597
zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0006UNkl<ZcmeHQ
zKX21e5dS%8nlx#!9XpK>X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e=
zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2
zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+!
zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z(
zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l
zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa(
z0QgY<a!3GSVHw98r3tc|WLmCr=#k@b07--d0B^h;_*7huEOe@B5HbiIMnQNV2X-w6
zOrIHW*Nh!-3RJ{NFA7|xb7mLqy*mtQR%uj&==!8@USn{@{Ji@c`@7F#U6jIrqNF?z
zhGG8IoU)VO(*u}!lcNr&IgdJw?)fXgkFy?t@!%{)3!Y}PHt9|Ph>gTWqf1qN++Gqp
z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ
j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/functions.html b/ver-4.4.0/functions.html
new file mode 100644
index 00000000..e7c657cd
--- /dev/null
+++ b/ver-4.4.0/functions.html
@@ -0,0 +1,476 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented data types members with links to the data structure documentation for each member</div>
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>clat0
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_d"></a>- d -</h3><ul>
+<li>descriptor
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">ip_grid_mod::ip_grid</a>
+</li>
+<li>dlat
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+</li>
+<li>dlats
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>dlon
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee">ip_mercator_grid_mod::ip_mercator_grid</a>
+</li>
+<li>dlons
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>dphi
+: <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5">ip_mercator_grid_mod::ip_mercator_grid</a>
+</li>
+<li>dxs
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+<li>dys
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_e"></a>- e -</h3><ul>
+<li>eccen_squared
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">ip_grid_mod::ip_grid</a>
+</li>
+<li>elliptical
+: <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_f"></a>- f -</h3><ul>
+<li>field_pos()
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>gds
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9">ip_grid_descriptor_mod::grib1_descriptor</a>
+</li>
+<li>gdswzd()
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080">ip_grid_mod::ip_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+, <a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f">ip_station_points_grid_mod::ip_station_points_grid</a>
+</li>
+<li>gdswzd_1d_array()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_2d_array()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_2d_array_grib1()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_grib1()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_grid()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_interface()
+: <a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369">ip_grid_mod::gdswzd_interface</a>
+</li>
+<li>gdswzd_scalar()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdt_len
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06">ip_grid_descriptor_mod::grib2_descriptor</a>
+</li>
+<li>gdt_num
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19">ip_grid_descriptor_mod::grib2_descriptor</a>
+</li>
+<li>gdt_tmpl
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe">ip_grid_descriptor_mod::grib2_descriptor</a>
+</li>
+<li>grid_num
+: <a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1">ip_grid_descriptor_mod::ip_grid_descriptor</a>
+</li>
+</ul>
+
+
+<h3><a id="index_h"></a>- h -</h3><ul>
+<li>h
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+<li>hi
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>im
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">ip_grid_mod::ip_grid</a>
+</li>
+<li>init()
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">ip_grid_mod::ip_grid</a>
+</li>
+<li>init_grib1()
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806">ip_grid_mod::ip_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+, <a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32">ip_station_points_grid_mod::ip_station_points_grid</a>
+</li>
+<li>init_grib1_descriptor()
+: <a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e">ip_grid_descriptor_mod::init_descriptor</a>
+</li>
+<li>init_grib1_interface()
+: <a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb">ip_grid_mod::init_grib1_interface</a>
+</li>
+<li>init_grib2()
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9">ip_grid_mod::ip_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+, <a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e">ip_station_points_grid_mod::ip_station_points_grid</a>
+</li>
+<li>init_grib2_descriptor()
+: <a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c">ip_grid_descriptor_mod::init_descriptor</a>
+</li>
+<li>init_grib2_interface()
+: <a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c">ip_grid_mod::init_grib2_interface</a>
+</li>
+<li>init_grid_generic()
+: <a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72">ip_grid_factory_mod::init_grid</a>
+</li>
+<li>interpolate_bicubic_scalar()
+: <a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077">bicubic_interp_mod::interpolate_bicubic</a>
+</li>
+<li>interpolate_bicubic_vector()
+: <a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b">bicubic_interp_mod::interpolate_bicubic</a>
+</li>
+<li>interpolate_bilinear_scalar()
+: <a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65">bilinear_interp_mod::interpolate_bilinear</a>
+</li>
+<li>interpolate_bilinear_vector()
+: <a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd">bilinear_interp_mod::interpolate_bilinear</a>
+</li>
+<li>interpolate_budget_scalar()
+: <a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0">budget_interp_mod::interpolate_budget</a>
+</li>
+<li>interpolate_budget_vector()
+: <a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6">budget_interp_mod::interpolate_budget</a>
+</li>
+<li>interpolate_neighbor_budget_scalar()
+: <a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a">neighbor_budget_interp_mod::interpolate_neighbor_budget</a>
+</li>
+<li>interpolate_neighbor_budget_vector()
+: <a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06">neighbor_budget_interp_mod::interpolate_neighbor_budget</a>
+</li>
+<li>interpolate_neighbor_scalar()
+: <a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246">neighbor_interp_mod::interpolate_neighbor</a>
+</li>
+<li>interpolate_neighbor_vector()
+: <a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7">neighbor_interp_mod::interpolate_neighbor</a>
+</li>
+<li>interpolate_spectral_scalar()
+: <a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1">spectral_interp_mod::interpolate_spectral</a>
+</li>
+<li>interpolate_spectral_vector()
+: <a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487">spectral_interp_mod::interpolate_spectral</a>
+</li>
+<li>ipolates_grib1()
+: <a class="el" href="interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b">ipolates_mod::ipolates</a>
+</li>
+<li>ipolates_grib1_single_field()
+: <a class="el" href="interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d">ipolates_mod::ipolates</a>
+</li>
+<li>ipolates_grib2()
+: <a class="el" href="interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b">ipolates_mod::ipolates</a>
+</li>
+<li>ipolates_grib2_single_field()
+: <a class="el" href="interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240">ipolates_mod::ipolates</a>
+</li>
+<li>ipolatev_grib1()
+: <a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53">ipolatev_mod::ipolatev</a>
+</li>
+<li>ipolatev_grib1_single_field()
+: <a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5">ipolatev_mod::ipolatev</a>
+</li>
+<li>ipolatev_grib2()
+: <a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe">ipolatev_mod::ipolatev</a>
+</li>
+<li>ipolatev_grib2_single_field()
+: <a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd">ipolatev_mod::ipolatev</a>
+</li>
+<li>irot
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>is_same_grid()
+: <a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6">ip_grid_descriptor_mod::ip_grid_descriptor</a>
+, <a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c">ip_grid_descriptor_mod::operator(==)</a>
+, <a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b">ip_grid_mod::operator(==)</a>
+</li>
+<li>is_same_grid_grib1()
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95">ip_grid_descriptor_mod::grib1_descriptor</a>
+</li>
+<li>is_same_grid_grib2()
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013">ip_grid_descriptor_mod::grib2_descriptor</a>
+</li>
+<li>iwrap
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_j"></a>- j -</h3><ul>
+<li>jg
+: <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+</li>
+<li>jh
+: <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+</li>
+<li>jm
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">ip_grid_mod::ip_grid</a>
+</li>
+<li>jscan
+: <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+</li>
+<li>jwrap1
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">ip_grid_mod::ip_grid</a>
+</li>
+<li>jwrap2
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_k"></a>- k -</h3><ul>
+<li>kscan
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>nm
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">ip_grid_mod::ip_grid</a>
+</li>
+<li>nscan
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">ip_grid_mod::ip_grid</a>
+</li>
+<li>nscan_field_pos
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_o"></a>- o -</h3><ul>
+<li>orient
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_p"></a>- p -</h3><ul>
+<li>polates4_grib1()
+: <a class="el" href="interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4">spectral_interp_mod::polates4</a>
+</li>
+<li>polates4_grib2()
+: <a class="el" href="interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9">spectral_interp_mod::polates4</a>
+</li>
+<li>polatev4_grib1()
+: <a class="el" href="interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8">spectral_interp_mod::polatev4</a>
+</li>
+<li>polatev4_grib2()
+: <a class="el" href="interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b">spectral_interp_mod::polatev4</a>
+</li>
+</ul>
+
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>rerth
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">ip_grid_mod::ip_grid</a>
+</li>
+<li>rlat1
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+</li>
+<li>rlat2
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+</li>
+<li>rlati
+: <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef">ip_mercator_grid_mod::ip_mercator_grid</a>
+</li>
+<li>rlati1
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+</li>
+<li>rlati2
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+</li>
+<li>rlon0
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>rlon1
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+</li>
+<li>rlon2
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c">ip_mercator_grid_mod::ip_mercator_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>sbd
+: <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>slat0
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>slatr
+: <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_w"></a>- w -</h3><ul>
+<li>wbd
+: <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/functions_func.html b/ver-4.4.0/functions_func.html
new file mode 100644
index 00000000..22c9c076
--- /dev/null
+++ b/ver-4.4.0/functions_func.html
@@ -0,0 +1,268 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Data Fields - Functions/Subroutines</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_f"></a>- f -</h3><ul>
+<li>field_pos()
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>gdswzd()
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080">ip_grid_mod::ip_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+, <a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f">ip_station_points_grid_mod::ip_station_points_grid</a>
+</li>
+<li>gdswzd_1d_array()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_2d_array()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_2d_array_grib1()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_grib1()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_grid()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16">gdswzd_mod::gdswzd</a>
+</li>
+<li>gdswzd_interface()
+: <a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369">ip_grid_mod::gdswzd_interface</a>
+</li>
+<li>gdswzd_scalar()
+: <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd">gdswzd_mod::gdswzd</a>
+</li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>init()
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">ip_grid_mod::ip_grid</a>
+</li>
+<li>init_grib1()
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806">ip_grid_mod::ip_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+, <a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32">ip_station_points_grid_mod::ip_station_points_grid</a>
+</li>
+<li>init_grib1_descriptor()
+: <a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e">ip_grid_descriptor_mod::init_descriptor</a>
+</li>
+<li>init_grib1_interface()
+: <a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb">ip_grid_mod::init_grib1_interface</a>
+</li>
+<li>init_grib2()
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9">ip_grid_mod::ip_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+, <a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e">ip_station_points_grid_mod::ip_station_points_grid</a>
+</li>
+<li>init_grib2_descriptor()
+: <a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c">ip_grid_descriptor_mod::init_descriptor</a>
+</li>
+<li>init_grib2_interface()
+: <a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c">ip_grid_mod::init_grib2_interface</a>
+</li>
+<li>init_grid_generic()
+: <a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72">ip_grid_factory_mod::init_grid</a>
+</li>
+<li>interpolate_bicubic_scalar()
+: <a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077">bicubic_interp_mod::interpolate_bicubic</a>
+</li>
+<li>interpolate_bicubic_vector()
+: <a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b">bicubic_interp_mod::interpolate_bicubic</a>
+</li>
+<li>interpolate_bilinear_scalar()
+: <a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65">bilinear_interp_mod::interpolate_bilinear</a>
+</li>
+<li>interpolate_bilinear_vector()
+: <a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd">bilinear_interp_mod::interpolate_bilinear</a>
+</li>
+<li>interpolate_budget_scalar()
+: <a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0">budget_interp_mod::interpolate_budget</a>
+</li>
+<li>interpolate_budget_vector()
+: <a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6">budget_interp_mod::interpolate_budget</a>
+</li>
+<li>interpolate_neighbor_budget_scalar()
+: <a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a">neighbor_budget_interp_mod::interpolate_neighbor_budget</a>
+</li>
+<li>interpolate_neighbor_budget_vector()
+: <a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06">neighbor_budget_interp_mod::interpolate_neighbor_budget</a>
+</li>
+<li>interpolate_neighbor_scalar()
+: <a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246">neighbor_interp_mod::interpolate_neighbor</a>
+</li>
+<li>interpolate_neighbor_vector()
+: <a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7">neighbor_interp_mod::interpolate_neighbor</a>
+</li>
+<li>interpolate_spectral_scalar()
+: <a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1">spectral_interp_mod::interpolate_spectral</a>
+</li>
+<li>interpolate_spectral_vector()
+: <a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487">spectral_interp_mod::interpolate_spectral</a>
+</li>
+<li>ipolates_grib1()
+: <a class="el" href="interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b">ipolates_mod::ipolates</a>
+</li>
+<li>ipolates_grib1_single_field()
+: <a class="el" href="interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d">ipolates_mod::ipolates</a>
+</li>
+<li>ipolates_grib2()
+: <a class="el" href="interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b">ipolates_mod::ipolates</a>
+</li>
+<li>ipolates_grib2_single_field()
+: <a class="el" href="interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240">ipolates_mod::ipolates</a>
+</li>
+<li>ipolatev_grib1()
+: <a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53">ipolatev_mod::ipolatev</a>
+</li>
+<li>ipolatev_grib1_single_field()
+: <a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5">ipolatev_mod::ipolatev</a>
+</li>
+<li>ipolatev_grib2()
+: <a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe">ipolatev_mod::ipolatev</a>
+</li>
+<li>ipolatev_grib2_single_field()
+: <a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd">ipolatev_mod::ipolatev</a>
+</li>
+<li>is_same_grid()
+: <a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6">ip_grid_descriptor_mod::ip_grid_descriptor</a>
+, <a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c">ip_grid_descriptor_mod::operator(==)</a>
+, <a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b">ip_grid_mod::operator(==)</a>
+</li>
+<li>is_same_grid_grib1()
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95">ip_grid_descriptor_mod::grib1_descriptor</a>
+</li>
+<li>is_same_grid_grib2()
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013">ip_grid_descriptor_mod::grib2_descriptor</a>
+</li>
+</ul>
+
+
+<h3><a id="index_p"></a>- p -</h3><ul>
+<li>polates4_grib1()
+: <a class="el" href="interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4">spectral_interp_mod::polates4</a>
+</li>
+<li>polates4_grib2()
+: <a class="el" href="interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9">spectral_interp_mod::polates4</a>
+</li>
+<li>polatev4_grib1()
+: <a class="el" href="interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8">spectral_interp_mod::polatev4</a>
+</li>
+<li>polatev4_grib2()
+: <a class="el" href="interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b">spectral_interp_mod::polatev4</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/functions_vars.html b/ver-4.4.0/functions_vars.html
new file mode 100644
index 00000000..14ced54e
--- /dev/null
+++ b/ver-4.4.0/functions_vars.html
@@ -0,0 +1,310 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Data Fields - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_vars.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>clat0
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_d"></a>- d -</h3><ul>
+<li>descriptor
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">ip_grid_mod::ip_grid</a>
+</li>
+<li>dlat
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+</li>
+<li>dlats
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>dlon
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee">ip_mercator_grid_mod::ip_mercator_grid</a>
+</li>
+<li>dlons
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>dphi
+: <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5">ip_mercator_grid_mod::ip_mercator_grid</a>
+</li>
+<li>dxs
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+<li>dys
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_e"></a>- e -</h3><ul>
+<li>eccen_squared
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">ip_grid_mod::ip_grid</a>
+</li>
+<li>elliptical
+: <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>gds
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9">ip_grid_descriptor_mod::grib1_descriptor</a>
+</li>
+<li>gdt_len
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06">ip_grid_descriptor_mod::grib2_descriptor</a>
+</li>
+<li>gdt_num
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19">ip_grid_descriptor_mod::grib2_descriptor</a>
+</li>
+<li>gdt_tmpl
+: <a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe">ip_grid_descriptor_mod::grib2_descriptor</a>
+</li>
+<li>grid_num
+: <a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1">ip_grid_descriptor_mod::ip_grid_descriptor</a>
+</li>
+</ul>
+
+
+<h3><a id="index_h"></a>- h -</h3><ul>
+<li>h
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+<li>hi
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>im
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">ip_grid_mod::ip_grid</a>
+</li>
+<li>irot
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>iwrap
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_j"></a>- j -</h3><ul>
+<li>jg
+: <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+</li>
+<li>jh
+: <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+</li>
+<li>jm
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">ip_grid_mod::ip_grid</a>
+</li>
+<li>jscan
+: <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+</li>
+<li>jwrap1
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">ip_grid_mod::ip_grid</a>
+</li>
+<li>jwrap2
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_k"></a>- k -</h3><ul>
+<li>kscan
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>nm
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">ip_grid_mod::ip_grid</a>
+</li>
+<li>nscan
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">ip_grid_mod::ip_grid</a>
+</li>
+<li>nscan_field_pos
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">ip_grid_mod::ip_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_o"></a>- o -</h3><ul>
+<li>orient
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>rerth
+: <a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">ip_grid_mod::ip_grid</a>
+</li>
+<li>rlat1
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+</li>
+<li>rlat2
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+</li>
+<li>rlati
+: <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef">ip_mercator_grid_mod::ip_mercator_grid</a>
+</li>
+<li>rlati1
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+</li>
+<li>rlati2
+: <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+</li>
+<li>rlon0
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>rlon1
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723">ip_mercator_grid_mod::ip_mercator_grid</a>
+, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+</li>
+<li>rlon2
+: <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a>
+, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44">ip_gaussian_grid_mod::ip_gaussian_grid</a>
+, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c">ip_mercator_grid_mod::ip_mercator_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>sbd
+: <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>slat0
+: <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a>
+, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+<li>slatr
+: <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a>
+</li>
+</ul>
+
+
+<h3><a id="index_w"></a>- w -</h3><ul>
+<li>wbd
+: <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/gdswzd__c_8F90.html b/ver-4.4.0/gdswzd__c_8F90.html
new file mode 100644
index 00000000..7c3d607c
--- /dev/null
+++ b/ver-4.4.0/gdswzd__c_8F90.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: gdswzd_c.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('gdswzd__c_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">gdswzd_c.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.  
+<a href="#details">More...</a></p>
+
+<p><a href="gdswzd__c_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespacegdswzd__c__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__c__mod.html">gdswzd_c_mod</a></td></tr>
+<tr class="memdesc:namespacegdswzd__c__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Module that contains C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ae3026381f7f41561507c97c9125d24e4"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">gdswzd_c_mod::gdswzd_c</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:ae3026381f7f41561507c97c9125d24e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.  <a href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">More...</a><br /></td></tr>
+<tr class="separator:ae3026381f7f41561507c97c9125d24e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06861f1403edf106bb3b399c39981504"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">gdswzd_c_mod::gdswzd_c_grib1</a> (KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a06861f1403edf106bb3b399c39981504"><td class="mdescLeft">&#160;</td><td class="mdescRight">C wrapper for routine gdswzd.  <a href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">More...</a><br /></td></tr>
+<tr class="separator:a06861f1403edf106bb3b399c39981504"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>. </p>
+<dl class="section author"><dt>Author</dt><dd>JOVIC </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="gdswzd__c_8F90_source.html">gdswzd_c.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="gdswzd__c_8F90.html">gdswzd_c.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/gdswzd__c_8F90.js b/ver-4.4.0/gdswzd__c_8F90.js
new file mode 100644
index 00000000..db0f3b21
--- /dev/null
+++ b/ver-4.4.0/gdswzd__c_8F90.js
@@ -0,0 +1,5 @@
+var gdswzd__c_8F90 =
+[
+    [ "gdswzd_c", "gdswzd__c_8F90.html#ae3026381f7f41561507c97c9125d24e4", null ],
+    [ "gdswzd_c_grib1", "gdswzd__c_8F90.html#a06861f1403edf106bb3b399c39981504", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/gdswzd__c_8F90_source.html b/ver-4.4.0/gdswzd__c_8F90_source.html
new file mode 100644
index 00000000..8391114b
--- /dev/null
+++ b/ver-4.4.0/gdswzd__c_8F90_source.html
@@ -0,0 +1,189 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: gdswzd_c.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('gdswzd__c_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">gdswzd_c.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="gdswzd__c_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="namespacegdswzd__c__mod.html">    7</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespacegdswzd__c__mod.html">gdswzd_c_mod</a></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160; </div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
+<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">  173</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">gdswzd_c</a>(IGDTNUM,IGDTMPL,IGDTLEN,IOPT,NPTS,FILL, &amp;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;       XPTS,YPTS,RLON,RLAT,NRET,CROT,SROT, &amp;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;       XLON,XLAT,YLON,YLAT,AREA) bind(C, NAME=&#39;gdswzd&#39;)</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    use, <span class="keywordtype">INTRINSIC</span> :: iso_c_binding</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordtype">USE </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160; </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(KIND=C_LONG)</span>, <span class="keywordtype">INTENT(IN)</span>         :: IGDTMPL(IGDTLEN)</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_LONG)</span>, <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>  :: IGDTNUM, IGDTLEN</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_LONG)</span>, <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>  :: IOPT, NPTS</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_LONG)</span>, <span class="keywordtype">INTENT(OUT)</span>        :: NRET</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(KIND=C_INT)</span>,  <span class="keywordtype">INTENT(IN)</span>         :: IGDTMPL(IGDTLEN)</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_INT)</span>,  <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>  :: IGDTNUM, IGDTLEN</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_INT)</span>,  <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>  :: IOPT, NPTS</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_INT)</span>,  <span class="keywordtype">INTENT(OUT)</span>        :: NRET</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor"></span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(KIND=c_float), <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>    :: fill</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_float), <span class="keywordtype">INTENT(INOUT)</span>        :: xpts(npts),ypts(npts),rlon(npts),rlat(npts)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_float), <span class="keywordtype">INTENT(OUT)</span>          :: crot(npts),srot(npts),xlon(npts),xlat(npts)</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_float), <span class="keywordtype">INTENT(OUT)</span>          :: ylon(npts),ylat(npts),area(npts)</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(KIND=c_double), <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>   :: fill</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_double), <span class="keywordtype">INTENT(INOUT)</span>       :: xpts(npts),ypts(npts),rlon(npts),rlat(npts)</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_double), <span class="keywordtype">INTENT(OUT)</span>         :: crot(npts),srot(npts),xlon(npts),xlat(npts)</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_double), <span class="keywordtype">INTENT(OUT)</span>         :: ylon(npts),ylat(npts),area(npts)</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor"></span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(igdtnum,igdtmpl,igdtlen,iopt,npts,fill, &amp;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;         xpts,ypts,rlon,rlat,nret, &amp;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;         crot,srot,xlon,xlat,ylon,ylat,area)</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">gdswzd_c</a></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160; </div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">  259</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">gdswzd_c_grib1</a>(KGDS,IOPT,NPTS,FILL,XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA) bind(C, NAME=&#39;gdswzd_grib1&#39;)</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    use, <span class="keywordtype">INTRINSIC</span> :: iso_c_binding</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160; </div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keywordtype">USE </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160; </div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160; </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(KIND=C_LONG)</span>, <span class="keywordtype">INTENT(IN)</span>         :: KGDS(200)</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_LONG)</span>, <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>  :: IOPT</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_LONG)</span>, <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>  :: NPTS</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_LONG)</span>, <span class="keywordtype">INTENT(OUT)</span>        :: NRET</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(KIND=C_INT)</span>,  <span class="keywordtype">INTENT(IN)</span>         :: KGDS(200)</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_INT)</span>,  <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>  :: IOPT</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_INT)</span>,  <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>  :: NPTS</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keywordtype">INTEGER(KIND=C_INT)</span>,  <span class="keywordtype">INTENT(OUT)</span>        :: NRET</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor"></span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(KIND=c_float), <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>    :: fill</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_float), <span class="keywordtype">INTENT(INOUT)</span>        :: xpts(npts),ypts(npts),rlon(npts),rlat(npts)</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_float), <span class="keywordtype">INTENT(OUT)</span>          :: crot(npts),srot(npts),xlon(npts),xlat(npts)</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_float), <span class="keywordtype">INTENT(OUT)</span>          :: ylon(npts),ylat(npts),area(npts)</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(KIND=c_double), <span class="keywordtype">VALUE</span>, <span class="keywordtype">INTENT(IN)</span>   :: fill</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_double), <span class="keywordtype">INTENT(INOUT)</span>       :: xpts(npts),ypts(npts),rlon(npts),rlat(npts)</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_double), <span class="keywordtype">INTENT(OUT)</span>         :: crot(npts),srot(npts),xlon(npts),xlat(npts)</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keywordtype">    REAL</span>(KIND=c_double), <span class="keywordtype">INTENT(OUT)</span>         :: ylon(npts),ylat(npts),area(npts)</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor"></span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(kgds,iopt,npts,fill,xpts,ypts,rlon,rlat,nret, &amp;</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;         crot,srot,xlon,xlat,ylon,ylat,area)</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160; </div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">gdswzd_c_grib1</a></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160; </div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="keyword">end module </span><a class="code" href="namespacegdswzd__c__mod.html">gdswzd_c_mod</a></div>
+<div class="ttc" id="ainterfacegdswzd__mod_1_1gdswzd_html"><div class="ttname"><a href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd_mod::gdswzd</a></div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00037">gdswzd_mod.F90:37</a></div></div>
+<div class="ttc" id="anamespacegdswzd__c__mod_html"><div class="ttname"><a href="namespacegdswzd__c__mod.html">gdswzd_c_mod</a></div><div class="ttdoc">Module that contains C wrapper for routine gdswzd().</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__c_8F90_source.html#l00007">gdswzd_c.F90:7</a></div></div>
+<div class="ttc" id="anamespacegdswzd__c__mod_html_a06861f1403edf106bb3b399c39981504"><div class="ttname"><a href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">gdswzd_c_mod::gdswzd_c_grib1</a></div><div class="ttdeci">subroutine gdswzd_c_grib1(KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">C wrapper for routine gdswzd.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__c_8F90_source.html#l00259">gdswzd_c.F90:261</a></div></div>
+<div class="ttc" id="anamespacegdswzd__c__mod_html_ae3026381f7f41561507c97c9125d24e4"><div class="ttname"><a href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">gdswzd_c_mod::gdswzd_c</a></div><div class="ttdeci">subroutine gdswzd_c(IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">C wrapper for routine gdswzd().</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__c_8F90_source.html#l00173">gdswzd_c.F90:176</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html"><div class="ttname"><a href="namespacegdswzd__mod.html">gdswzd_mod</a></div><div class="ttdoc">Driver module for gdswzd routines.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00025">gdswzd_mod.F90:25</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="gdswzd__c_8F90.html">gdswzd_c.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/gdswzd__mod_8F90.html b/ver-4.4.0/gdswzd__mod_8F90.html
new file mode 100644
index 00000000..234db3f1
--- /dev/null
+++ b/ver-4.4.0/gdswzd__mod_8F90.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: gdswzd_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('gdswzd__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">gdswzd_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Driver module for gdswzd routines.  
+<a href="#details">More...</a></p>
+
+<p><a href="gdswzd__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd_mod::gdswzd</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespacegdswzd__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html">gdswzd_mod</a></td></tr>
+<tr class="memdesc:namespacegdswzd__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Driver module for gdswzd routines. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ac304e2b046eccc701e24827c81107e76"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_mod::gdswzd_1d_array</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:ac304e2b046eccc701e24827c81107e76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib 2 grid definition template and returns one of the following:  <a href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">More...</a><br /></td></tr>
+<tr class="separator:ac304e2b046eccc701e24827c81107e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdf970e498e9317522fbdfb690b86e25"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">gdswzd_mod::gdswzd_2d_array</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:acdf970e498e9317522fbdfb690b86e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib 2 grid definition template and returns one of the following (for 2d-arrays):  <a href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">More...</a><br /></td></tr>
+<tr class="separator:acdf970e498e9317522fbdfb690b86e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa032a55281b18e208630a730679958f4"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">gdswzd_mod::gdswzd_2d_array_grib1</a> (KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:aa032a55281b18e208630a730679958f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib grid description section and returns one of the following (for 2-d arrays):  <a href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">More...</a><br /></td></tr>
+<tr class="separator:aa032a55281b18e208630a730679958f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a133e040fac8dd56e607b8e3fb6a58c37"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">gdswzd_mod::gdswzd_grib1</a> (KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a133e040fac8dd56e607b8e3fb6a58c37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib grid description section and returns one of the following (for 1-d arrays):  <a href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">More...</a><br /></td></tr>
+<tr class="separator:a133e040fac8dd56e607b8e3fb6a58c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a584d2bddbc6d857b80cfac5e3b288d45"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_mod::gdswzd_grid</a> (grid, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a584d2bddbc6d857b80cfac5e3b288d45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns one of the following for a grid object:  <a href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">More...</a><br /></td></tr>
+<tr class="separator:a584d2bddbc6d857b80cfac5e3b288d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba3235c5bc5797e72b9a6a8a587b8861"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">gdswzd_mod::gdswzd_scalar</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:aba3235c5bc5797e72b9a6a8a587b8861"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib 2 grid definition template and returns one of the following (for scalars):  <a href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">More...</a><br /></td></tr>
+<tr class="separator:aba3235c5bc5797e72b9a6a8a587b8861"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Driver module for gdswzd routines. </p>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="gdswzd__mod_8F90.html">gdswzd_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/gdswzd__mod_8F90.js b/ver-4.4.0/gdswzd__mod_8F90.js
new file mode 100644
index 00000000..3b950779
--- /dev/null
+++ b/ver-4.4.0/gdswzd__mod_8F90.js
@@ -0,0 +1,10 @@
+var gdswzd__mod_8F90 =
+[
+    [ "gdswzd", "interfacegdswzd__mod_1_1gdswzd.html", "interfacegdswzd__mod_1_1gdswzd" ],
+    [ "gdswzd_1d_array", "gdswzd__mod_8F90.html#ac304e2b046eccc701e24827c81107e76", null ],
+    [ "gdswzd_2d_array", "gdswzd__mod_8F90.html#acdf970e498e9317522fbdfb690b86e25", null ],
+    [ "gdswzd_2d_array_grib1", "gdswzd__mod_8F90.html#aa032a55281b18e208630a730679958f4", null ],
+    [ "gdswzd_grib1", "gdswzd__mod_8F90.html#a133e040fac8dd56e607b8e3fb6a58c37", null ],
+    [ "gdswzd_grid", "gdswzd__mod_8F90.html#a584d2bddbc6d857b80cfac5e3b288d45", null ],
+    [ "gdswzd_scalar", "gdswzd__mod_8F90.html#aba3235c5bc5797e72b9a6a8a587b8861", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/gdswzd__mod_8F90_source.html b/ver-4.4.0/gdswzd__mod_8F90_source.html
new file mode 100644
index 00000000..d3382a0b
--- /dev/null
+++ b/ver-4.4.0/gdswzd__mod_8F90_source.html
@@ -0,0 +1,450 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: gdswzd_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('gdswzd__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">gdswzd_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="gdswzd__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="namespacegdswzd__mod.html">   25</a></span>&#160;<span class="keyword">MODULE</span> <a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grids__mod.html">ip_grids_mod</a></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;  </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;  <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160; </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;  <span class="keywordtype">PRIVATE</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">gdswzd_2d_array_grib1</a>, <a class="code" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">gdswzd_grib1</a>, <a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="interfacegdswzd__mod_1_1gdswzd.html">   37</a></span>&#160;  <span class="keyword">INTERFACE</span> <a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;     <span class="keyword">MODULE PROCEDURE</span> <a class="code" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_1d_array</a></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;     <span class="keyword">MODULE PROCEDURE</span> <a class="code" href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">gdswzd_2d_array</a></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;     <span class="keyword">MODULE PROCEDURE</span> <a class="code" href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">gdswzd_scalar</a></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">gdswzd_grib1</a></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">gdswzd_2d_array_grib1</a></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_grid</a></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keyword">END INTERFACE </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">CONTAINS</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16">  105</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_grid</a>(grid,IOPT,NPTS,FILL, &amp;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;       XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(in)</span> :: grid</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: IS1, IM, JM, NM, KSCAN, NSCAN, N</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: IOPF, NN, I, J</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="comment">!  COMPUTE GRID COORDINATES FOR ALL GRID POINTS</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordflow">IF</span>(iopt.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;       iopf=1</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;       <span class="keywordflow">if</span>(grid%descriptor%grid_num.eq.-1)<span class="keywordflow">then</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;          nm = npts</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;          im = grid%im</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;          jm = grid%jm</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;          nm = im * jm</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keywordflow">       endif</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;       nscan = grid%nscan</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;       kscan = grid%kscan</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;       <span class="keywordflow">if</span> (nm &gt; npts) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;          rlat=fill</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;          rlon=fill</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;          xpts=fill</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;          ypts=fill</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;          <span class="keywordflow">return</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;       <span class="keywordflow">select type</span>(grid)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keywordflow">       type is</span>(ip_rot_equid_cylind_egrid)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;          <span class="keywordflow">if</span>(kscan == 0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;             is1 = (jm + 1) / 2</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;          <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;             is1 = jm / 2</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keywordflow">          end if</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;          <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;             <span class="keywordflow">IF</span>(nscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                j=(n-1)/im+1</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                i=(n-im*(j-1))*2-mod(j+kscan,2)</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                nn=(n*2)-1+kscan</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                i = (nn-1)/jm + 1</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                j = mod(nn-1,jm) + 1</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                <span class="keywordflow">IF</span> (mod(jm,2)==0.AND.mod(i,2)==0.AND.kscan==0) j = j + 1</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                <span class="keywordflow">IF</span> (mod(jm,2)==0.AND.mod(i,2)==0.AND.kscan==1) j = j - 1</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;             xpts(n)=is1+(i-(j-kscan))/2</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;             ypts(n)=(i+(j-kscan))/2</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keywordflow">       type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;          <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;             xpts(n)=fill</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;             ypts(n)=fill</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keywordflow">       class default</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;          <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;             <span class="keywordflow">IF</span>(nscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                j=(n-1)/im+1</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                i=n-im*(j-1)</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                i=(n-1)/jm+1</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                j=n-jm*(i-1)</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;             xpts(n)=i</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;             ypts(n)=j</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;       <span class="keywordflow">DO</span> n=nm+1,npts</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;          xpts(n)=fill</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          ypts(n)=fill</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160; </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keywordflow">ELSE</span>  <span class="comment">! IOPT /= 0</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;       iopf=iopt</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keywordflow">    ENDIF</span> <span class="comment">! IOPT CHECK</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160; </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="keyword">call </span>grid%gdswzd(iopf,npts,fill,  &amp;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;            xpts,ypts,rlon,rlat,nret, &amp;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;            crot,srot,xlon,xlat,ylon,ylat,area)</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_grid</a></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
+<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd">  278</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">gdswzd_scalar</a>(IGDTNUM,IGDTMPL,IGDTLEN,IOPT,NPTS,FILL, &amp;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;       XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160; </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUM, IGDTLEN</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPL(IGDTLEN)</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: RLON, RLAT</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: XPTS, YPTS</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: CROT, SROT</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: XLON, XLAT</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: YLON, YLAT, AREA</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160; </div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="keywordtype">    REAL</span>                          :: RLONA(1),RLATA(1)</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="keywordtype">    REAL</span>                          :: XPTSA(1),YPTSA(1)</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keywordtype">    REAL</span>                          :: CROTA(1),SROTA(1)</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="keywordtype">    REAL</span>                          :: XLONA(1),XLATA(1)</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="keywordtype">    REAL</span>                          :: YLONA(1),YLATA(1),AREAA(1)</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160; </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    rlona(1) = rlon</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    rlata(1) = rlat</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    xptsa(1) = xpts</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    yptsa(1) = ypts</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    nret = 0</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160; </div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="comment">! CALL WITHOUT EXTRA FIELDS.</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160; </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordflow">IF</span> (.NOT. <span class="keyword">PRESENT</span>(crot) .AND. &amp;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(srot) .AND. &amp;</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(xlon) .AND. &amp;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(xlat) .AND. &amp;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(ylon) .AND. &amp;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(ylat) .AND. &amp;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(area) ) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;       <span class="keyword">CALL </span><a class="code" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_1d_array</a>(igdtnum,igdtmpl,igdtlen,iopt,npts,fill, &amp;</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            xptsa,yptsa,rlona,rlata,nret)</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160; </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;       rlon = rlona(1)</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;       rlat = rlata(1)</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;       xpts = xptsa(1)</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;       ypts = yptsa(1)</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160; </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160; </div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="comment">! MIMIC CALL TO OLD &#39;GDSWIZ&#39; ROUTINES.</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160; </div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    <span class="keywordflow">IF</span> (<span class="keyword">PRESENT</span>(crot) .AND. &amp;</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;         <span class="keyword">PRESENT</span>(srot) .AND. &amp;</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(xlon) .AND. &amp;</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(xlat) .AND. &amp;</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(ylon) .AND. &amp;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(ylat) .AND. &amp;</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;         .NOT. <span class="keyword">PRESENT</span>(area) ) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;       <span class="keyword">CALL </span><a class="code" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_1d_array</a>(igdtnum,igdtmpl,igdtlen,iopt,npts,fill, &amp;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;            xptsa,yptsa,rlona,rlata,nret,crota,srota)</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160; </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;       rlon = rlona(1)</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;       rlat = rlata(1)</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;       xpts = xptsa(1)</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;       ypts = yptsa(1)</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;       crot = crota(1)</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;       srot = srota(1)</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160; </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160; </div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    <span class="comment">! MIMIC CALL TO OLD &#39;GDSWZD&#39; ROUTINES.</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <span class="keywordflow">IF</span> (<span class="keyword">PRESENT</span>(crot) .AND. &amp;</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;         <span class="keyword">PRESENT</span>(srot) .AND. &amp;</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;         <span class="keyword">PRESENT</span>(xlon) .AND. &amp;</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;         <span class="keyword">PRESENT</span>(xlat) .AND. &amp;</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;         <span class="keyword">PRESENT</span>(ylon) .AND. &amp;</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;         <span class="keyword">PRESENT</span>(ylat) .AND. &amp;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;         <span class="keyword">PRESENT</span>(area) ) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160; </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;       <span class="keyword">CALL </span><a class="code" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_1d_array</a>(igdtnum,igdtmpl,igdtlen,iopt,npts,fill, &amp;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;            xptsa,yptsa,rlona,rlata,nret, &amp;</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;            crota,srota,xlona,xlata,ylona,ylata,areaa)</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160; </div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;       rlon = rlona(1)</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;       rlat = rlata(1)</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;       xpts = xptsa(1)</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;       ypts = yptsa(1)</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;       crot = crota(1)</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;       srot = srota(1)</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;       xlon = xlona(1)</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;       xlat = xlata(1)</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;       ylon = ylona(1)</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;       ylat = ylata(1)</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;       area = areaa(1)</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160; </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160; </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160; </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">gdswzd_scalar</a></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160; </div>
+<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31">  459</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">gdswzd_2d_array</a>(IGDTNUM,IGDTMPL,IGDTLEN,IOPT,NPTS,FILL, &amp;</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;       XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160; </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUM, IGDTLEN</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPL(IGDTLEN)</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: RLON(:,:),RLAT(:,:)</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(:,:),YPTS(:,:)</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: CROT(:,:),SROT(:,:)</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: XLON(:,:),XLAT(:,:)</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: YLON(:,:),YLAT(:,:),AREA(:,:)</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160; </div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    <span class="keyword">CALL </span><a class="code" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_1d_array</a>(igdtnum,igdtmpl,igdtlen,iopt,npts,fill, &amp;</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;         xpts,ypts,rlon,rlat,nret, &amp;</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;         crot,srot,xlon,xlat,ylon,ylat,area)</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160; </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">gdswzd_2d_array</a></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160; </div>
+<div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b">  665</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_1d_array</a>(IGDTNUM,IGDTMPL,IGDTLEN,IOPT,NPTS,FILL, &amp;</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;       XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUM, IGDTLEN</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPL(IGDTLEN)</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160; </div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) :: desc</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160; </div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;    desc = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnum, igdtlen, igdtmpl)</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid, desc)</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;    </div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    <span class="keyword">call </span><a class="code" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_grid</a>(grid,iopt,npts,fill, &amp;</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;         xpts,ypts,rlon,rlat,nret, &amp;</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;         crot,srot,xlon,xlat,ylon,ylat,area)</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;  </div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_1d_array</a></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160; </div>
+<div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a">  758</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">gdswzd_grib1</a>(KGDS,IOPT,NPTS,FILL,XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IOPT, KGDS(200), NPTS</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160; </div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;    </div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) :: desc</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160; </div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;    desc = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgds)</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid, desc)</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    </div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    <span class="keyword">call </span><a class="code" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_grid</a>(grid,iopt,npts,fill, &amp;</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;         xpts,ypts,rlon,rlat,nret, &amp;</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;         crot,srot,xlon,xlat,ylon,ylat,area)</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160; </div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">gdswzd_grib1</a></div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160; </div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;  </div>
+<div class="line"><a name="l00850"></a><span class="lineno"><a class="line" href="interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5">  850</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">gdswzd_2d_array_grib1</a>(KGDS,IOPT,NPTS,FILL,XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;   </div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;    <span class="comment">!$$$</span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IOPT, KGDS(200), NPTS</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: RLON(:,:),RLAT(:,:)</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(:,:),YPTS(:,:)</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: CROT(:,:),SROT(:,:)</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: XLON(:,:),XLAT(:,:)</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: YLON(:,:),YLAT(:,:),AREA(:,:)</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160; </div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;    </div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) :: desc</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160; </div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;    desc = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgds)</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid, desc)</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    </div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <span class="keyword">call </span><a class="code" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_grid</a>(grid,iopt,npts,fill, &amp;</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;         xpts,ypts,rlon,rlat,nret, &amp;</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;         crot,srot,xlon,xlat,ylon,ylat,area)</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160; </div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">gdswzd_2d_array_grib1</a></div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160; </div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160; </div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160; </div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;<span class="keyword">END MODULE </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="ttc" id="ainterfacegdswzd__mod_1_1gdswzd_html"><div class="ttname"><a href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd_mod::gdswzd</a></div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00037">gdswzd_mod.F90:37</a></div></div>
+<div class="ttc" id="ainterfaceip__grid__descriptor__mod_1_1init__descriptor_html"><div class="ttname"><a href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">ip_grid_descriptor_mod::init_descriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00060">ip_grid_descriptor_mod.F90:60</a></div></div>
+<div class="ttc" id="ainterfaceip__grid__factory__mod_1_1init__grid_html"><div class="ttname"><a href="interfaceip__grid__factory__mod_1_1init__grid.html">ip_grid_factory_mod::init_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00020">ip_grid_factory_mod.F90:20</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html"><div class="ttname"><a href="namespacegdswzd__mod.html">gdswzd_mod</a></div><div class="ttdoc">Driver module for gdswzd routines.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00025">gdswzd_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html_a133e040fac8dd56e607b8e3fb6a58c37"><div class="ttname"><a href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">gdswzd_mod::gdswzd_grib1</a></div><div class="ttdeci">subroutine, public gdswzd_grib1(KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Decodes the grib grid description section and returns one of the following (for 1-d arrays):</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00758">gdswzd_mod.F90:760</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html_a584d2bddbc6d857b80cfac5e3b288d45"><div class="ttname"><a href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_mod::gdswzd_grid</a></div><div class="ttdeci">subroutine gdswzd_grid(grid, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Returns one of the following for a grid object:</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00105">gdswzd_mod.F90:108</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html_aa032a55281b18e208630a730679958f4"><div class="ttname"><a href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">gdswzd_mod::gdswzd_2d_array_grib1</a></div><div class="ttdeci">subroutine, public gdswzd_2d_array_grib1(KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Decodes the grib grid description section and returns one of the following (for 2-d arrays):</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00850">gdswzd_mod.F90:852</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html_aba3235c5bc5797e72b9a6a8a587b8861"><div class="ttname"><a href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">gdswzd_mod::gdswzd_scalar</a></div><div class="ttdeci">subroutine gdswzd_scalar(IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Decodes the grib 2 grid definition template and returns one of the following (for scalars):</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00278">gdswzd_mod.F90:281</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html_ac304e2b046eccc701e24827c81107e76"><div class="ttname"><a href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_mod::gdswzd_1d_array</a></div><div class="ttdeci">subroutine gdswzd_1d_array(IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Decodes the grib 2 grid definition template and returns one of the following:</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00665">gdswzd_mod.F90:668</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html_acdf970e498e9317522fbdfb690b86e25"><div class="ttname"><a href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">gdswzd_mod::gdswzd_2d_array</a></div><div class="ttdeci">subroutine gdswzd_2d_array(IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Decodes the grib 2 grid definition template and returns one of the following (for 2d-arrays):</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00459">gdswzd_mod.F90:462</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html"><div class="ttname"><a href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div><div class="ttdoc">Routines for creating an ip_grid given a Grib descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00011">ip_grid_factory_mod.F90:11</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__grids__mod_html"><div class="ttname"><a href="namespaceip__grids__mod.html">ip_grids_mod</a></div><div class="ttdoc">Re-export the individual grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grids__mod_8F90_source.html#l00007">ip_grids_mod.F90:7</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib2__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></div><div class="ttdoc">Grib-2 descriptor containing a grib2 GDT represented by an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00047">ip_grid_descriptor_mod.F90:47</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="gdswzd__mod_8F90.html">gdswzd_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/globals.html b/ver-4.4.0/globals.html
new file mode 100644
index 00000000..36c1b121
--- /dev/null
+++ b/ver-4.4.0/globals.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('globals.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div><ul>
+<li>gdswzd()
+: <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">iplib_4.h</a>
+, <a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4">iplib_8.h</a>
+, <a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e">iplib_d.h</a>
+</li>
+<li>gdswzd_grib1()
+: <a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1">iplib_4.h</a>
+, <a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93">iplib_8.h</a>
+, <a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691">iplib_d.h</a>
+</li>
+<li>ipxetas()
+: <a class="el" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">ipxetas.F90</a>
+</li>
+<li>ipxwafs()
+: <a class="el" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12">ipxwafs.F90</a>
+</li>
+<li>ipxwafs2()
+: <a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894">ipxwafs2.F90</a>
+</li>
+<li>ipxwafs3()
+: <a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">ipxwafs3.F90</a>
+</li>
+<li>movect()
+: <a class="el" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect.F90</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/globals_func.html b/ver-4.4.0/globals_func.html
new file mode 100644
index 00000000..9571c992
--- /dev/null
+++ b/ver-4.4.0/globals_func.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('globals_func.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>gdswzd()
+: <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">iplib_4.h</a>
+, <a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4">iplib_8.h</a>
+, <a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e">iplib_d.h</a>
+</li>
+<li>gdswzd_grib1()
+: <a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1">iplib_4.h</a>
+, <a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93">iplib_8.h</a>
+, <a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691">iplib_d.h</a>
+</li>
+<li>ipxetas()
+: <a class="el" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">ipxetas.F90</a>
+</li>
+<li>ipxwafs()
+: <a class="el" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12">ipxwafs.F90</a>
+</li>
+<li>ipxwafs2()
+: <a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894">ipxwafs2.F90</a>
+</li>
+<li>ipxwafs3()
+: <a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">ipxwafs3.F90</a>
+</li>
+<li>movect()
+: <a class="el" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect.F90</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/hierarchy.html b/ver-4.4.0/hierarchy.html
new file mode 100644
index 00000000..3323e337
--- /dev/null
+++ b/ver-4.4.0/hierarchy.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Class Hierarchy</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('hierarchy.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class Hierarchy</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html" target="_self">gdswzd_mod::gdswzd</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html" target="_self">ip_grid_mod::gdswzd_interface</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html" target="_self">ip_grid_descriptor_mod::init_descriptor</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html" target="_self">ip_grid_mod::init_grib1_interface</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html" target="_self">ip_grid_mod::init_grib2_interface</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html" target="_self">ip_grid_factory_mod::init_grid</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html" target="_self">bicubic_interp_mod::interpolate_bicubic</a></td><td class="desc"></td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html" target="_self">bilinear_interp_mod::interpolate_bilinear</a></td><td class="desc"></td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html" target="_self">budget_interp_mod::interpolate_budget</a></td><td class="desc"></td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html" target="_self">neighbor_interp_mod::interpolate_neighbor</a></td><td class="desc"></td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html" target="_self">neighbor_budget_interp_mod::interpolate_neighbor_budget</a></td><td class="desc"></td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html" target="_self">spectral_interp_mod::interpolate_spectral</a></td><td class="desc"></td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_12_" class="arrow" onclick="toggleFolder('12_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__mod_1_1ip__grid.html" target="_self">ip_grid_mod::ip_grid</a></td><td class="desc">Abstract grid that holds fields and methods common to all grids </td></tr>
+<tr id="row_12_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html" target="_self">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a></td><td class="desc"></td></tr>
+<tr id="row_12_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html" target="_self">ip_gaussian_grid_mod::ip_gaussian_grid</a></td><td class="desc"></td></tr>
+<tr id="row_12_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html" target="_self">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a></td><td class="desc"></td></tr>
+<tr id="row_12_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html" target="_self">ip_mercator_grid_mod::ip_mercator_grid</a></td><td class="desc"></td></tr>
+<tr id="row_12_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html" target="_self">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a></td><td class="desc"></td></tr>
+<tr id="row_12_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html" target="_self">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a></td><td class="desc"></td></tr>
+<tr id="row_12_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html" target="_self">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a></td><td class="desc"></td></tr>
+<tr id="row_12_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html" target="_self">ip_station_points_grid_mod::ip_station_points_grid</a></td><td class="desc"></td></tr>
+<tr id="row_13_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_13_" class="arrow" onclick="toggleFolder('13_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" target="_self">ip_grid_descriptor_mod::ip_grid_descriptor</a></td><td class="desc">Abstract descriptor object which represents a grib1 or grib2 descriptor </td></tr>
+<tr id="row_13_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html" target="_self">ip_grid_descriptor_mod::grib1_descriptor</a></td><td class="desc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array </td></tr>
+<tr id="row_13_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html" target="_self">ip_grid_descriptor_mod::grib2_descriptor</a></td><td class="desc">Grib-2 descriptor containing a grib2 GDT represented by an integer array </td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceipolates__mod_1_1ipolates.html" target="_self">ipolates_mod::ipolates</a></td><td class="desc"></td></tr>
+<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html" target="_self">ipolatev_mod::ipolatev</a></td><td class="desc"></td></tr>
+<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html" target="_self">ip_grid_descriptor_mod::operator(==)</a></td><td class="desc"></td></tr>
+<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html" target="_self">ip_grid_mod::operator(==)</a></td><td class="desc">Check equality </td></tr>
+<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacespectral__interp__mod_1_1polates4.html" target="_self">spectral_interp_mod::polates4</a></td><td class="desc"></td></tr>
+<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacespectral__interp__mod_1_1polatev4.html" target="_self">spectral_interp_mod::polatev4</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/hierarchy.js b/ver-4.4.0/hierarchy.js
new file mode 100644
index 00000000..c1f43a9e
--- /dev/null
+++ b/ver-4.4.0/hierarchy.js
@@ -0,0 +1,35 @@
+var hierarchy =
+[
+    [ "gdswzd_mod::gdswzd", "interfacegdswzd__mod_1_1gdswzd.html", null ],
+    [ "ip_grid_mod::gdswzd_interface", "interfaceip__grid__mod_1_1gdswzd__interface.html", null ],
+    [ "ip_grid_descriptor_mod::init_descriptor", "interfaceip__grid__descriptor__mod_1_1init__descriptor.html", null ],
+    [ "ip_grid_mod::init_grib1_interface", "interfaceip__grid__mod_1_1init__grib1__interface.html", null ],
+    [ "ip_grid_mod::init_grib2_interface", "interfaceip__grid__mod_1_1init__grib2__interface.html", null ],
+    [ "ip_grid_factory_mod::init_grid", "interfaceip__grid__factory__mod_1_1init__grid.html", null ],
+    [ "bicubic_interp_mod::interpolate_bicubic", "interfacebicubic__interp__mod_1_1interpolate__bicubic.html", null ],
+    [ "bilinear_interp_mod::interpolate_bilinear", "interfacebilinear__interp__mod_1_1interpolate__bilinear.html", null ],
+    [ "budget_interp_mod::interpolate_budget", "interfacebudget__interp__mod_1_1interpolate__budget.html", null ],
+    [ "neighbor_interp_mod::interpolate_neighbor", "interfaceneighbor__interp__mod_1_1interpolate__neighbor.html", null ],
+    [ "neighbor_budget_interp_mod::interpolate_neighbor_budget", "interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html", null ],
+    [ "spectral_interp_mod::interpolate_spectral", "interfacespectral__interp__mod_1_1interpolate__spectral.html", null ],
+    [ "ip_grid_mod::ip_grid", "structip__grid__mod_1_1ip__grid.html", [
+      [ "ip_equid_cylind_grid_mod::ip_equid_cylind_grid", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html", null ],
+      [ "ip_gaussian_grid_mod::ip_gaussian_grid", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html", null ],
+      [ "ip_lambert_conf_grid_mod::ip_lambert_conf_grid", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html", null ],
+      [ "ip_mercator_grid_mod::ip_mercator_grid", "structip__mercator__grid__mod_1_1ip__mercator__grid.html", null ],
+      [ "ip_polar_stereo_grid_mod::ip_polar_stereo_grid", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html", null ],
+      [ "ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html", null ],
+      [ "ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html", null ],
+      [ "ip_station_points_grid_mod::ip_station_points_grid", "structip__station__points__grid__mod_1_1ip__station__points__grid.html", null ]
+    ] ],
+    [ "ip_grid_descriptor_mod::ip_grid_descriptor", "structip__grid__descriptor__mod_1_1ip__grid__descriptor.html", [
+      [ "ip_grid_descriptor_mod::grib1_descriptor", "structip__grid__descriptor__mod_1_1grib1__descriptor.html", null ],
+      [ "ip_grid_descriptor_mod::grib2_descriptor", "structip__grid__descriptor__mod_1_1grib2__descriptor.html", null ]
+    ] ],
+    [ "ipolates_mod::ipolates", "interfaceipolates__mod_1_1ipolates.html", null ],
+    [ "ipolatev_mod::ipolatev", "interfaceipolatev__mod_1_1ipolatev.html", null ],
+    [ "ip_grid_descriptor_mod::operator(==)", "interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html", null ],
+    [ "ip_grid_mod::operator(==)", "interfaceip__grid__mod_1_1operator_07_0a_0a_08.html", null ],
+    [ "spectral_interp_mod::polates4", "interfacespectral__interp__mod_1_1polates4.html", null ],
+    [ "spectral_interp_mod::polatev4", "interfacespectral__interp__mod_1_1polatev4.html", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/index.html b/ver-4.4.0/index.html
new file mode 100644
index 00000000..b00bc3aa
--- /dev/null
+++ b/ver-4.4.0/index.html
@@ -0,0 +1,680 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Main Page</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('index.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="PageDoc"><div class="header">
+  <div class="headertitle">
+<div class="title">NCEPLIBS-ip Documentation</div>  </div>
+</div><!--header-->
+<div class="contents">
+<!----!>
+<b>Previous versions:</b></h3> <a href="ver-4.3.0/index.html">4.3.0</a>, <a href="ver-4.2.0/index.html">4.2.0</a>, <a href="ver-4.1.0/index.html">4.1.0</a>, <a href="ver-4.0.0/index.html">4.0.0</a>
+<!----!>
+<div class="textblock"><h2><a class="anchor" id="autotoc_md0"></a>
+Introduction</h2>
+<p>The NCEP general interpolation library (NCEPLIBS-ip) contains Fortran 90 subprograms to be used for interpolating between nearly all grids used at NCEP. The library is particularly efficient when interpolating many fields at one time.</p>
+<p>NCEPLIBS-ip supports compilation with the GNU Compiler Collection (gfortran), Intel Classic (ifort), and Intel OneAPI (ifx) compilers. In the case of Intel LLVM, it is recommended to use at least version 2023.2.1 to avoid any number of compiler issues.</p>
+<h2><a class="anchor" id="autotoc_md1"></a>
+Interpolation</h2>
+<p>There are currently six interpolation methods available in the library:</p><ul>
+<li>bilinear</li>
+<li>bicubic</li>
+<li>neighbor</li>
+<li>budget</li>
+<li>spectral</li>
+<li>neighbor-budget</li>
+</ul>
+<p>Some of the methods have interpolation sub-options. A few methods have restrictions on the type of input or output grids.</p>
+<p>Several methods can perform interpolation on fields with bitmaps (i.e. some points on the input grid may be undefined). In this case, the bitmap is interpolated to the output grid. Only valid input points are used to interpolate to valid output points. An output bitmap will also be created to locate invalid data where the output grid extends outside the domain of the input grid.</p>
+<p>The driver routines for interpolating scalars and vectors may be found in <a class="el" href="namespaceipolates__mod.html" title="Top-level driver for scalar interpolation interpolation routine ipolates().">ipolates_mod</a>. The interpolation method is chosen via the first argument of these routines (variable IP). Sub-options are set via the IPOPT array.</p>
+<p>It should be noted that some routines may behave poorly or unpredictably when using 4-byte reals (libip_4). For instance, there is an ATAN2 function used for polar stereo grids where for certain grids/coordinates, floating point differences between 4-byte output values (~1e-7) can be amplified into noticeable differences in output field values. Some applications may therefore benefit from the use of 8-byte reals (libip_d).</p>
+<h3><a class="anchor" id="autotoc_md2"></a>
+Bilinear Interpolation</h3>
+<p>Bilinear interpolation is chosen by setting IP=0.</p>
+<p>This method has two sub-options:</p>
+<ol type="1">
+<li>The percent of valid input data required to make output data (the default is 50%).</li>
+<li>If valid input data is not found near an a spiral search may be performed. The spiral search is only an option for scalar data.</li>
+</ol>
+<p>The bilinear method has no restrictions and can interpolate with bitmaps.</p>
+<h3><a class="anchor" id="autotoc_md3"></a>
+Bicubic Interpolation</h3>
+<p>Bicubic interpolation is chosen by setting IP=1.</p>
+<p>This method has two sub-options:</p>
+<ol type="1">
+<li>A monotonic constraint option for straight bicubic or for constraining the output value to be within the range of the four surrounding input values.</li>
+<li>The percent of valid input data required to make output data, which defaults to 50%.</li>
+</ol>
+<p>The bicubic method cannot interpolate data with bitmaps.</p>
+<h3><a class="anchor" id="autotoc_md4"></a>
+Neighbor Interpolation</h3>
+<p>Neighbor interpolation is chosen by setting IP=2.</p>
+<p>Neighbor interpolation means that the output value is set to the nearest input value. It would be appropriate for interpolating integer fields such as vegetation index.</p>
+<p>This method has one sub-option: If valid input data is not found near an an output point, a spiral search is optionally performed.</p>
+<p>The neighbor method has no restrictions and can interpolate with bitmaps.</p>
+<h3><a class="anchor" id="autotoc_md5"></a>
+Budget interpolation</h3>
+<p>Budget interpolation is chosen by setting IP=3.</p>
+<p>Budget interpolation means a low-order interpolation method that quasi-conserves area averages. It would be appropriate for interpolating budget fields such as precipitation.</p>
+<p>This method assumes that the field really represents box averages where each box extends halfway to its neighboring grid point in each direction. The method actually averages bilinearly interpolated values in a square array of points distributed within each output grid box.</p>
+<p>There are several sub-options:</p>
+<ol type="1">
+<li>The number of points in the radius of the square array may be set. The default is 2, meaning that 25 sample points will be averaged for each output value.</li>
+<li>The respective averaging weights for the radius points are adjustable. The default is for all weights equal to 1, giving an unweighted average.</li>
+<li>Optionally, one may assume the boxes stretch nearly all the way to each of the neighboring grid points and the weights are the adjoint of the bilinear interpolation weights.</li>
+<li>The percent of valid input data required to make output data is adjustable. The default is 50%.</li>
+<li>In cases where there is no or insufficient valid input data, a spiral search may be invoked to search for the nearest valid data. search square (scalar interpolation only).</li>
+</ol>
+<p>This method can interpolate data with bitmaps.</p>
+<h3><a class="anchor" id="autotoc_md6"></a>
+Spectral Interpolation</h3>
+<p>Spectral interpolation is chosen by setting IP=4.</p>
+<p>This method has two sub-options:</p>
+<ol type="1">
+<li>set the spectral shape (triangular or rhomboidal)</li>
+<li>set the spectral truncation.</li>
+</ol>
+<p>The input grid must be a global cylindrical grid (either Gaussian or equidistant). This method cannot interpolate data with bitmaps.</p>
+<p>Unless the output grid is a global cylindrical grid, a polar stereographic grid centered at the pole, or a Mercator grid, this method can be quite expensive.</p>
+<h3><a class="anchor" id="autotoc_md7"></a>
+Neighbor-Budget Interpolation</h3>
+<p>Neighbor-budget interpolation is chosen by setting IP=6.</p>
+<p>This method computes weighted averages of neighbor points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points. The main difference with the budget interpolation (IP=3) is neighbor vs bilinear interpolation of the square box of points.</p>
+<p>There are the following sub-options:</p>
+<ol type="1">
+<li>The number of points in the radius of the square array may be set. The default is 2, meaning that 25 sample points will be averaged for each output value.</li>
+<li>The respective averaging weights for the radius points are adjustable. The default is for all weights equal to 1, giving an unweighted average.</li>
+<li>The percent of valid input data required to make output data is adjustable. The default is 50%.</li>
+</ol>
+<h2><a class="anchor" id="autotoc_md8"></a>
+Vectors and Scalars</h2>
+<p>The library can handle two-dimensional vector fields as well as scalar fields. The input and output vectors are rotated if necessary so that they are either resolved relative to their defined grid in the direction of increasing x and y coordinates or resolved relative to eastward and northward directions on the earth. The rotation is determined by the grid definitions.</p>
+<p>Vectors are generally interpolated (by all methods except spectral interpolation) by moving the relevant input vectors along a great circle to the output point, keeping their orientations with respect to the great circle constant, before independently interpolating the respective components. This ensures that vector interpolation will be consistent over the whole globe including the poles.</p>
+<h2><a class="anchor" id="autotoc_md9"></a>
+Grids</h2>
+<p>The input and output grids are defined by their respective GRIB2 grid definition template and template number as decoced by the NCEP G2 library. There are six map projections recognized by the library:</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Grid Template Number   </th><th class="markdownTableHeadNone">Map projection    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">00   </td><td class="markdownTableBodyNone">Equidistant cyclindrical    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">01   </td><td class="markdownTableBodyNone">Rotated equidistant cylindrical    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">10   </td><td class="markdownTableBodyNone">Mercator cyclindrical    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">20   </td><td class="markdownTableBodyNone">Polar stereographic azimuthal    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">30   </td><td class="markdownTableBodyNone">Lambert conformal conical    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">40   </td><td class="markdownTableBodyNone">Gaussian equidistant cyclindrical   </td></tr>
+</table>
+<p>If the output grid definition template number is negative, then the output data may be just a set of station points. In this case, the user must pass the number of points to be output along with their latitudes and longitudes.</p>
+<p>For vector interpolation, the vector rotations parameters must also be passed. On the other hand, for non-negative output data representation types, the number of output grid points and their latitudes and longitudes (and the vector rotation parameters for vector interpolation) are all returned by the interpolation subprograms.</p>
+<p>If an output equidistant cylindrical grid contains multiple pole points, then the pole points are forced to be self-consistent. That is, scalar fields are obliged to be constant at the pole and vector components are obliged to exhibit a wavenumber one variation at the pole.</p>
+<p>Generally, only regular grids can be interpolated in this library. However, the thinned WAFS grids may be expanded to a regular grid (or vice versa) using subprograms <a class="el" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12" title="Expand or contract wafs grids.">ipxwafs()</a>, <a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894" title="Expand or contract wafs grids using linear interpolation and account for bitmapped data.">ipxwafs2()</a>, or <a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d" title="Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data.">ipxwafs3()</a>. Eta data (with Arakawa "E" staggering) on the "H" or "V" grid may be expanded to a filled regular grid (or vice versa) using subprogram <a class="el" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1" title="Expand or contract eta grids using linear interpolation.">ipxetas()</a>.</p>
+<h2><a class="anchor" id="autotoc_md10"></a>
+Return Codes</h2>
+<p>The return code issued by an interpolation subprogram determines whether it ran successfully or how it failed. Check nonzero return codes against the docblock of the respective subprogram.</p>
+<h2><a class="anchor" id="autotoc_md11"></a>
+Entry point list</h2>
+<p>Scalar and vecotr field interpolation subprograms can be found in the relevant module documentation:</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Name   </th><th class="markdownTableHeadNone">Function    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceipolates__mod.html" title="Top-level driver for scalar interpolation interpolation routine ipolates().">ipolates_mod</a>   </td><td class="markdownTableBodyNone">Iredell's polate    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespacebilinear__interp__mod.html" title="Bilinear interpolation routines for scalars and vectors.">bilinear_interp_mod</a>   </td><td class="markdownTableBodyNone">bilinear interpolation    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="namespacebicubic__interp__mod.html" title="Bicubic interpolation routines for scalars and vectors.">bicubic_interp_mod</a>   </td><td class="markdownTableBodyNone">bicubic interpolation    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceneighbor__interp__mod.html" title="Interpolate scalar fields (neighbor).">neighbor_interp_mod</a>   </td><td class="markdownTableBodyNone">neighbor interpolation    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="namespacebudget__interp__mod.html" title="Budget interpolation routines for scalars and vectors.">budget_interp_mod</a>   </td><td class="markdownTableBodyNone">budget interpolation    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespacespectral__interp__mod.html" title="Interpolate spectral.">spectral_interp_mod</a>   </td><td class="markdownTableBodyNone">spectral interpolation    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceneighbor__budget__interp__mod.html" title="Interpolate scalar fields (neighbor).">neighbor_budget_interp_mod</a>   </td><td class="markdownTableBodyNone">neighbor-budget interpolation    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6" title="Make multiple pole scalar values consistent.">polfixs()</a>   </td><td class="markdownTableBodyNone">make multiple pole scalar values consistent    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882" title="This subprogram provides the rotation parameters to move a vector along a great circle from one posit...">movect()</a>   </td><td class="markdownTableBodyNone">move a vector along a great circle    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d" title="Make multiple pole vector values consistent,.">polfixv()</a>   </td><td class="markdownTableBodyNone">make multiple pole vector values consistent   </td></tr>
+</table>
+<p>Grid description section decoders:</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Name   </th><th class="markdownTableHeadNone">Function    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>   </td><td class="markdownTableBodyNone">grid description section (GDS) wizard    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4" title="C wrapper for routine gdswzd().">gdswzd_c()</a>   </td><td class="markdownTableBodyNone">C wrapper for calling gdswzd    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727" title="Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for equidistant cylindrical g...">gdswzd_equid_cylind()</a>   </td><td class="markdownTableBodyNone">GDS wizard for equidistant cyclindrical    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e" title="GDS wizard for mercator cylindrical.">gdswzd_mercator()</a>   </td><td class="markdownTableBodyNone">GDS wizard for mercator cyclindrical    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71" title="GDS wizard for lambert conformal conical.">gdswzd_lambert_conf()</a>   </td><td class="markdownTableBodyNone">GDS wizard for lambert conformal conical    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9" title="Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.">gdswzd_gaussian()</a>   </td><td class="markdownTableBodyNone">GDS wizard for gaussian cyclindrical    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5" title="GDS wizard for polar stereographic azimuthal.">gdswzd_polar_stereo()</a>   </td><td class="markdownTableBodyNone">GDS wizard for polar stereographic    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399" title="Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for rotated equidistant cylin...">gdswzd_rot_equid_cylind_egrid()</a>   </td><td class="markdownTableBodyNone">GDS wizard for rotated equidistant cyclindrical "e" stagger.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b" title="GDS wizard for rotated equidistant cylindrical.">gdswzd_rot_equid_cylind()</a>   </td><td class="markdownTableBodyNone">GDS wizard for rotated equidistant cyclindrical non "e" stagger.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442" title="Returns the field position for a given grid point.">field_pos()</a>   </td><td class="markdownTableBodyNone">return field position for a given grid point   </td></tr>
+</table>
+<p>Transform subprograms for special irregular grids:</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Name   </th><th class="markdownTableHeadNone">Function    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12" title="Expand or contract wafs grids.">ipxwafs()</a>   </td><td class="markdownTableBodyNone">expand or contract wafs grids    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"><a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894" title="Expand or contract wafs grids using linear interpolation and account for bitmapped data.">ipxwafs2()</a>   </td><td class="markdownTableBodyNone">expand or contract wafs grids    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"><a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d" title="Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data.">ipxwafs3()</a>   </td><td class="markdownTableBodyNone">expand or contract wafs grids   </td></tr>
+</table>
+<h2><a class="anchor" id="autotoc_md12"></a>
+How to invoke ip2lib: examples</h2>
+<pre>
+***********************************************************************
+Example 1. Read a grib 2 file of scalar data on a global regular
+            1-deg lat/lon grid and call ipolates to interpolate
+            it to NCEP standard grid 218, a lambert conformal grid.
+            Uses the NCEP G2 library to degrib the data.
+***********************************************************************
+
+ program example_1
+
+use <a class="el" href="namespaceip__mod.html" title="Top-level module for the ip library which re-exports public routines such as ipolates,...">ip_mod</a>
+ use grib_mod  ! ncep grib 2 library
+
+ implicit none
+
+ character(len=100)      :: input_file
+
+ integer                 :: iunit, iret, lugi
+ integer                 :: mi, mo, no
+ integer, allocatable    :: ibi(:), ibo(:)
+ integer                 :: ip, ipopt(20)
+ integer                 :: j, jdisc, jpdtn, jgdtn, k, km
+ integer                 :: jids(200), jgdt(200), jpdt(200)
+ integer                 :: idim_input, jdim_input
+ integer                 :: idim_output, jdim_output
+
+ logical                 :: unpack
+ logical*1, allocatable  :: input_bitmap(:,:), output_bitmap(:,:)
+
+ real, allocatable       :: input_data(:,:)
+ real, allocatable       :: output_rlat(:), output_rlon(:)
+ real, allocatable       :: output_data(:,:)
+
+ type(gribfield)         :: gfld_input
+
+!---------------------------------------------------------------------------
+! the output grid specs. this is ncep grid 218, a lambert conformal
+! grid. the grid definition information is stored in section 3
+! of a grib 2 message.
+!---------------------------------------------------------------------------
+
+ integer, parameter :: igdtnum218 = 30 ! grid definition template number.
+                                       ! "30" is lambert conformal.
+ integer, parameter :: igdtlen218 = 22 ! number of array elements needed
+                                       ! for a lambert conf. grid definition
+                                       ! template.
+ integer     :: igdtmpl218(igdtlen218) ! the grid definition template.
+                                       ! the entries are:
+                                       ! 1 -shape of earth, oct 15
+                                       ! 2 -scale factor, spherical earth, oct 16
+                                       ! 3 -scaled value, spherical earth, octs 17-20
+                                       ! 4 -scale factor, major axis of
+                                       !    elliptical earth, oct 21
+                                       ! 5 -scaled value of major axis of
+                                       !    elliptical earth, octs 22-25
+                                       ! 6 -scale factor, minor axis of
+                                       !    elliptical earth, oct 26
+                                       ! 7 -scaled value of minor axis of
+                                       !    elliptical earth, octs 27-30
+                                       ! 8 -number points along x-axis, octs 31-34
+                                       ! 9 -number points along y-axis, octs 35-38
+                                       ! 10-latitude of first point, octs 39-42
+                                       ! 11-longitude of first point, octs 43-46
+                                       ! 12-resolution and component flags, oct 47
+                                       ! 13-latitude where grid lengths specified, 
+                                       !    octs 48-51
+                                       ! 14-longitude parallel to y-axis, octs 52-55
+                                       ! 15-x-direction grid length, octs 56-59
+                                       ! 16-y-direction grid length, octs 60-63
+                                       ! 17-projection center flag, oct 64
+                                       ! 18-scanning mode, oct 65
+                                       ! 19-first tangent latitude from pole, octs 66-69
+                                       ! 20-second tangent latitude from pole, octs 70-73
+                                       ! 21-latitude of south pole, octs 74-77
+                                       ! 22-longitude of south pole, octs 78-81
+
+ integer, parameter :: missing=b'11111111111111111111111111111111'
+ data igdtmpl218 / 6, 255, missing, 255, missing, 255, missing, 614, 428, &amp;
+                  12190000, 226541000, 56, 25000000, 265000000, &amp;
+                  12191000, 12191000, 0, 64, 25000000, 25000000, -90000000, 0/
+
+!---------------------------------------------------------------------------
+! open the grib 2 file containing data to be interpolated. for this
+! example, there are two data records.
+!---------------------------------------------------------------------------
+
+ iunit=9
+ input_file="${path}/input.data.grib2"
+ call baopenr (iunit, input_file, iret)
+
+!---------------------------------------------------------------------------
+! prep for call to g2 library to degrib data. the data are on a regular
+! lat/lon grid with i/j dimension of 360/181. 
+!---------------------------------------------------------------------------
+
+ idim_input = 360  ! the i/j dimensions of input grid
+ jdim_input = 181
+ mi         = idim_input * jdim_input   ! total number of pts, input grid
+
+ jdisc   = -1         ! search for any discipline
+ jpdtn   = -1         ! search for any product definition template number
+ jgdtn   =  0         ! search for grid definition template number 0 - regular lat/lon grid
+ jids    = -9999      ! array of values in identification section, set to wildcard
+ jgdt    = -9999      ! array of values in grid definition template 3.m
+ jgdt(8) = idim_input ! search for grid with i/j of 360/181
+ jgdt(9) = jdim_input
+ jpdt    = -9999      ! array of values in product definition template 4.n
+ unpack  = .true.     ! unpack data
+ lugi    = 0          ! no index file
+
+ nullify(gfld_inputidsect)
+ nullify(gfld_inputlocal)
+ nullify(gfld_inputlist_opt)
+ nullify(gfld_inputigdtmpl)  ! holds the grid definition template information
+ nullify(gfld_inputipdtmpl)
+ nullify(gfld_inputcoord_list)
+ nullify(gfld_inputidrtmpl)
+ nullify(gfld_inputbmap)     ! holds the bitmap
+ nullify(gfld_inputfld)      ! holds the data
+
+!---------------------------------------------------------------------------
+! degrib the data.  non-zero "iret" indicates a problem during degrib.
+!---------------------------------------------------------------------------
+
+ km = 2                  ! number of records to interpolate
+
+ allocate(ibi(km))
+ allocate(input_bitmap(mi,km))
+ allocate(input_data(mi,km))
+
+ do j = 0, (km-1)    ! number of records to skip
+
+   call getgb2(iunit, lugi, j, jdisc, jids, jpdtn, jpdt, jgdtn, jgdt, &amp;
+               unpack, k, gfld_input, iret)
+
+   if (iret /= 0) stop
+
+!---------------------------------------------------------------------------
+! does input data have a bitmap?
+!---------------------------------------------------------------------------
+
+   if (gfld_inputibmap==0) then  ! input data has bitmap
+     ibi(k)            = 1        ! tell ipolates to use bitmap
+     input_bitmap(:,k) = gfld_inputbmap
+   else                           ! no bitmap, data everywhere
+     ibi(k)            = 0        ! tell ipolates there is no bitmap
+     input_bitmap(:,k) = .true.
+   endif
+
+   input_data(:,k) = gfld_inputfld  ! the input data field
+
+ enddo
+
+ call baclose (iunit, iret)
+
+!---------------------------------------------------------------------------
+! setup arguments for ipolates (scalar interpolation) call.
+!---------------------------------------------------------------------------
+
+ ip       = 0                         ! bilinear interpolation
+ ipopt    = 0                         ! options for bilinear:
+ ipopt(1) = 75                        ! set minimum mask to 75%
+
+!---------------------------------------------------------------------------
+! the i/j dimensions of the output grid.
+!---------------------------------------------------------------------------
+
+ idim_output = igdtmpl218(8)
+ jdim_output = igdtmpl218(9)
+ mo          = idim_output * jdim_output ! total number of output pts
+
+!---------------------------------------------------------------------------
+! will hold the latitude, longitude, data and bitmap on the output grid,
+! which are computed in ipolates.
+!---------------------------------------------------------------------------
+
+ allocate (ibo(km))              ! bitmap flags on output grid
+ allocate (output_rlat(mo))
+ allocate (output_rlon(mo))
+ allocate (output_data(mo,km))
+ allocate (output_bitmap(mo,km))
+
+!---------------------------------------------------------------------------
+! call ipolates to interpolate scalar data.  non-zero "iret" indicates
+! a problem.
+!---------------------------------------------------------------------------
+
+ call ipolates(ip, ipopt, gfld_inputigdtnum, gfld_inputigdtmpl, &amp;
+               gfld_inputigdtlen, igdtnum218, igdtmpl218, igdtlen218, &amp;
+               mi, mo, km, ibi, input_bitmap, input_data, no, output_rlat, &amp;
+               output_rlon, ibo, output_bitmap, output_data, iret)
+
+ if (iret /= 0) stop
+
+!---------------------------------------------------------------------------
+! write interpolated data to file.  if ipolates computed a bitmap (ibo==1) 
+! for the output grid, one may mask out this data with a flag value.
+!---------------------------------------------------------------------------
+
+ open (10, file="./output.bin", access='direct', recl=idim_output*jdim_output*4)
+
+ do k = 1, km
+   if(ibo(k)==1) where (.not. output_bitmap(:,k)) output_data(:,k) = -999.
+   write(10, rec=k) output_data(:,k)
+ enddo
+ write(10, rec=km+1) output_rlat
+ write(10, rec=km+2) output_rlon
+
+ close(10)
+
+ end program example_1
+
+***********************************************************************
+Example 2.  Read a grib 2 file of u/v wind data on a global regular
+            1-deg lat/lon grid and call ipolatev to interpolate
+            it to four random station points.  Uses the NCEP
+            G2 library to degrib the data.
+***********************************************************************
+
+ program example_2
+
+ use grib_mod  ! ncep grib 2 library
+
+ implicit none
+
+ character(len=100)      :: input_file
+
+ integer                 :: iunit, iret, lugi
+ integer                 :: mi, mo, no
+ integer                 :: ibi, ibo
+ integer                 :: ip, ipopt(20)
+ integer                 :: j, jdisc, jpdtn, jgdtn, k, km
+ integer                 :: jids(200), jgdt(200), jpdt(200)
+ integer                 :: idim_input, jdim_input
+
+ logical                 :: unpack
+ logical*1, allocatable  :: input_bitmap(:), output_bitmap(:)
+
+ real, allocatable       :: input_u_data(:), input_v_data(:)
+ real, allocatable       :: output_rlat(:), output_rlon(:)
+ real, allocatable       :: output_crot(:), output_srot(:)
+ real, allocatable       :: output_u_data(:), output_v_data(:)
+
+ type(gribfield)         :: gfld_input
+
+!---------------------------------------------------------------------------
+! the output "grid" is a series of random station points.  in this case,
+! set the grid definition template number of a negative number.
+! the grid definition template array information is not used, so set
+! to a flag value.
+!---------------------------------------------------------------------------
+
+ integer, parameter      :: igdtnumo = -1 
+ integer, parameter      :: igdtleno =  1
+ integer                 :: igdtmplo(igdtleno)
+
+ data igdtmplo / -9999 /
+
+!---------------------------------------------------------------------------
+! open the grib 2 file containing data to be interpolated.  for this
+! example, there is one record of u-wind and v-wind.
+!---------------------------------------------------------------------------
+
+ iunit=9
+ input_file="./reg_tests/copygb2/data/uv_wind.grb2"
+ call baopenr (iunit, input_file, iret)
+
+!---------------------------------------------------------------------------
+! prep for call to g2 library to degrib data. the data are on a regular
+! lat/lon grid with i/j dimension of 360/181.  
+!---------------------------------------------------------------------------
+
+ idim_input = 360  ! the i/j dimensions of input grid
+ jdim_input = 181
+ mi         = idim_input * jdim_input   ! total number of pts, input grid
+
+ jdisc   = -1         ! search for any discipline
+ jpdtn   = -1         ! search for any product definition template number
+ jgdtn   =  0         ! search for grid definition template number 0 - regular lat/lon grid
+ jids    = -9999      ! array of values in identification section, set to wildcard
+ jgdt    = -9999      ! array of values in grid definition template 3.m
+ jgdt(8) = idim_input ! search for grid with i/j of 360/181
+ jgdt(9) = jdim_input
+ jpdt    = -9999      ! array of values in product definition template 4.n
+ unpack  = .true.     ! unpack data
+ lugi    = 0          ! no index file
+
+ nullify(gfld_inputidsect)
+ nullify(gfld_inputlocal)
+ nullify(gfld_inputlist_opt)
+ nullify(gfld_inputigdtmpl)  ! holds the grid definition template information
+ nullify(gfld_inputipdtmpl)
+ nullify(gfld_inputcoord_list)
+ nullify(gfld_inputidrtmpl)
+ nullify(gfld_inputbmap)     ! holds the bitmap
+ nullify(gfld_inputfld)      ! holds the data
+
+!---------------------------------------------------------------------------
+! degrib the data.  non-zero "iret" indicates a problem during degrib.
+!---------------------------------------------------------------------------
+
+ allocate(input_bitmap(mi))
+ allocate(input_u_data(mi))
+ allocate(input_v_data(mi))
+
+!---------------------------------------------------------------------------
+! read u-wind record.
+!---------------------------------------------------------------------------
+
+ j = 0
+ call getgb2(iunit, lugi, j, jdisc, jids, jpdtn, jpdt, jgdtn, jgdt, &amp;
+             unpack, k, gfld_input, iret)
+
+ if (iret /= 0) stop
+
+!---------------------------------------------------------------------------
+! does input data have a bitmap?
+!---------------------------------------------------------------------------
+
+ if (gfld_inputibmap==0) then  ! input data has bitmap
+   ibi          = 1             ! tell ipolates to use bitmap
+   input_bitmap = gfld_inputbmap
+ else                           ! no bitmap, data everywhere
+   ibi          = 0             ! tell ipolates there is no bitmap
+   input_bitmap = .true.
+ endif
+
+ input_u_data = gfld_inputfld  ! the input u-wind data
+
+!---------------------------------------------------------------------------
+! read v-wind record.
+!---------------------------------------------------------------------------
+
+ j = 1
+ call getgb2(iunit, lugi, j, jdisc, jids, jpdtn, jpdt, jgdtn, jgdt, &amp;
+             unpack, k, gfld_input, iret)
+
+ if (iret /= 0) stop
+
+ input_v_data = gfld_inputfld  ! the input v-wind data
+
+ call baclose (iunit, iret)
+
+!---------------------------------------------------------------------------
+! setup arguments for ipolatev (vector interpolation) call.
+!---------------------------------------------------------------------------
+
+ km       = 1                         ! number of records to interpolate
+ ip       = 0                         ! bilinear interpolation
+ ipopt    = 0                         ! options for bilinear:
+ ipopt(1) = 75                        ! set minimum mask to 75%
+
+!---------------------------------------------------------------------------
+! interpolate to four random station points.
+!---------------------------------------------------------------------------
+
+ mo = 4
+ no = mo
+
+!---------------------------------------------------------------------------
+! when interpolating to random station points, need to pass to ipolatev
+! their latitude, longitude and the sines and cosines of the vector
+! rotation angles.  the vector rotation is defined:
+!
+! ugrid=crot*uearth-sort*vearth
+! vgrid=srot*uearth+cort*vearth
+!---------------------------------------------------------------------------
+
+ allocate (output_rlat(mo))
+ allocate (output_rlon(mo))
+ allocate (output_srot(mo))
+ allocate (output_crot(mo))
+ allocate (output_u_data(mo))
+ allocate (output_v_data(mo))
+ allocate (output_bitmap(mo))
+
+ output_rlat(1) = 45.0
+ output_rlon(1) = -100.0
+ output_rlat(2) = 35.0
+ output_rlon(2) = -100.0
+ output_rlat(3) = 40.0
+ output_rlon(3) = -90.0
+ output_rlat(4) = 35.0
+ output_rlon(4) = -120.0
+
+ output_srot = 0.0   ! no turning of wind
+ output_crot = 1.0
+
+!---------------------------------------------------------------------------
+! call ipolatev to interpolate vector data.  non-zero "iret" indicates
+! a problem.
+!---------------------------------------------------------------------------
+
+ call ipolatev(ip, ipopt, gfld_inputigdtnum, gfld_inputigdtmpl, &amp;
+               gfld_inputigdtlen, igdtnumo, igdtmplo, igdtleno, &amp;
+               mi, mo, km, ibi, input_bitmap, input_u_data, input_v_data, &amp;
+               no, output_rlat, output_rlon, output_crot, output_srot, &amp;
+               ibo, output_bitmap, output_u_data, output_v_data, iret)
+
+ if (iret /= 0) stop
+
+ do k = 1, mo
+   print*,'station point ',k,' latitude ',output_rlat(k),' longitude ', &amp;
+   output_rlon(k), ' u-wind ', output_u_data(k), ' v-wind ', output_v_data(k)
+ enddo
+
+ end program example_2
+</pre> </div></div><!-- PageDoc -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfacebicubic__interp__mod_1_1interpolate__bicubic.html b/ver-4.4.0/interfacebicubic__interp__mod_1_1interpolate__bicubic.html
new file mode 100644
index 00000000..fa38bc2a
--- /dev/null
+++ b/ver-4.4.0/interfacebicubic__interp__mod_1_1interpolate__bicubic.html
@@ -0,0 +1,473 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: bicubic_interp_mod::interpolate_bicubic Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfacebicubic__interp__mod_1_1interpolate__bicubic.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">bicubic_interp_mod::interpolate_bicubic Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:acbfecc99184cf9ae71b2c9f79c7d4077"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077">interpolate_bicubic_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:acbfecc99184cf9ae71b2c9f79c7d4077"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bicubic interpolation from any grid to any grid for scalar fields.  <a href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077">More...</a><br /></td></tr>
+<tr class="separator:acbfecc99184cf9ae71b2c9f79c7d4077"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac45c15e1c9d76158d72e62ccaca915b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b">interpolate_bicubic_vector</a> (ipopt, grid_in, grid_out, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:aac45c15e1c9d76158d72e62ccaca915b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bicubic interpolation from any grid to any grid for vector fields.  <a href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b">More...</a><br /></td></tr>
+<tr class="separator:aac45c15e1c9d76158d72e62ccaca915b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="bicubic__interp__mod_8F90_source.html#l00017">17</a> of file <a class="el" href="bicubic__interp__mod_8F90_source.html">bicubic_interp_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="acbfecc99184cf9ae71b2c9f79c7d4077"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acbfecc99184cf9ae71b2c9f79c7d4077">&#9670;&nbsp;</a></span>interpolate_bicubic_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs bicubic interpolation from any grid to any grid for scalar fields. </p>
+<p>Bitmaps are now allowed even when invalid points are within the bicubic template provided the minimum weight is reached.</p>
+<p>Options allow choices between straight bicubic (ipopt(1)=0) and constrained bicubic (ipopt(1)=1) where the value is confined within the range of the surrounding 16 points.</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(2)) which defaults to 50 (if ipopt(2)=-1).</p>
+<p>Bilinear used within one grid length of boundaries. Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where for the input and output grids, respectively: as an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input. output bitmaps will only be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options.<ul>
+<li>ipopt(1)=0 For straight bicubic;</li>
+<li>ipopt(1)=1 For constrained bicubic where value is confined within the range of the surrounding 4 points.</li>
+<li>ipopt(2) Is minimum percentage for mask (defaults to 50 if ipopt(2)=-1)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if some ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>Number of output points (only if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 successful interpolation,</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="bicubic__interp__mod_8F90_source.html#l00080">80</a> of file <a class="el" href="bicubic__interp__mod_8F90_source.html">bicubic_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="polfix__mod_8F90_source.html#l00030">polfix_mod::polfixs()</a>.</p>
+
+</div>
+</div>
+<a id="aac45c15e1c9d76158d72e62ccaca915b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aac45c15e1c9d76158d72e62ccaca915b">&#9670;&nbsp;</a></span>interpolate_bicubic_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs bicubic interpolation from any grid to any grid for vector fields. </p>
+<p>Bitmaps are now allowed even when invalid points are within the bicubic template provided the minimum weight is reached.</p>
+<p>Options allow choices between straight bicubic (ipopt(1)=0) and constrained bicubic (ipopt(1)=1) where the value is confined within the range of the surrounding 16 points.</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(2)) which defaults to 50 (if ipopt(2)=-1).</p>
+<p>Bilinear used within one grid length of boundaries. Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where for the input and output grids, respectively: as an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input.</p>
+<p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>integer (20) interpolation options<ul>
+<li>ipopt(1)=0 for straight bicubic;</li>
+<li>ipopt(1)=1 for constrained bicubic where value is confined within the range of the surrounding 4 points.</li>
+<li>ipopt(2) is minimum percentage for mask (defaults to 50 if ipopt(2)=-1) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if some ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>Number of output points (only if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&lt;0) ugrid=crot*uearth-srot*vearth. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&lt;0) vgrid=srot*uearth+crot*vearth). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="bicubic__interp__mod_8F90_source.html#l00338">338</a> of file <a class="el" href="bicubic__interp__mod_8F90_source.html">bicubic_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="movect_8F90_source.html#l00026">movect()</a>, and <a class="el" href="polfix__mod_8F90_source.html#l00125">polfix_mod::polfixv()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="bicubic__interp__mod_8F90_source.html">bicubic_interp_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacebicubic__interp__mod.html">bicubic_interp_mod</a></li><li class="navelem"><a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html">interpolate_bicubic</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfacebicubic__interp__mod_1_1interpolate__bicubic.js b/ver-4.4.0/interfacebicubic__interp__mod_1_1interpolate__bicubic.js
new file mode 100644
index 00000000..22f72d65
--- /dev/null
+++ b/ver-4.4.0/interfacebicubic__interp__mod_1_1interpolate__bicubic.js
@@ -0,0 +1,5 @@
+var interfacebicubic__interp__mod_1_1interpolate__bicubic =
+[
+    [ "interpolate_bicubic_scalar", "interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077", null ],
+    [ "interpolate_bicubic_vector", "interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfacebilinear__interp__mod_1_1interpolate__bilinear.html b/ver-4.4.0/interfacebilinear__interp__mod_1_1interpolate__bilinear.html
new file mode 100644
index 00000000..e7268274
--- /dev/null
+++ b/ver-4.4.0/interfacebilinear__interp__mod_1_1interpolate__bilinear.html
@@ -0,0 +1,463 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: bilinear_interp_mod::interpolate_bilinear Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfacebilinear__interp__mod_1_1interpolate__bilinear.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">bilinear_interp_mod::interpolate_bilinear Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a3493cf5bc04aa4551ffd4c314ef09a65"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65">interpolate_bilinear_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a3493cf5bc04aa4551ffd4c314ef09a65"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bilinear interpolation from any grid to any grid for scalar fields.  <a href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65">More...</a><br /></td></tr>
+<tr class="separator:a3493cf5bc04aa4551ffd4c314ef09a65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4692c5250b37325f764b38c570892dd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd">interpolate_bilinear_vector</a> (ipopt, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:ab4692c5250b37325f764b38c570892dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bilinear interpolation from any grid to any grid for vector fields.  <a href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd">More...</a><br /></td></tr>
+<tr class="separator:ab4692c5250b37325f764b38c570892dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="bilinear__interp__mod_8F90_source.html#l00019">19</a> of file <a class="el" href="bilinear__interp__mod_8F90_source.html">bilinear_interp_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a3493cf5bc04aa4551ffd4c314ef09a65"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3493cf5bc04aa4551ffd4c314ef09a65">&#9670;&nbsp;</a></span>interpolate_bilinear_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs bilinear interpolation from any grid to any grid for scalar fields. </p>
+<p>Options allow varying the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(1)) which defaults to 50 (if ipopt(1)=-1). only horizontal interpolation is performed. if no input data is found near the output point, a spiral search may be invoked by setting ipopt(2)&gt; 0. no searching is done if output point is outside the input grid. as an added bonus the number of output grid points and their latitudes and longitudes are also returned. on the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input. input bitmaps will be interpolated to output bitmaps. output bitmaps will also be created when the output grid extends outside of the domain of the input grid.</p>
+<p>The output field is set to 0 where the output bitmap is off. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>interpolation options<ul>
+<li>ipopt(1) is minimum percentage for mask (defaults to 50 if ipopt(1)=-1)</li>
+<li>ipopt(2) is width of square to examine in spiral search (defaults to no search if ipopt(2)=-1) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>input grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>output grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="bilinear__interp__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="bilinear__interp__mod_8F90_source.html">bilinear_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="polfix__mod_8F90_source.html#l00030">polfix_mod::polfixs()</a>.</p>
+
+</div>
+</div>
+<a id="ab4692c5250b37325f764b38c570892dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab4692c5250b37325f764b38c570892dd">&#9670;&nbsp;</a></span>interpolate_bilinear_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs bilinear interpolation from any grid to any grid for vector fields. </p>
+<p>Options allow varying the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(1)) which defaults to 50 (if ipopt(1)=-1).</p>
+<p>Only horizontal interpolation is performed. the input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. on the other hand, the data may be interpolated to a set of station points if igdtnumo &lt; 0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters. input bitmaps will be interpolated to output bitmaps. output bitmaps will also be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>interpolation options<ul>
+<li>ipopt(1) is minimum percentage for mask (defaults to 50 if ipopt(1)=-1) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>vector rotation cosines (if igdtnumo&lt;0) ugrid=crot*uearth-srot*vearth; </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>vector rotation sines (if igdtnumo&lt;0) vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="bilinear__interp__mod_8F90_source.html#l00329">329</a> of file <a class="el" href="bilinear__interp__mod_8F90_source.html">bilinear_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="movect_8F90_source.html#l00026">movect()</a>, and <a class="el" href="polfix__mod_8F90_source.html#l00125">polfix_mod::polfixv()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="bilinear__interp__mod_8F90_source.html">bilinear_interp_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacebilinear__interp__mod.html">bilinear_interp_mod</a></li><li class="navelem"><a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html">interpolate_bilinear</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfacebilinear__interp__mod_1_1interpolate__bilinear.js b/ver-4.4.0/interfacebilinear__interp__mod_1_1interpolate__bilinear.js
new file mode 100644
index 00000000..0aa40a0e
--- /dev/null
+++ b/ver-4.4.0/interfacebilinear__interp__mod_1_1interpolate__bilinear.js
@@ -0,0 +1,5 @@
+var interfacebilinear__interp__mod_1_1interpolate__bilinear =
+[
+    [ "interpolate_bilinear_scalar", "interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65", null ],
+    [ "interpolate_bilinear_vector", "interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfacebudget__interp__mod_1_1interpolate__budget.html b/ver-4.4.0/interfacebudget__interp__mod_1_1interpolate__budget.html
new file mode 100644
index 00000000..6f88a32a
--- /dev/null
+++ b/ver-4.4.0/interfacebudget__interp__mod_1_1interpolate__budget.html
@@ -0,0 +1,473 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: budget_interp_mod::interpolate_budget Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfacebudget__interp__mod_1_1interpolate__budget.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">budget_interp_mod::interpolate_budget Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a4b96cbeedb86ef43b687f7ea55914ef0"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0">interpolate_budget_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a4b96cbeedb86ef43b687f7ea55914ef0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs budget interpolation from any grid to any grid (or to random station points) for scalar fields.  <a href="interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0">More...</a><br /></td></tr>
+<tr class="separator:a4b96cbeedb86ef43b687f7ea55914ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a573e89e56381d0f69e4022d791a087e6"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6">interpolate_budget_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a573e89e56381d0f69e4022d791a087e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs budget interpolation from any grid to any grid (or to random station points) for vector fields.  <a href="interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6">More...</a><br /></td></tr>
+<tr class="separator:a573e89e56381d0f69e4022d791a087e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="budget__interp__mod_8F90_source.html#l00021">21</a> of file <a class="el" href="budget__interp__mod_8F90_source.html">budget_interp_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a4b96cbeedb86ef43b687f7ea55914ef0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b96cbeedb86ef43b687f7ea55914ef0">&#9670;&nbsp;</a></span>interpolate_budget_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine budget_interp_mod::interpolate_budget::interpolate_budget_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Performs budget interpolation from any grid to any grid (or to random station points) for scalar fields. </p>
+<p>The algorithm simply computes (weighted) averages of bilinearly interpolated points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points.</p>
+<p>Options allow choices of number of points in each radius from the center point (ipopt(1)) which defaults to 2 (if ipopt(1)=-1) meaning that 25 points will be averaged; further options are the respective weights for the radius points starting at the center point (ipopt(2:2+ipopt(1)) which defaults to all 1 (if ipopt(1)=-1 or ipopt(2)=-1).</p>
+<p>A special interpolation is done if ipopt(2)=-2. in this case, the boxes stretch nearly all the way to each of the neighboring grid points and the weights are the adjoint of the bilinear interpolation weights. This case gives quasi-second-order budget interpolation.</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(3+ipopt(1)) which defaults to 50 (if -1).</p>
+<p>In cases where there is no or insufficient valid input data, the user may choose to search for the nearest valid data. this is invoked by setting ipopt(20) to the width of the search square. The default is 1 (no search). Squares are searched for valid data in a spiral pattern starting from the center. No searching is done where the output grid is outside the input grid.</p>
+<p>Only horizontal interpolation is performed.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ipopt(1) is number of radius points (defaults to 2 if ipopt(1)=-1).</li>
+<li>ipopt(2:2+ipopt(1)) are respective weights (defaults to all 1 if ipopt(1)=-1 or ipopt(2)=-1).</li>
+<li>ipopt(3+ipopt(1)) is minimum percentage for mask (defaults to 50 if ipopt(3+ipopt(1)=-1). </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if some ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>Number of output points (only if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>32 Invalid budget method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Marke Iredell, George Gayno, Kyle Gerheiser, Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="budget__interp__mod_8F90_source.html#l00094">94</a> of file <a class="el" href="budget__interp__mod_8F90_source.html">budget_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="polfix__mod_8F90_source.html#l00030">polfix_mod::polfixs()</a>.</p>
+
+</div>
+</div>
+<a id="a573e89e56381d0f69e4022d791a087e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a573e89e56381d0f69e4022d791a087e6">&#9670;&nbsp;</a></span>interpolate_budget_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine budget_interp_mod::interpolate_budget::interpolate_budget_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs budget interpolation from any grid to any grid (or to random station points) for vector fields. </p>
+<p>The algorithm simply computes (weighted) averages of bilinearly interpolated points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points.</p>
+<p>Options allow choices of number of points in each radius from the center point (ipopt(1)) which defaults to 2 (if ipopt(1)=-1) meaning that 25 points will be averaged; further options are the respective weights for the radius points starting at the center point (ipopt(2:2+ipopt(1)) which defaults to all 1 (if ipopt(1)=-1 or ipopt(2)=-1).</p>
+<p>A special interpolation is done if ipopt(2)=-2. in this case, the boxes stretch nearly all the way to each of the neighboring grid points and the weights are the adjoint of the bilinear interpolation weights. This case gives quasi-second-order budget interpolation.</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(3+ipopt(1)) which defaults to 50 (if -1).</p>
+<p>In cases where there is no or insufficient valid input data, the user may choose to search for the nearest valid data. this is invoked by setting ipopt(20) to the width of the search square. The default is 1 (no search). Squares are searched for valid data in a spiral pattern starting from the center. No searching is done where the output grid is outside the input grid.</p>
+<p>Only horizontal interpolation is performed.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>interpolation options ipopt(1) Number of radius points (defaults to 2 if ipopt(1)=-1); ipopt(2:2+ipopt(1)) Respective weights (defaults to all 1 if ipopt(1)=-1 or ipopt(2)=-1). ipopt(3+ipopt(1)) Minimum percentage for mask (defaults to 50 if ipopt(3+ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip Number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>skip Number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if some ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>Number of output points (only if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines. If interpolating subgrid ugrid=crot * uearth - srot * vearth. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines. If interpolating subgrid vgrid = srot * uearth + crot * vearth. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>32 Invalid budget method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Marke Iredell, George Gayno, Kyle Gerheiser, Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="budget__interp__mod_8F90_source.html#l00423">423</a> of file <a class="el" href="budget__interp__mod_8F90_source.html">budget_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="movect_8F90_source.html#l00026">movect()</a>, and <a class="el" href="polfix__mod_8F90_source.html#l00125">polfix_mod::polfixv()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="budget__interp__mod_8F90_source.html">budget_interp_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacebudget__interp__mod.html">budget_interp_mod</a></li><li class="navelem"><a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html">interpolate_budget</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfacebudget__interp__mod_1_1interpolate__budget.js b/ver-4.4.0/interfacebudget__interp__mod_1_1interpolate__budget.js
new file mode 100644
index 00000000..6c0949c3
--- /dev/null
+++ b/ver-4.4.0/interfacebudget__interp__mod_1_1interpolate__budget.js
@@ -0,0 +1,5 @@
+var interfacebudget__interp__mod_1_1interpolate__budget =
+[
+    [ "interpolate_budget_scalar", "interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0", null ],
+    [ "interpolate_budget_vector", "interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.html b/ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.html
new file mode 100644
index 00000000..755a403c
--- /dev/null
+++ b/ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.html
@@ -0,0 +1,1310 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: gdswzd_mod::gdswzd Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfacegdswzd__mod_1_1gdswzd.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">gdswzd_mod::gdswzd Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:afaf35e3ce949dd2ce3d72dd3f06d4e3b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b">gdswzd_1d_array</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:afaf35e3ce949dd2ce3d72dd3f06d4e3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib 2 grid definition template and returns one of the following:  <a href="interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b">More...</a><br /></td></tr>
+<tr class="separator:afaf35e3ce949dd2ce3d72dd3f06d4e3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b60240eefdc297eacf90c348b529d31"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31">gdswzd_2d_array</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a8b60240eefdc297eacf90c348b529d31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib 2 grid definition template and returns one of the following (for 2d-arrays):  <a href="interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31">More...</a><br /></td></tr>
+<tr class="separator:a8b60240eefdc297eacf90c348b529d31"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c66a7ede2b644f7e366df9f70b9f0a5"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5">gdswzd_2d_array_grib1</a> (KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a7c66a7ede2b644f7e366df9f70b9f0a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib grid description section and returns one of the following (for 2-d arrays):  <a href="interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5">More...</a><br /></td></tr>
+<tr class="separator:a7c66a7ede2b644f7e366df9f70b9f0a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65b95791813ffd5afbfba9d4cb67676a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a">gdswzd_grib1</a> (KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a65b95791813ffd5afbfba9d4cb67676a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib grid description section and returns one of the following (for 1-d arrays):  <a href="interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a">More...</a><br /></td></tr>
+<tr class="separator:a65b95791813ffd5afbfba9d4cb67676a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfe059339c6c9f05fd4eadb5d70aec16"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16">gdswzd_grid</a> (grid, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:abfe059339c6c9f05fd4eadb5d70aec16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns one of the following for a grid object:  <a href="interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16">More...</a><br /></td></tr>
+<tr class="separator:abfe059339c6c9f05fd4eadb5d70aec16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fc841ec08d39463b3f5f36eac0068cd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd">gdswzd_scalar</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a1fc841ec08d39463b3f5f36eac0068cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib 2 grid definition template and returns one of the following (for scalars):  <a href="interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd">More...</a><br /></td></tr>
+<tr class="separator:a1fc841ec08d39463b3f5f36eac0068cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00037">37</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="afaf35e3ce949dd2ce3d72dd3f06d4e3b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afaf35e3ce949dd2ce3d72dd3f06d4e3b">&#9670;&nbsp;</a></span>gdswzd_1d_array()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd::gdswzd_1d_array </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Decodes the grib 2 grid definition template and returns one of the following: </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>The current code recognizes the following projections, where "igdtnum" is the grid definition template number:</p><ul>
+<li>igdtnum=00 Equidistant Cylindrical</li>
+<li>igdtnum=01 Rotated Equidistant Cylindrical. "E" and non-"E" staggered</li>
+<li>igdtnum=10 Mercator Cyclindrical</li>
+<li>igdtnum=20 Polar Stereographic Azimuthal</li>
+<li>igdtnum=30 Lambert Conformal Conical</li>
+<li>igdtnum=40 Gaussian Equidistant Cyclindrical</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnum</td><td>Grid definition template number. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - Equidistant Cylindrical</li>
+<li>01 - Rotated Equidistant Cylindrical. "E" and non-"E" staggered</li>
+<li>10 - Mercator Cyclindrical</li>
+<li>20 - Polar Stereographic Azimuthal</li>
+<li>30 - Lambert Conformal Conical</li>
+<li>40 - Gaussian Equidistant Cyclindrical</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl</td><td>Grid definition template array. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Section 3 Info:</p>
+<p>All Map Projections:</p><ul>
+<li>1: Shape of earth, octet 15.</li>
+<li>2: Scale factor of spherical earth radius, octet 16.</li>
+<li>3: Scaled value of radius of spherical earth, octets 17-20.</li>
+<li>4: Scale factor of major axis of elliptical earth, octet 21.</li>
+<li>5: Scaled value of major axis of elliptical earth, octets 22-25.</li>
+<li>6: Scale factor of minor axis of elliptical earth, octet 26.</li>
+<li>7: Scaled value of minor axis of elliptical earth, octets 27-30.</li>
+</ul>
+<p>Equidistant Cyclindrical:</p><ul>
+<li>8: Number of points along a parallel, octs 31-34.</li>
+<li>9: Number of points along a meridian, octs 35-38.</li>
+<li>10: Basic angle of initial production domain, octets 39-42.</li>
+<li>11: Subdivisions of basic angle, octets 43-46.</li>
+<li>12: Latitude of first grid point, octets 47-50.</li>
+<li>13: Longitude of first grid point, octets 51-54.</li>
+<li>14: Resolution and component flags, octet 55.</li>
+<li>15: Latitude of last grid point, octets 56-59.</li>
+<li>16: Longitude of last grid point, octets 60-63.</li>
+<li>17: i-direction increment, octets 64-67.</li>
+<li>18: j-direction increment, octets 68-71.</li>
+<li>19: Scanning mode, octet 72.</li>
+</ul>
+<p>Mercator Cyclindrical:</p><ul>
+<li>8: Number of points along a parallel, octs 31-34.</li>
+<li>9: Number of points along a meridian, octs 35-38.</li>
+<li>10: Latitude of first point, octets 39-42.</li>
+<li>11: Longitude of first point, octets 43-46.</li>
+<li>12: Resolution and component flags, octet 47.</li>
+<li>13: Tangent latitude, octets 48-51.</li>
+<li>14: Latitude of last point, octets 52-55.</li>
+<li>15: Longitude of last point, octets 56-59.</li>
+<li>16: Scanning mode flags, octet 60.</li>
+<li>17: Orientation of grid, octets 61-64.</li>
+<li>18: Longitudinal grid length, octets 65-68.</li>
+<li>19: Latitudinal grid length, octets 69-72.</li>
+</ul>
+<p>Lambert Conformal Conical:</p><ul>
+<li>8: Number of points along x-axis, octs 31-34.</li>
+<li>9: Number of points along y-axis, octs 35-38.</li>
+<li>10: Latitude of first point, octets 39-42.</li>
+<li>11: Longitude of first point, octets 43-46.</li>
+<li>12: Resolution of component flag, octet 47.</li>
+<li>13: Latitude where grid lengths specified,octets 48-51.</li>
+<li>14: Longitude of meridian that is parallel to y-axis, octets 52-55.</li>
+<li>15: x-direction grid length, octets 56-59.</li>
+<li>16: y-direction grid length, octets 60-63.</li>
+<li>17: Projection center flag, octet 64.</li>
+<li>18: Scanning mode, octet 65.</li>
+<li>19: First tangent latitude from pole, octets 66-69.</li>
+<li>20: Second tangent latitude from pole, octets 70-73.</li>
+<li>21: Latitude of south pole of projection, octets 74-77.</li>
+<li>22: Longitude of south pole of projection, octets 78-81.</li>
+</ul>
+<p>Gaussian Cylindrical:</p><ul>
+<li>8: Number of points along a parallel, octs 31-34.</li>
+<li>9: Number of points along a meridian, octs 35-38.</li>
+<li>10: Basic angle of initial production domain, octets 39-42.</li>
+<li>11: Subdivisions of basic angle, octets 43-46.</li>
+<li>12: Latitude of first grid point, octets 47-50.</li>
+<li>13: Longitude of first grid point, octets 51-54.</li>
+<li>14: Resolution and component flags, octet 55.</li>
+<li>15: Latitude of last grid point, octets 56-59.</li>
+<li>16: Longitude of last grid point, octets 60-63.</li>
+<li>17: i-direction increment, octets 64-67.</li>
+<li>18: Number of parallels between pole and equator, octets 68-71.</li>
+<li>19: Scanning mode, octet 72.</li>
+</ul>
+<p>Polar Stereographic Azimuthal:</p><ul>
+<li>8: Number of points along x-axis, octets 31-34.</li>
+<li>9: Number of points along y-axis, octets 35-38.</li>
+<li>10: Latitude of first grid point, octets 39-42.</li>
+<li>11: Longitude of first grid point, octets 43-46.</li>
+<li>12: Resolution and component flags, octet 47.</li>
+<li>13: True latitude, octets 48-51.</li>
+<li>14: Orientation longitude, octets 52-55.</li>
+<li>15: x-direction grid length, octets 56-59.</li>
+<li>16: y-direction grid length, octets 60-63.</li>
+<li>17: Projection center flag, octet 64.</li>
+<li>18: Scanning mode flags, octet 65.</li>
+</ul>
+<p>Rotated Equidistant Cyclindrical:</p><ul>
+<li>8: Number of points along a parallel, octs 31-34.</li>
+<li>9: Number of points along a meridian, octs 35-38.</li>
+<li>10: Basic angle of initial production domain, octets 39-42.</li>
+<li>11: Subdivisions of basic angle, octets 43-46.</li>
+<li>12: Latitude of first grid point, octets 47-50.</li>
+<li>13: Longitude of first grid point, octets 51-54.</li>
+<li>14: Resolution and component flags, octet 55.</li>
+<li>15: Latitude of last grid point, octets 56-59.</li>
+<li>16: Longitude of last grid point, octets 60-63.</li>
+<li>17: i-direction increment, octets 64-67.</li>
+<li>18: j-direction increment, octets 68-71.</li>
+<li>19: Scanning mode, octet 72.</li>
+<li>20: Latitude of southern pole of projection, octets 73-76.</li>
+<li>21: Longitude of southern pole of projection, octets 77-80.</li>
+<li>22: Angle of rotation of projection, octs 81-84.</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>Number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00665">665</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="gdswzd__mod_8F90_source.html#l00108">gdswzd_mod::gdswzd_grid()</a>.</p>
+
+</div>
+</div>
+<a id="a8b60240eefdc297eacf90c348b529d31"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8b60240eefdc297eacf90c348b529d31">&#9670;&nbsp;</a></span>gdswzd_2d_array()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd::gdswzd_2d_array </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Decodes the grib 2 grid definition template and returns one of the following (for 2d-arrays): </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>The current code recognizes the following projections, where "igdtnum" is the grid definition template number:</p><ul>
+<li>igdtnum=00 Equidistant Cylindrical</li>
+<li>igdtnum=01 Rotated Equidistant Cylindrical. "E" and non-"E" staggered</li>
+<li>igdtnum=10 Mercator Cyclindrical</li>
+<li>igdtnum=20 Polar Stereographic Azimuthal</li>
+<li>igdtnum=30 Lambert Conformal Conical</li>
+<li>igdtnum=40 Gaussian Equidistant Cyclindrical</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnum</td><td>Grid definition template number.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl</td><td>Grid definition template array. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure. See igdtmpl definition in <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b" title="Decodes the grib 2 grid definition template and returns one of the following:">gdswzd_1d_array()</a> for full details.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>Number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00459">459</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="gdswzd__mod_8F90_source.html#l00668">gdswzd_mod::gdswzd_1d_array()</a>.</p>
+
+</div>
+</div>
+<a id="a7c66a7ede2b644f7e366df9f70b9f0a5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7c66a7ede2b644f7e366df9f70b9f0a5">&#9670;&nbsp;</a></span>gdswzd_2d_array_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd::gdswzd_2d_array_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Decodes the grib grid description section and returns one of the following (for 2-d arrays): </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>kgds(1)=000 Equidistant Cylindrical</li>
+<li>kgds(1)=001 Mercator Cylindrical</li>
+<li>kgds(1)=003 lambert Conformal Conical</li>
+<li>kgds(1)=004 Gaussian Cylindrical</li>
+<li>kgds(1)=005 Polar Stereographic azimuthal</li>
+<li>kgds(1)=203 E-staggered Rotated Equidistant Cylindrical</li>
+<li>kgds(1)=205 B-staggered Rotated Equidistant Cylindrical</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgds</td><td>GDS parameters as decoded by w3fi63. <br  />
+ </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>April 1996 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00850">850</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="gdswzd__mod_8F90_source.html#l00108">gdswzd_mod::gdswzd_grid()</a>.</p>
+
+</div>
+</div>
+<a id="a65b95791813ffd5afbfba9d4cb67676a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a65b95791813ffd5afbfba9d4cb67676a">&#9670;&nbsp;</a></span>gdswzd_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd::gdswzd_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Decodes the grib grid description section and returns one of the following (for 1-d arrays): </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>kgds(1)=000 Equidistant Cylindrical</li>
+<li>kgds(1)=001 Mercator Cylindrical</li>
+<li>kgds(1)=003 lambert Conformal Conical</li>
+<li>kgds(1)=004 Gaussian Cylindrical</li>
+<li>kgds(1)=005 Polar Stereographic azimuthal</li>
+<li>kgds(1)=203 E-staggered Rotated Equidistant Cylindrical</li>
+<li>kgds(1)=205 B-staggered Rotated Equidistant Cylindrical</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgds</td><td>GDS parameters as decoded by w3fi63. <br  />
+ </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>April 1996 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00758">758</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="gdswzd__mod_8F90_source.html#l00108">gdswzd_mod::gdswzd_grid()</a>.</p>
+
+</div>
+</div>
+<a id="abfe059339c6c9f05fd4eadb5d70aec16"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abfe059339c6c9f05fd4eadb5d70aec16">&#9670;&nbsp;</a></span>gdswzd_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd::gdswzd_grid </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns one of the following for a grid object: </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid</td><td>Grid to call gdswzd on.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00105">105</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1fc841ec08d39463b3f5f36eac0068cd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fc841ec08d39463b3f5f36eac0068cd">&#9670;&nbsp;</a></span>gdswzd_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd::gdswzd_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Decodes the grib 2 grid definition template and returns one of the following (for scalars): </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>The current code recognizes the following projections, where "igdtnum" is the grid definition template number:</p><ul>
+<li>igdtnum=00 Equidistant Cylindrical</li>
+<li>igdtnum=01 Rotated Equidistant Cylindrical. "E" and non-"E" staggered</li>
+<li>igdtnum=10 Mercator Cyclindrical</li>
+<li>igdtnum=20 Polar Stereographic Azimuthal</li>
+<li>igdtnum=30 Lambert Conformal Conical</li>
+<li>igdtnum=40 Gaussian Equidistant Cyclindrical</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnum</td><td>Grid definition template number.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl</td><td>Grid definition template array. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure See igdtmpl definition in <a class="el" href="interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b" title="Decodes the grib 2 grid definition template and returns one of the following:">gdswzd_1d_array()</a> for full details.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>Number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00278">278</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="gdswzd__mod_8F90_source.html#l00668">gdswzd_mod::gdswzd_1d_array()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacegdswzd__mod.html">gdswzd_mod</a></li><li class="navelem"><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.js b/ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.js
new file mode 100644
index 00000000..46bd3363
--- /dev/null
+++ b/ver-4.4.0/interfacegdswzd__mod_1_1gdswzd.js
@@ -0,0 +1,9 @@
+var interfacegdswzd__mod_1_1gdswzd =
+[
+    [ "gdswzd_1d_array", "interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b", null ],
+    [ "gdswzd_2d_array", "interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31", null ],
+    [ "gdswzd_2d_array_grib1", "interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5", null ],
+    [ "gdswzd_grib1", "interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a", null ],
+    [ "gdswzd_grid", "interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16", null ],
+    [ "gdswzd_scalar", "interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1init__descriptor.html b/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1init__descriptor.html
new file mode 100644
index 00000000..4cbe1cb2
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1init__descriptor.html
@@ -0,0 +1,214 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_descriptor_mod::init_descriptor Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceip__grid__descriptor__mod_1_1init__descriptor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_descriptor_mod::init_descriptor Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a3b5b267aa7a17a4615dcc0cb4e590f6e"><td class="memItemLeft" align="right" valign="top">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e">init_grib1_descriptor</a> (gds)</td></tr>
+<tr class="memdesc:a3b5b267aa7a17a4615dcc0cb4e590f6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize grib-1 descriptor from integer grid definition section (GDS).  <a href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e">More...</a><br /></td></tr>
+<tr class="separator:a3b5b267aa7a17a4615dcc0cb4e590f6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6702c4bf3a3d914e5cd2fce8fba4f95c"><td class="memItemLeft" align="right" valign="top">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c">init_grib2_descriptor</a> (gdt_num, gdt_len, gdt_tmpl)</td></tr>
+<tr class="memdesc:a6702c4bf3a3d914e5cd2fce8fba4f95c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize grib-2 descriptor from integer grid definition template (GDT).  <a href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c">More...</a><br /></td></tr>
+<tr class="separator:a6702c4bf3a3d914e5cd2fce8fba4f95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00060">60</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a3b5b267aa7a17a4615dcc0cb4e590f6e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3b5b267aa7a17a4615dcc0cb4e590f6e">&#9670;&nbsp;</a></span>init_grib1_descriptor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) function ip_grid_descriptor_mod::init_descriptor::init_grib1_descriptor </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(:), intent(in)&#160;</td>
+          <td class="paramname"><em>gds</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initialize grib-1 descriptor from integer grid definition section (GDS). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">gds</td><td>Grib-1 grid definition section.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Initialized Grib-1 descriptor.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00074">74</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a6702c4bf3a3d914e5cd2fce8fba4f95c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6702c4bf3a3d914e5cd2fce8fba4f95c">&#9670;&nbsp;</a></span>init_grib2_descriptor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) function ip_grid_descriptor_mod::init_descriptor::init_grib2_descriptor </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>gdt_num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>gdt_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(:), intent(in)&#160;</td>
+          <td class="paramname"><em>gdt_tmpl</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initialize grib-2 descriptor from integer grid definition template (GDT). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">gdt_num</td><td>Grib-2 grid number. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gdt_len</td><td>Lenght of the grid definition template. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gdt_tmpl</td><td>Grib-2 grid definition template.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Initialized Grib-2 descriptor.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00093">93</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></li><li class="navelem"><a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1init__descriptor.js b/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1init__descriptor.js
new file mode 100644
index 00000000..ffaab030
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1init__descriptor.js
@@ -0,0 +1,5 @@
+var interfaceip__grid__descriptor__mod_1_1init__descriptor =
+[
+    [ "init_grib1_descriptor", "interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e", null ],
+    [ "init_grib2_descriptor", "interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html b/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html
new file mode 100644
index 00000000..3c953ad4
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_descriptor_mod::operator(==) Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_descriptor_mod::operator(==) Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a34e94f8aada186a3d22112a1ab31b53c"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c">is_same_grid</a> (grid1, grid2)</td></tr>
+<tr class="memdesc:a34e94f8aada186a3d22112a1ab31b53c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grid descriptors are the same.  <a href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c">More...</a><br /></td></tr>
+<tr class="separator:a34e94f8aada186a3d22112a1ab31b53c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a34e94f8aada186a3d22112a1ab31b53c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a34e94f8aada186a3d22112a1ab31b53c">&#9670;&nbsp;</a></span>is_same_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">logical function ip_grid_descriptor_mod::operator(==)::is_same_grid </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Test whether two grid descriptors are the same. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid1</td><td>An <a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" title="Abstract descriptor object which represents a grib1 or grib2 descriptor.">ip_grid_descriptor</a>. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid2</td><td>Another <a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" title="Abstract descriptor object which represents a grib1 or grib2 descriptor.">ip_grid_descriptor</a>.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the grids are the same, false if they are not.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00115">115</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00116">ip_grid_descriptor_mod::is_same_grid()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></li><li class="navelem"><a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html">operator(==)</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.js b/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.js
new file mode 100644
index 00000000..faf96850
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.js
@@ -0,0 +1,4 @@
+var interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08 =
+[
+    [ "is_same_grid", "interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceip__grid__factory__mod_1_1init__grid.html b/ver-4.4.0/interfaceip__grid__factory__mod_1_1init__grid.html
new file mode 100644
index 00000000..b5e54a4b
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__factory__mod_1_1init__grid.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_factory_mod::init_grid Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceip__grid__factory__mod_1_1init__grid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_factory_mod::init_grid Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a3fbbec3ddc7dfd918c2abc02e7a4cd72"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72">init_grid_generic</a> (grid, grid_desc)</td></tr>
+<tr class="memdesc:a3fbbec3ddc7dfd918c2abc02e7a4cd72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polymorphic ip_grid object from an ip_grid_descriptor.  <a href="interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72">More...</a><br /></td></tr>
+<tr class="separator:a3fbbec3ddc7dfd918c2abc02e7a4cd72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00020">20</a> of file <a class="el" href="ip__grid__factory__mod_8F90_source.html">ip_grid_factory_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a3fbbec3ddc7dfd918c2abc02e7a4cd72"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3fbbec3ddc7dfd918c2abc02e7a4cd72">&#9670;&nbsp;</a></span>init_grid_generic()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_grid_factory_mod::init_grid::init_grid_generic </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(out), allocatable&#160;</td>
+          <td class="paramname"><em>grid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a polymorphic ip_grid object from an ip_grid_descriptor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">grid</td><td>Grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_desc</td><td>Grid descriptor created from a grib1/grib2 template.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00033">33</a> of file <a class="el" href="ip__grid__factory__mod_8F90_source.html">ip_grid_factory_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00054">ip_grid_factory_mod::init_grid_grib1()</a>, and <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00090">ip_grid_factory_mod::init_grid_grib2()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__factory__mod_8F90_source.html">ip_grid_factory_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></li><li class="navelem"><a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceip__grid__factory__mod_1_1init__grid.js b/ver-4.4.0/interfaceip__grid__factory__mod_1_1init__grid.js
new file mode 100644
index 00000000..da9790e1
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__factory__mod_1_1init__grid.js
@@ -0,0 +1,4 @@
+var interfaceip__grid__factory__mod_1_1init__grid =
+[
+    [ "init_grid_generic", "interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceip__grid__mod_1_1gdswzd__interface.html b/ver-4.4.0/interfaceip__grid__mod_1_1gdswzd__interface.html
new file mode 100644
index 00000000..965c4a4a
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__mod_1_1gdswzd__interface.html
@@ -0,0 +1,266 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_mod::gdswzd_interface Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceip__grid__mod_1_1gdswzd__interface.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_mod::gdswzd_interface Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:af34c5d9da54a36322bb1a141217c6369"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369">gdswzd_interface</a> (self, iopt, npts, fill, xpts, ypts, rlon, rlat, nret, crot, srot, xlon, xlat, ylon, ylat, area)</td></tr>
+<tr class="memdesc:af34c5d9da54a36322bb1a141217c6369"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.  <a href="interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369">More...</a><br /></td></tr>
+<tr class="separator:af34c5d9da54a36322bb1a141217c6369"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00119">119</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="af34c5d9da54a36322bb1a141217c6369"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af34c5d9da54a36322bb1a141217c6369">&#9670;&nbsp;</a></span>gdswzd_interface()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">ip_grid_mod::gdswzd_interface::gdswzd_interface </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>iopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>npts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>fill</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>xpts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>ypts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>nret</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>xlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>xlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>ylon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>ylat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>area</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td><a class="el" href="namespaceip__grid__mod.html" title="Abstract ip_grid type.">ip_grid_mod</a> object. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>option flag<ul>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>maximum number of coordinates </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>(npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>(npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>number of valid points computed </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>optional (npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>optional (npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>optional (npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>optional (npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>optional (npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>optional (npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>optional (npts) area weights in m**2 (proportional to the square of the map factor)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00119">119</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a></li><li class="navelem"><a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html">gdswzd_interface</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceip__grid__mod_1_1gdswzd__interface.js b/ver-4.4.0/interfaceip__grid__mod_1_1gdswzd__interface.js
new file mode 100644
index 00000000..f9cb65f6
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__mod_1_1gdswzd__interface.js
@@ -0,0 +1,4 @@
+var interfaceip__grid__mod_1_1gdswzd__interface =
+[
+    [ "gdswzd_interface", "interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceip__grid__mod_1_1init__grib1__interface.html b/ver-4.4.0/interfaceip__grid__mod_1_1init__grib1__interface.html
new file mode 100644
index 00000000..0f60f2f6
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__mod_1_1init__grib1__interface.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_mod::init_grib1_interface Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceip__grid__mod_1_1init__grib1__interface.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_mod::init_grib1_interface Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a47e255b76f02fe58a1aebdadcc5894eb"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb">init_grib1_interface</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a47e255b76f02fe58a1aebdadcc5894eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init GRIB1 interface.  <a href="interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb">More...</a><br /></td></tr>
+<tr class="separator:a47e255b76f02fe58a1aebdadcc5894eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00142">142</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a47e255b76f02fe58a1aebdadcc5894eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a47e255b76f02fe58a1aebdadcc5894eb">&#9670;&nbsp;</a></span>init_grib1_interface()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">ip_grid_mod::init_grib1_interface::init_grib1_interface </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init GRIB1 interface. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td><a class="el" href="namespaceip__grid__mod.html" title="Abstract ip_grid type.">ip_grid_mod</a> object. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td>GRIB1 descriptor.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00142">142</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a></li><li class="navelem"><a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html">init_grib1_interface</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceip__grid__mod_1_1init__grib1__interface.js b/ver-4.4.0/interfaceip__grid__mod_1_1init__grib1__interface.js
new file mode 100644
index 00000000..4ed1637f
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__mod_1_1init__grib1__interface.js
@@ -0,0 +1,4 @@
+var interfaceip__grid__mod_1_1init__grib1__interface =
+[
+    [ "init_grib1_interface", "interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceip__grid__mod_1_1init__grib2__interface.html b/ver-4.4.0/interfaceip__grid__mod_1_1init__grib2__interface.html
new file mode 100644
index 00000000..5754b37f
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__mod_1_1init__grib2__interface.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_mod::init_grib2_interface Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceip__grid__mod_1_1init__grib2__interface.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_mod::init_grib2_interface Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a25dcec4470effb9b20dfc7981c21ec6c"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c">init_grib2_interface</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:a25dcec4470effb9b20dfc7981c21ec6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init GRIB2 interface.  <a href="interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c">More...</a><br /></td></tr>
+<tr class="separator:a25dcec4470effb9b20dfc7981c21ec6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00156">156</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a25dcec4470effb9b20dfc7981c21ec6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25dcec4470effb9b20dfc7981c21ec6c">&#9670;&nbsp;</a></span>init_grib2_interface()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">ip_grid_mod::init_grib2_interface::init_grib2_interface </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init GRIB2 interface. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td><a class="el" href="namespaceip__grid__mod.html" title="Abstract ip_grid type.">ip_grid_mod</a> object. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>GRIB2 descriptor.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00156">156</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a></li><li class="navelem"><a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html">init_grib2_interface</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceip__grid__mod_1_1init__grib2__interface.js b/ver-4.4.0/interfaceip__grid__mod_1_1init__grib2__interface.js
new file mode 100644
index 00000000..64ba9730
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__mod_1_1init__grib2__interface.js
@@ -0,0 +1,4 @@
+var interfaceip__grid__mod_1_1init__grib2__interface =
+[
+    [ "init_grib2_interface", "interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceip__grid__mod_1_1operator_07_0a_0a_08.html b/ver-4.4.0/interfaceip__grid__mod_1_1operator_07_0a_0a_08.html
new file mode 100644
index 00000000..2c709072
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__mod_1_1operator_07_0a_0a_08.html
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_mod::operator(==) Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceip__grid__mod_1_1operator_07_0a_0a_08.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_mod::operator(==) Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Check equality.  
+ <a href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a0303cd13db74e096af7f77200ef09c6b"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b">is_same_grid</a> (grid1, grid2)</td></tr>
+<tr class="memdesc:a0303cd13db74e096af7f77200ef09c6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two grids.  <a href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b">More...</a><br /></td></tr>
+<tr class="separator:a0303cd13db74e096af7f77200ef09c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Check equality. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00166">166</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a0303cd13db74e096af7f77200ef09c6b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0303cd13db74e096af7f77200ef09c6b">&#9670;&nbsp;</a></span>is_same_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">logical function ip_grid_mod::operator(==)::is_same_grid </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compares two grids. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid1</td><td>An <a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a> </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid2</td><td>Another <a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the grids are the same, false if not.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00182">182</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00116">ip_grid_descriptor_mod::is_same_grid()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a></li><li class="navelem"><a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html">operator(==)</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceip__grid__mod_1_1operator_07_0a_0a_08.js b/ver-4.4.0/interfaceip__grid__mod_1_1operator_07_0a_0a_08.js
new file mode 100644
index 00000000..ef540651
--- /dev/null
+++ b/ver-4.4.0/interfaceip__grid__mod_1_1operator_07_0a_0a_08.js
@@ -0,0 +1,4 @@
+var interfaceip__grid__mod_1_1operator_07_0a_0a_08 =
+[
+    [ "is_same_grid", "interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceipolates__mod_1_1ipolates.html b/ver-4.4.0/interfaceipolates__mod_1_1ipolates.html
new file mode 100644
index 00000000..8c50a5d2
--- /dev/null
+++ b/ver-4.4.0/interfaceipolates__mod_1_1ipolates.html
@@ -0,0 +1,1221 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipolates_mod::ipolates Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceipolates__mod_1_1ipolates.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ipolates_mod::ipolates Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a8ff62af694c759f29c332836ff66437b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b">ipolates_grib1</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</td></tr>
+<tr class="memdesc:a8ff62af694c759f29c332836ff66437b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates scalar field from any grid to any grid given a grib1 Grid Descriptor Section.  <a href="interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b">More...</a><br /></td></tr>
+<tr class="separator:a8ff62af694c759f29c332836ff66437b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afbc36431f96adfbbf552bc6137d0519d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d">ipolates_grib1_single_field</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</td></tr>
+<tr class="memdesc:afbc36431f96adfbbf552bc6137d0519d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special case of ipolates_grib1 when interpolating a single field.  <a href="interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d">More...</a><br /></td></tr>
+<tr class="separator:afbc36431f96adfbbf552bc6137d0519d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a791ae0a257adcc3a789494489e28302b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b">ipolates_grib2</a> (IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a791ae0a257adcc3a789494489e28302b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates scalar field from any grid to any grid given a grib2 descriptor.  <a href="interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b">More...</a><br /></td></tr>
+<tr class="separator:a791ae0a257adcc3a789494489e28302b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3a77b7de2dce406829a3b01689372240"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240">ipolates_grib2_single_field</a> (IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a3a77b7de2dce406829a3b01689372240"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special case of ipolates_grib2 when interpolating a single field.  <a href="interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240">More...</a><br /></td></tr>
+<tr class="separator:a3a77b7de2dce406829a3b01689372240"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00023">23</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a8ff62af694c759f29c332836ff66437b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8ff62af694c759f29c332836ff66437b">&#9670;&nbsp;</a></span>ipolates_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolates_mod::ipolates::ipolates_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>kgdsi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>kgdso</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>gi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(inout)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>go</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates scalar field from any grid to any grid given a grib1 Grid Descriptor Section. </p>
+<p>Only horizontal interpolation is performed. The following interpolation methods are possible:</p><ul>
+<li>(ip=0) bilinear</li>
+<li>(ip=1) bicubic</li>
+<li>(ip=2) neighbor</li>
+<li>(ip=3) budget</li>
+<li>(ip=4) spectral</li>
+<li>(ip=6) neighbor-budget</li>
+</ul>
+<p>Some of these methods have interpolation options and/or restrictions on the input or output grids, both of which are documented more fully in their respective subprograms.</p>
+<p>The grids are defined by their grid description sections (passed in integer form as decoded by subprogram w3fi63).</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>(kgds(1)=000) equidistant cylindrical</li>
+<li>(kgds(1)=001) mercator cylindrical</li>
+<li>(kgds(1)=003) lambert conformal conical</li>
+<li>(kgds(1)=004) gaussian cylindrical</li>
+<li>(kgds(1)=005) polar stereographic azimuthal</li>
+<li>(kgds(1)=203) rotated equidistant cylindrical - e-stagger</li>
+<li>(kgds(1)=205) rotated equidistant cylindrical - b-stagger</li>
+</ul>
+<p>Where kgds could be either input kgdsi or output kgdso.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned.</p>
+<p>On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input. for the budget approach, a subsection of the grid may be output by subtracting kgdso(1) from 255 and passing in the latitudes and longitudes of the points. Input bitmaps will be interpolated to output bitmaps.</p>
+<p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip = BILINEAR_INTERP_ID = 0 for bilinear</li>
+<li>ip = BICUBIC_INTERP_ID = 1 for bicubic</li>
+<li>ip = NEIGHBOR_INTERP_ID = 2 for neighbor;</li>
+<li>ip = BUDGET_INTERP_ID = 3 for budget;</li>
+<li>ip = SPECTRAL_INTERP_ID = 4 for spectral;</li>
+<li>ip = NEIGHBOR_BUDGET_INTERP_ID = 6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0 (bilinear): (No options)</li>
+<li>ip=1 Cbicubic): constraint option</li>
+<li>ip=2 (neighbor): (No options)</li>
+<li>ip=3 (budget): Number in radius, radius weights, search radius</li>
+<li>ip=4 (spectral): Spectral shape, spectral truncation</li>
+<li>ip=6 (neighbor-budget): Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>Input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>Output gds parameters. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00293">293</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>.</p>
+
+</div>
+</div>
+<a id="afbc36431f96adfbbf552bc6137d0519d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afbc36431f96adfbbf552bc6137d0519d">&#9670;&nbsp;</a></span>ipolates_grib1_single_field()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolates_mod::ipolates::ipolates_grib1_single_field </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>kgdsi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>kgdso</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>gi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(inout)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>go</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Special case of ipolates_grib1 when interpolating a single field. </p>
+<p>Removes the km dimension of input arrays so scalars can be passed to ibi/ibo.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip = BILINEAR_INTERP_ID = 0 for bilinear</li>
+<li>ip = BICUBIC_INTERP_ID = 1 for bicubic</li>
+<li>ip = NEIGHBOR_INTERP_ID = 2 for neighbor;</li>
+<li>ip = BUDGET_INTERP_ID = 3 for budget;</li>
+<li>ip = SPECTRAL_INTERP_ID = 4 for spectral;</li>
+<li>ip = NEIGHBOR_BUDGET_INTERP_ID = 6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0 (bilinear): (No options)</li>
+<li>ip=1 Cbicubic): constraint option</li>
+<li>ip=2 (neighbor): (No options)</li>
+<li>ip=3 (budget): Number in radius, radius weights, search radius</li>
+<li>ip=4 (spectral): Spectral shape, spectral truncation</li>
+<li>ip=6 (neighbor-budget): Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>Input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>Output gds parameters. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2022 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00158">158</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>.</p>
+
+</div>
+</div>
+<a id="a791ae0a257adcc3a789494489e28302b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a791ae0a257adcc3a789494489e28302b">&#9670;&nbsp;</a></span>ipolates_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolates_mod::ipolates::ipolates_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates scalar field from any grid to any grid given a grib2 descriptor. </p>
+<p>Wrapper for ipolates_grid which converts a grib1 descriptor into an ip_grid_descriptor, which is used to create an ip_grid. Only horizontal interpolation is performed.</p>
+<p>The following interpolation methods are possible:</p><ul>
+<li>(ip=0) bilinear</li>
+<li>(ip=1) bicubic</li>
+<li>(ip=2) neighbor</li>
+<li>(ip=3) budget</li>
+<li>(ip=4) spectral</li>
+<li>(ip=6) neighbor-budget</li>
+</ul>
+<p>Some of these methods have interpolation options and/or restrictions on the input or output grids, both of which are documented more fully in their respective subprograms.</p>
+<p>Input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library. The current code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned.</p>
+<p>On the other hand, data may be interpolated to a set of station points if "igdtnumo"&lt;0 (or subtracted from 255 for the budget option), in which case the number of points and their latitudes and longitudes must be input.</p>
+<p>Input bitmaps will be interpolated to output bitmaps. Output bitmaps will also be created when the output grid extends outside of the domain of the input grid.</p>
+<p>The output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip=0 for bilinear</li>
+<li>ip=1 for bicubic</li>
+<li>ip=2 for neighbor;</li>
+<li>ip=3 for budget;</li>
+<li>ip=4 for spectral;</li>
+<li>ip=6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0: (No options)</li>
+<li>ip=1: Constraint option</li>
+<li>ip=2: (No options)</li>
+<li>ip=3: Number in radius, radius weights, search radius</li>
+<li>ip=4: Spectral shape, spectral truncation</li>
+<li>ip=6: Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>Grid definition template number for the input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - EQUIDISTANT CYLINDRICAL</li>
+<li>01 - Rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - MERCATOR CYCLINDRICAL</li>
+<li>20 - POLAR STEREOGRAPHIC AZIMUTHAL</li>
+<li>30 - LAMBERT CONFORMAL CONICAL</li>
+<li>40 - GAUSSIAN EQUIDISTANT CYCLINDRICAL</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>Grid definition template array input grid. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Section 3 Info:</p>
+<p>All map projections:</p><ul>
+<li>(1): SHAPE OF EARTH, OCTET 15</li>
+<li>(2): SCALE FACTOR OF SPHERICAL EARTH RADIUS, OCTET 16</li>
+<li>(3): SCALED VALUE OF RADIUS OF SPHERICAL EARTH, OCTETS 17-20</li>
+<li>(4): SCALE FACTOR OF MAJOR AXIS OF ELLIPTICAL EARTH, OCTET 21</li>
+<li>(5): SCALED VALUE OF MAJOR AXIS OF ELLIPTICAL EARTH, OCTETS 22-25</li>
+<li>(6): SCALE FACTOR OF MINOR AXIS OF ELLIPTICAL EARTH, OCTET 26</li>
+<li>(7): SCALED VALUE OF MINOR AXIS OF ELLIPTICAL EARTH, OCTETS 27-30</li>
+</ul>
+<p>Equidistant Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42.</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): J-DIRECTION INCREMENT, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+</ul>
+<p>Mercator Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): LATITUDE OF FIRST POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION AND COMPONENT FLAGS, OCTET 47</li>
+<li>(13): TANGENT LATITUDE, OCTETS 48-51</li>
+<li>(14): LATITUDE OF LAST POINT, OCTETS 52-55</li>
+<li>(15): LONGITUDE OF LAST POINT, OCTETS 56-59</li>
+<li>(16): SCANNING MODE FLAGS, OCTET 60</li>
+<li>(17): ORIENTATION OF GRID, OCTETS 61-64</li>
+<li>(18): LONGITUDINAL GRID LENGTH, OCTETS 65-68</li>
+<li>(19): LATITUDINAL GRID LENGTH, OCTETS 69-72</li>
+</ul>
+<p>Lambert Conformal Conical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG X-AXIS, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG Y-AXIS, OCTS 35-38</li>
+<li>(10): LATITUDE OF FIRST POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION OF COMPONENT FLAG, OCTET 47</li>
+<li>(13): LATITUDE WHERE GRID LENGTHS SPECIFIED,OCTETS 48-51</li>
+<li>(14): LONGITUDE OF MERIDIAN THAT IS PARALLEL TO Y-AXIS, OCTETS 52-55</li>
+<li>(15): X-DIRECTION GRID LENGTH, OCTETS 56-59</li>
+<li>(16): Y-DIRECTION GRID LENGTH, OCTETS 60-63</li>
+<li>(17): PROJECTION CENTER FLAG, OCTET 64</li>
+<li>(18): SCANNING MODE, OCTET 65</li>
+<li>(19): FIRST TANGENT LATITUDE FROM POLE, OCTETS 66-69</li>
+<li>(20): SECOND TANGENT LATITUDE FROM POLE, OCTETS 70-73</li>
+<li>(21): LATITUDE OF SOUTH POLE OF PROJECTION, OCTETS 74-77</li>
+<li>(22): LONGITUDE OF SOUTH POLE OF PROJECTION, OCTETS 78-81</li>
+</ul>
+<p>Gaussian Cylindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): NUMBER OF PARALLELS BETWEEN POLE AND EQUATOR, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+</ul>
+<p>Polar Stereographic Azimuthal:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG X-AXIS, OCTETS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG Y-AXIS, OCTETS 35-38</li>
+<li>(10): LATITUDE OF FIRST GRID POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST GRID POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION AND COMPONENT FLAGS, OCTET 47</li>
+<li>(13): TRUE LATITUDE, OCTETS 48-51</li>
+<li>(14): ORIENTATION LONGITUDE, OCTETS 52-55</li>
+<li>(15): X-DIRECTION GRID LENGTH, OCTETS 56-59</li>
+<li>(16): Y-DIRECTION GRID LENGTH, OCTETS 60-63</li>
+<li>(17): PROJECTION CENTER FLAG, OCTET 64</li>
+<li>(18): SCANNING MODE FLAGS, OCTET 65</li>
+</ul>
+<p>Rotated Equidistant Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): J-DIRECTION INCREMENT, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+<li>(20): LATITUDE OF SOUTHERN POLE OF PROJECTION, OCTETS 73-76</li>
+<li>(21): LONGITUDE OF SOUTHERN POLE OF PROJECTION, OCTETS 77-80</li>
+<li>(22): ANGLE OF ROTATION OF PROJECTION, OCTS 81-84</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>Number of elements of the grid definition template array for the input grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>Grid definition template number for the output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. See "igdtnumi" for specific template definitions. Note: igdtnumo&lt;0 means interpolate to random station points.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>Grid definition template array for the output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. See "igdtmpli" for definition of array elements.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>Number of elements of the grid definition template array for the output grid. c Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>Examples demonstrating relative cpu costs. This example is interpolating 12 levels of temperatures from the 360 x 181 global grid (ncep grid 3) to the 93 x 68 hawaiian mercator grid (ncep grid 204).</dd></dl>
+<p>The example times are for the c90. As a reference, the cp time for unpacking the global 12 temperature fields is 0.04 seconds.</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.03    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.07    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.07    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.01    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.48    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">0.22    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">0.24    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">0.42    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.15   </td></tr>
+</table>
+<p>The spectral interpolation is fast for the mercator grid. However, for some grids the spectral interpolation is slow.</p>
+<p>The following example is interpolating 12 levels of temperatures from the 360 x 181 global grid (ncep grid 3) to the 93 x 65 conus lambert conformal grid (ncep grid 211).</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.03    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.07    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.07    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.01    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.51    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">3.94    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">5.02    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">11.36    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.18   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00587">587</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>.</p>
+
+</div>
+</div>
+<a id="a3a77b7de2dce406829a3b01689372240"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3a77b7de2dce406829a3b01689372240">&#9670;&nbsp;</a></span>ipolates_grib2_single_field()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolates_mod::ipolates::ipolates_grib2_single_field </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Special case of ipolates_grib2 when interpolating a single field. </p>
+<p>Removes the km dimension of input arrays so scalars can be passed to ibi/ibo.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip=0 for bilinear</li>
+<li>ip=1 for bicubic</li>
+<li>ip=2 for neighbor;</li>
+<li>ip=3 for budget;</li>
+<li>ip=4 for spectral;</li>
+<li>ip=6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0: (No options)</li>
+<li>ip=1: Constraint option</li>
+<li>ip=2: (No options)</li>
+<li>ip=3: Number in radius, radius weights, search radius</li>
+<li>ip=4: Spectral shape, spectral truncation</li>
+<li>ip=6: Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>Grid definition template number for the input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - EQUIDISTANT CYLINDRICAL</li>
+<li>01 - Rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - MERCATOR CYCLINDRICAL</li>
+<li>20 - POLAR STEREOGRAPHIC AZIMUTHAL</li>
+<li>30 - LAMBERT CONFORMAL CONICAL</li>
+<li>40 - GAUSSIAN EQUIDISTANT CYCLINDRICAL</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>Grid definition template array input grid. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Section 3 Info:</p>
+<p>All map projections:</p><ul>
+<li>(1): SHAPE OF EARTH, OCTET 15</li>
+<li>(2): SCALE FACTOR OF SPHERICAL EARTH RADIUS, OCTET 16</li>
+<li>(3): SCALED VALUE OF RADIUS OF SPHERICAL EARTH, OCTETS 17-20</li>
+<li>(4): SCALE FACTOR OF MAJOR AXIS OF ELLIPTICAL EARTH, OCTET 21</li>
+<li>(5): SCALED VALUE OF MAJOR AXIS OF ELLIPTICAL EARTH, OCTETS 22-25</li>
+<li>(6): SCALE FACTOR OF MINOR AXIS OF ELLIPTICAL EARTH, OCTET 26</li>
+<li>(7): SCALED VALUE OF MINOR AXIS OF ELLIPTICAL EARTH, OCTETS 27-30</li>
+</ul>
+<p>Equidistant Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42.</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): J-DIRECTION INCREMENT, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+</ul>
+<p>Mercator Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): LATITUDE OF FIRST POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION AND COMPONENT FLAGS, OCTET 47</li>
+<li>(13): TANGENT LATITUDE, OCTETS 48-51</li>
+<li>(14): LATITUDE OF LAST POINT, OCTETS 52-55</li>
+<li>(15): LONGITUDE OF LAST POINT, OCTETS 56-59</li>
+<li>(16): SCANNING MODE FLAGS, OCTET 60</li>
+<li>(17): ORIENTATION OF GRID, OCTETS 61-64</li>
+<li>(18): LONGITUDINAL GRID LENGTH, OCTETS 65-68</li>
+<li>(19): LATITUDINAL GRID LENGTH, OCTETS 69-72</li>
+</ul>
+<p>Lambert Conformal Conical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG X-AXIS, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG Y-AXIS, OCTS 35-38</li>
+<li>(10): LATITUDE OF FIRST POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION OF COMPONENT FLAG, OCTET 47</li>
+<li>(13): LATITUDE WHERE GRID LENGTHS SPECIFIED,OCTETS 48-51</li>
+<li>(14): LONGITUDE OF MERIDIAN THAT IS PARALLEL TO Y-AXIS, OCTETS 52-55</li>
+<li>(15): X-DIRECTION GRID LENGTH, OCTETS 56-59</li>
+<li>(16): Y-DIRECTION GRID LENGTH, OCTETS 60-63</li>
+<li>(17): PROJECTION CENTER FLAG, OCTET 64</li>
+<li>(18): SCANNING MODE, OCTET 65</li>
+<li>(19): FIRST TANGENT LATITUDE FROM POLE, OCTETS 66-69</li>
+<li>(20): SECOND TANGENT LATITUDE FROM POLE, OCTETS 70-73</li>
+<li>(21): LATITUDE OF SOUTH POLE OF PROJECTION, OCTETS 74-77</li>
+<li>(22): LONGITUDE OF SOUTH POLE OF PROJECTION, OCTETS 78-81</li>
+</ul>
+<p>Gaussian Cylindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): NUMBER OF PARALLELS BETWEEN POLE AND EQUATOR, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+</ul>
+<p>Polar Stereographic Azimuthal:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG X-AXIS, OCTETS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG Y-AXIS, OCTETS 35-38</li>
+<li>(10): LATITUDE OF FIRST GRID POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST GRID POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION AND COMPONENT FLAGS, OCTET 47</li>
+<li>(13): TRUE LATITUDE, OCTETS 48-51</li>
+<li>(14): ORIENTATION LONGITUDE, OCTETS 52-55</li>
+<li>(15): X-DIRECTION GRID LENGTH, OCTETS 56-59</li>
+<li>(16): Y-DIRECTION GRID LENGTH, OCTETS 60-63</li>
+<li>(17): PROJECTION CENTER FLAG, OCTET 64</li>
+<li>(18): SCANNING MODE FLAGS, OCTET 65</li>
+</ul>
+<p>Rotated Equidistant Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): J-DIRECTION INCREMENT, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+<li>(20): LATITUDE OF SOUTHERN POLE OF PROJECTION, OCTETS 73-76</li>
+<li>(21): LONGITUDE OF SOUTHERN POLE OF PROJECTION, OCTETS 77-80</li>
+<li>(22): ANGLE OF ROTATION OF PROJECTION, OCTS 81-84</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>Number of elements of the grid definition template array for the input grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>Grid definition template number for the output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. See "igdtnumi" for specific template definitions. Note: igdtnumo&lt;0 means interpolate to random station points.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>Grid definition template array for the output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. See "igdtmpli" for definition of array elements.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>Number of elements of the grid definition template array for the output grid. c Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>November 2022 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00808">808</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="ipolates_8F90_source.html">ipolates.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceipolates__mod.html">ipolates_mod</a></li><li class="navelem"><a class="el" href="interfaceipolates__mod_1_1ipolates.html">ipolates</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceipolates__mod_1_1ipolates.js b/ver-4.4.0/interfaceipolates__mod_1_1ipolates.js
new file mode 100644
index 00000000..1b23bd7c
--- /dev/null
+++ b/ver-4.4.0/interfaceipolates__mod_1_1ipolates.js
@@ -0,0 +1,7 @@
+var interfaceipolates__mod_1_1ipolates =
+[
+    [ "ipolates_grib1", "interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b", null ],
+    [ "ipolates_grib1_single_field", "interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d", null ],
+    [ "ipolates_grib2", "interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b", null ],
+    [ "ipolates_grib2_single_field", "interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceipolatev__mod_1_1ipolatev.html b/ver-4.4.0/interfaceipolatev__mod_1_1ipolatev.html
new file mode 100644
index 00000000..81b087f9
--- /dev/null
+++ b/ver-4.4.0/interfaceipolatev__mod_1_1ipolatev.html
@@ -0,0 +1,1277 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipolatev_mod::ipolatev Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceipolatev__mod_1_1ipolatev.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ipolatev_mod::ipolatev Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac721867d3d8e8adc11d56baba4702d53"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53">ipolatev_grib1</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:ac721867d3d8e8adc11d56baba4702d53"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates vector field from any grid to any grid given a grib1 Grid Descriptor Section.  <a href="interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53">More...</a><br /></td></tr>
+<tr class="separator:ac721867d3d8e8adc11d56baba4702d53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad211b25631afd3fd7c04bbfba589a7c5"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5">ipolatev_grib1_single_field</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:ad211b25631afd3fd7c04bbfba589a7c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special case of ipolatev_grib1 when interpolating a single field.  <a href="interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5">More...</a><br /></td></tr>
+<tr class="separator:ad211b25631afd3fd7c04bbfba589a7c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1ec04e3119f285f0f3955f016926efe"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe">ipolatev_grib2</a> (ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:ac1ec04e3119f285f0f3955f016926efe"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor.  <a href="interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe">More...</a><br /></td></tr>
+<tr class="separator:ac1ec04e3119f285f0f3955f016926efe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0af88a9ccef79a921680fe40ec30ccd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd">ipolatev_grib2_single_field</a> (ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:aa0af88a9ccef79a921680fe40ec30ccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor.  <a href="interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd">More...</a><br /></td></tr>
+<tr class="separator:aa0af88a9ccef79a921680fe40ec30ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00021">21</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac721867d3d8e8adc11d56baba4702d53"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac721867d3d8e8adc11d56baba4702d53">&#9670;&nbsp;</a></span>ipolatev_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolatev_mod::ipolatev::ipolatev_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(inout)&#160;</td>
+          <td class="paramname"><em>kgdsi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(inout)&#160;</td>
+          <td class="paramname"><em>kgdso</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates vector field from any grid to any grid given a grib1 Grid Descriptor Section. </p>
+<p>Only horizontal interpolation is performed. The following interpolation methods are possible:</p><ul>
+<li>(ip=0) bilinear</li>
+<li>(ip=1) bicubic</li>
+<li>(ip=2) neighbor</li>
+<li>(ip=3) budget</li>
+<li>(ip=4) spectral</li>
+<li>(ip=6) neighbor-budget</li>
+</ul>
+<p>Some of these methods have interpolation options and/or restrictions on the input or output grids, both of which are documented more fully in their respective subprograms.</p>
+<p>The grids are defined by their grid description sections (passed in integer form as decoded by subprogram w3fi63).</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>(kgds(1)=000) equidistant cylindrical</li>
+<li>(kgds(1)=001) mercator cylindrical</li>
+<li>(kgds(1)=003) lambert conformal conical</li>
+<li>(kgds(1)=004) gaussian cylindrical</li>
+<li>(kgds(1)=005) polar stereographic azimuthal</li>
+<li>(kgds(1)=203) rotated equidistant cylindrical - e-stagger</li>
+<li>(kgds(1)=205) rotated equidistant cylindrical - b-stagger</li>
+</ul>
+<p>Where kgds could be either input kgdsi or output kgdso.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned.</p>
+<p>On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input. for the budget approach, a subsection of the grid may be output by subtracting kgdso(1) from 255 and passing in the latitudes and longitudes of the points. Input bitmaps will be interpolated to output bitmaps.</p>
+<p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip = BILINEAR_INTERP_ID = 0 for bilinear</li>
+<li>ip = BICUBIC_INTERP_ID = 1 for bicubic</li>
+<li>ip = NEIGHBOR_INTERP_ID = 2 for neighbor;</li>
+<li>ip = BUDGET_INTERP_ID = 3 for budget;</li>
+<li>ip = SPECTRAL_INTERP_ID = 4 for spectral;</li>
+<li>ip = NEIGHBOR_BUDGET_INTERP_ID = 6 for neighbor-budget </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0 (bilinear): (No options)</li>
+<li>ip=1 Cbicubic): constraint option</li>
+<li>ip=2 (neighbor): (No options)</li>
+<li>ip=3 (budget): Number in radius, radius weights, search radius</li>
+<li>ip=4 (spectral): Spectral shape, spectral truncation</li>
+<li>ip=6 (neighbor-budget): Number in radius, radius weights ...) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>Input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>Output gds parameters. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>Examples demonstrating relative cpu costs. This example is interpolating 12 levels of winds from the 360 x 181 global grid (ncep grid 3) to the 93 x 68 hawaiian mercator grid (ncep grid 204).</dd></dl>
+<p>The example times are for the c90. As a reference, the cp time for unpacking the global 12 temperature fields is 0.07 seconds.</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.05    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.16    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.17    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.02    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.94    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">0.31    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">0.33    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">0.59    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.31   </td></tr>
+</table>
+<p>The spectral interpolation is fast for the mercator grid. However, for some grids the spectral interpolation is slow.</p>
+<p>The following example is interpolating 12 levels of temperatures from the 360 x 181 global grid (ncep grid 3) to the 93 x 65 conus lambert conformal grid (ncep grid 211).</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.05    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.15    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.16    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.02    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.92    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">4.51    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">5.77    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">12.60    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.33   </td></tr>
+</table>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00565">565</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+<a id="ad211b25631afd3fd7c04bbfba589a7c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad211b25631afd3fd7c04bbfba589a7c5">&#9670;&nbsp;</a></span>ipolatev_grib1_single_field()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolatev_mod::ipolatev::ipolatev_grib1_single_field </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(inout)&#160;</td>
+          <td class="paramname"><em>kgdsi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(inout)&#160;</td>
+          <td class="paramname"><em>kgdso</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Special case of ipolatev_grib1 when interpolating a single field. </p>
+<p>Removes the km dimension of input arrays so vectors can be passed to ibi/ibo.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip = BILINEAR_INTERP_ID = 0 for bilinear</li>
+<li>ip = BICUBIC_INTERP_ID = 1 for bicubic</li>
+<li>ip = NEIGHBOR_INTERP_ID = 2 for neighbor;</li>
+<li>ip = BUDGET_INTERP_ID = 3 for budget;</li>
+<li>ip = SPECTRAL_INTERP_ID = 4 for spectral;</li>
+<li>ip = NEIGHBOR_BUDGET_INTERP_ID = 6 for neighbor-budget </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0 (bilinear): (No options)</li>
+<li>ip=1 Cbicubic): constraint option</li>
+<li>ip=2 (neighbor): (No options)</li>
+<li>ip=3 (budget): Number in radius, radius weights, search radius</li>
+<li>ip=4 (spectral): Spectral shape, spectral truncation</li>
+<li>ip=6 (neighbor-budget): Number in radius, radius weights ...) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>Input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>Output gds parameters. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2022 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00680">680</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+<a id="ac1ec04e3119f285f0f3955f016926efe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac1ec04e3119f285f0f3955f016926efe">&#9670;&nbsp;</a></span>ipolatev_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolatev_mod::ipolatev::ipolatev_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtnumi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtmpli</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtleni</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtnumo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtmplo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtleno</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor. </p>
+<p>This is a wrapper for ipolates_grid which converts a grib1 descriptor into an ip_grid_descriptor, which is used to create an ip_grid. Only horizontal interpolation is performed.</p>
+<p>The following interpolation methods are possible:</p><ul>
+<li>(ip=0) bilinear</li>
+<li>(ip=1) bicubic</li>
+<li>(ip=2) neighbor</li>
+<li>(ip=3) budget</li>
+<li>(ip=4) spectral</li>
+<li>(ip=6) neighbor-budget</li>
+</ul>
+<p>Some of these methods have interpolation options and/or restrictions on the input or output grids, both of which are documented more fully in their respective subprograms.</p>
+<p>Input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library. The current code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned.</p>
+<p>On the other hand, data may be interpolated to a set of station points if "igdtnumo"&lt;0 (or subtracted from 255 for the budget option), in which case the number of points and their latitudes and longitudes must be input.</p>
+<p>Input bitmaps will be interpolated to output bitmaps. Output bitmaps will also be created when the output grid extends outside of the domain of the input grid.</p>
+<p>The output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip=0 for bilinear</li>
+<li>ip=1 for bicubic</li>
+<li>ip=2 for neighbor;</li>
+<li>ip=3 for budget;</li>
+<li>ip=4 for spectral;</li>
+<li>ip=6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0: (No options)</li>
+<li>ip=1: Constraint option</li>
+<li>ip=2: (No options)</li>
+<li>ip=3: Number in radius, radius weights, search radius</li>
+<li>ip=4: Spectral shape, spectral truncation</li>
+<li>ip=6: Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>Grid definition template number for the input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - Equidistant Cylindrical</li>
+<li>01 - Rotated Equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - Mercator Cyclindrical</li>
+<li>20 - Polar Stereographic azimuthal</li>
+<li>30 - Lambert Conformal Conical</li>
+<li>40 - Gaussian Equidistant Cyclindrical</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>Grid definition template array input grid. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Section 3 Info:</p>
+<p>All map projections:</p><ol type="1">
+<li>Shape of earth, octet 15.</li>
+<li>Scale factor of spherical earth radius, octet 16.</li>
+<li>Scaled value of radius of spherical earth, octets 17-20.</li>
+<li>Scale factor of major axis of elliptical earth, octet 21.</li>
+<li>Scaled value of major axis of elliptical earth, octets 22-25.</li>
+<li>Scale factor of minor axis of elliptical earth, octet 26. 7: Scaled value of minor axis of elliptical earth, octets 27-30.</li>
+</ol>
+<p>Equidistant Cyclindrical:</p><ol type="1">
+<li>Number of points along a parallel, octs 31-34.</li>
+<li>Number of points along a meridian, octs 35-38.</li>
+<li>Basic angle of initial production domain, octets 39-42.</li>
+<li>Subdivisions of basic angle, octets 43-46.</li>
+<li>Latitude of first grid point, octets 47-50.</li>
+<li>Longitude of first grid point, octets 51-54.</li>
+<li>Resolution and component flags, octet 55.</li>
+<li>Latitude of last grid point, octets 56-59.</li>
+<li>Longitude of last grid point, octets 60-63.</li>
+<li>i-direction increment, octets 64-67.</li>
+<li>j-direction increment, octets 68-71.</li>
+<li>Scanning mode, octet 72.</li>
+</ol>
+<p>Mercator Cyclindrical:</p><ol type="1">
+<li>Number of points along a parallel, octs 31-34.</li>
+<li>Number of points along a meridian, octs 35-38.</li>
+<li>Latitude of first point, octets 39-42.</li>
+<li>Longitude of first point, octets 43-46.</li>
+<li>Resolution and component flags, octet 47.</li>
+<li>Tangent latitude, octets 48-51.</li>
+<li>Latitude of last point, octets 52-55.</li>
+<li>Longitude of last point, octets 56-59.</li>
+<li>Scanning mode flags, octet 60.</li>
+<li>Orientation of grid, octets 61-64.</li>
+<li>Longitudinal grid length, octets 65-68.</li>
+<li>Latitudinal grid length, octets 69-72.</li>
+</ol>
+<p>Lambert Conformal Conical:</p><ol type="1">
+<li>Number of points along x-axis, octs 31-34.</li>
+<li>Number of points along y-axis, octs 35-38.</li>
+<li>Latitude of first point, octets 39-42.</li>
+<li>Longitude of first point, octets 43-46.</li>
+<li>Resolution of component flag, octet 47.</li>
+<li>Latitude where grid lengths specified,octets 48-51.</li>
+<li>Longitude of meridian that is parallel to y-axis, octets 52-55.</li>
+<li>x-direction grid length, octets 56-59.</li>
+<li>y-direction grid length, octets 60-63.</li>
+<li>Projection center flag, octet 64.</li>
+<li>Scanning mode, octet 65.</li>
+<li>First tangent latitude from pole, octets 66-69.</li>
+<li>Second tangent latitude from pole, octets 70-73.</li>
+<li>Latitude of south pole of projection, octets 74-77.</li>
+<li>Longitude of south pole of projection, octets 78-81.</li>
+</ol>
+<p>Gaussian Cylindrical:</p><ol type="1">
+<li>Number of points along a parallel, octs 31-34.</li>
+<li>Number of points along a meridian, octs 35-38.</li>
+<li>Basic angle of initial production domain, octets 39-42.</li>
+<li>Subdivisions of basic angle, octets 43-46.</li>
+<li>Latitude of first grid point, octets 47-50.</li>
+<li>Longitude of first grid point, octets 51-54.</li>
+<li>Resolution and component flags, octet 55.</li>
+<li>Latitude of last grid point, octets 56-59.</li>
+<li>Longitude of last grid point, octets 60-63.</li>
+<li>i-direction increment, octets 64-67.</li>
+<li>Number of parallels between pole and equator, octets 68-71.</li>
+<li>Scanning mode, octet 72.</li>
+</ol>
+<p>Polar Stereographic Azimuthal:</p><ol type="1">
+<li>Number of points along x-axis, octets 31-34.</li>
+<li>Number of points along y-axis, octets 35-38.</li>
+<li>Latitude of first grid point, octets 39-42.</li>
+<li>Longitude of first grid point, octets 43-46.</li>
+<li>Resolution and component flags, octet 47.</li>
+<li>True latitude, octets 48-51.</li>
+<li>Orientation longitude, octets 52-55.</li>
+<li>x-direction grid length, octets 56-59.</li>
+<li>y-direction grid length, octets 60-63.</li>
+<li>Projection center flag, octet 64.</li>
+<li>Scanning mode flags, octet 65.</li>
+</ol>
+<p>Rotated Equidistant Cyclindrical:</p><ol type="1">
+<li>Number of points along a parallel, octs 31-34.</li>
+<li>Number of points along a meridian, octs 35-38.</li>
+<li>Basic angle of initial production domain, octets 39-42.</li>
+<li>Subdivisions of basic angle, octets 43-46.</li>
+<li>Latitude of first grid point, octets 47-50.</li>
+<li>Longitude of first grid point, octets 51-54.</li>
+<li>Resolution and component flags, octet 55.</li>
+<li>Latitude of last grid point, octets 56-59.</li>
+<li>Longitude of last grid point, octets 60-63.</li>
+<li>i-direction increment, octets 64-67.</li>
+<li>j-direction increment, octets 68-71.</li>
+<li>Scanning mode, octet 72.</li>
+<li>Latitude of southern pole of projection, octets 73-76.</li>
+<li>Longitude of southern pole of projection, octets 77-80.</li>
+<li>Angle of rotation of projection, octs 81-84.</li>
+</ol>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>Number of elements of the grid definition template array for the input grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>Grid definition template number for the output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. See "igdtnumi" for specific template definitions. Note: igdtnumo&lt;0 means interpolate to random station points.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>Grid definition template array for the output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. See "igdtmpli" for definition of array elements.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>Number of elements of the grid definition template array for the output grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>Examples demonstrating relative cpu costs. This example is interpolating 12 levels of winds from the 360 x 181 global grid (ncep grid 3) to the 93 x 68 hawaiian mercator grid (ncep grid 204).</dd></dl>
+<p>The example times are for the c90. As a reference, the cp time for unpacking the global 12 wind fields is 0.07 seconds.</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.05    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.16    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.17    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.02    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.94    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">0.31    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">0.33    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">0.59    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.31   </td></tr>
+</table>
+<p>The spectral interpolation is fast for the mercator grid. However, for some grids the spectral interpolation is slow.</p>
+<p>The following example is interpolating 12 levels of winds from the 360 x 181 global grid (ncep grid 3) to the 93 x 65 conus lambert conformal grid (ncep grid 211).</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.05    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.15    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.16    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.02    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.92    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">4.51    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">5.77    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">12.60    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.33   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00382">382</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+<a id="aa0af88a9ccef79a921680fe40ec30ccd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa0af88a9ccef79a921680fe40ec30ccd">&#9670;&nbsp;</a></span>ipolatev_grib2_single_field()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolatev_mod::ipolatev::ipolatev_grib2_single_field </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtnumi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtmpli</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtleni</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtnumo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtmplo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtleno</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip=0 for bilinear</li>
+<li>ip=1 for bicubic</li>
+<li>ip=2 for neighbor;</li>
+<li>ip=3 for budget;</li>
+<li>ip=4 for spectral;</li>
+<li>ip=6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0: (No options)</li>
+<li>ip=1: Constraint option</li>
+<li>ip=2: (No options)</li>
+<li>ip=3: Number in radius, radius weights, search radius</li>
+<li>ip=4: Spectral shape, spectral truncation</li>
+<li>ip=6: Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>Grid definition template number for the input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - Equidistant Cylindrical</li>
+<li>01 - Rotated Equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - Mercator Cyclindrical</li>
+<li>20 - Polar Stereographic azimuthal</li>
+<li>30 - Lambert Conformal Conical</li>
+<li>40 - Gaussian Equidistant Cyclindrical</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>Grid definition template array input grid. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>Number of elements of the grid definition template array for the input grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>Grid definition template number for the output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. See "igdtnumi" for specific template definitions. Note: igdtnumo&lt;0 means interpolate to random station points.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>Grid definition template array for the output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. See "igdtmpli" for definition of array elements.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>Number of elements of the grid definition template array for the output grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>November 2022 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00832">832</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceipolatev__mod.html">ipolatev_mod</a></li><li class="navelem"><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html">ipolatev</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceipolatev__mod_1_1ipolatev.js b/ver-4.4.0/interfaceipolatev__mod_1_1ipolatev.js
new file mode 100644
index 00000000..37dfd10b
--- /dev/null
+++ b/ver-4.4.0/interfaceipolatev__mod_1_1ipolatev.js
@@ -0,0 +1,7 @@
+var interfaceipolatev__mod_1_1ipolatev =
+[
+    [ "ipolatev_grib1", "interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53", null ],
+    [ "ipolatev_grib1_single_field", "interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5", null ],
+    [ "ipolatev_grib2", "interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe", null ],
+    [ "ipolatev_grib2_single_field", "interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html b/ver-4.4.0/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html
new file mode 100644
index 00000000..1a0591e0
--- /dev/null
+++ b/ver-4.4.0/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html
@@ -0,0 +1,529 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: neighbor_budget_interp_mod::interpolate_neighbor_budget Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">neighbor_budget_interp_mod::interpolate_neighbor_budget Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a96e4b145a4df6f4948b1d5ae2da6a71a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a">interpolate_neighbor_budget_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a96e4b145a4df6f4948b1d5ae2da6a71a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (budget).  <a href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a">More...</a><br /></td></tr>
+<tr class="separator:a96e4b145a4df6f4948b1d5ae2da6a71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a573bd5ac43484aa6d051e58f37ff7c06"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06">interpolate_neighbor_budget_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a573bd5ac43484aa6d051e58f37ff7c06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (budget).  <a href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06">More...</a><br /></td></tr>
+<tr class="separator:a573bd5ac43484aa6d051e58f37ff7c06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="neighbor__budget__interp__mod_8F90_source.html#l00017">17</a> of file <a class="el" href="neighbor__budget__interp__mod_8F90_source.html">neighbor_budget_interp_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a96e4b145a4df6f4948b1d5ae2da6a71a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a96e4b145a4df6f4948b1d5ae2da6a71a">&#9670;&nbsp;</a></span>interpolate_neighbor_budget_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate scalar fields (budget). </p>
+<p>This subprogram performs budget interpolation from any grid to any grid for scalar fields.</p>
+<p>The algorithm simply computes (weighted) averages of neighbor points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points.</p>
+<p>Options allow choices of number of points in each radius from the center point (ipopt(1)) which defaults to 2 (if ipopt(1)=-1) meaning that 25 points will be averaged; further options are the respective weights for the radius points starting at the center point (ipopt(2:2+ipopt(1)) which defaults to all 1 (if ipopt(1)=-1 or ipopt(2)=-1).</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(3+ipopt(1)) which defaults to 50 (if -1).</p>
+<p>Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. Input bitmaps will be interpolated to output bitmaps. Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<h3><a class="anchor" id="autotoc_md38"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">96-10-04   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">neighbor points not bilinear interpolation    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">1999-04-08   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">split ijkgds into two pieces    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">include minimum mask percentage option    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz with new merged version of gdswzd.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace grib 1 kgds arrays with grib 2 grid definition template arrays.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2023-05-04   </td><td class="markdownTableBodyNone">Engle   </td><td class="markdownTableBodyNone">allow calls to GDSWZD for station points   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1) is number of radius points (defaults to 2 if ipopt(1)=-1); ipopt(2:2+ipopt(1)) are respective weights (defaults to all 1 if ipopt(1)=-1 or ipopt(2)=-1). ipopt(3+ipopt(1)) is minimum percentage for mask (defaults to 50 if ipopt(3+ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>The input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>The output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>(mi,km) input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>(mi,km) input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>(mo,km) output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>31 invalid undefined output grid</li>
+<li>32 invalid budget method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="neighbor__budget__interp__mod_8F90_source.html#l00107">107</a> of file <a class="el" href="neighbor__budget__interp__mod_8F90_source.html">neighbor_budget_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="polfix__mod_8F90_source.html#l00030">polfix_mod::polfixs()</a>.</p>
+
+</div>
+</div>
+<a id="a573bd5ac43484aa6d051e58f37ff7c06"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a573bd5ac43484aa6d051e58f37ff7c06">&#9670;&nbsp;</a></span>interpolate_neighbor_budget_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate vector fields (budget). </p>
+<p>This subprogram performs budget interpolation from any grid to any grid for vector fields.</p>
+<p>The algorithm simply computes (weighted) averages of neighbor points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points.</p>
+<p>Options allow choices of number of points in each radius from the center point (ipopt(1)) which defaults to 2 (if ipopt(1)=-1) meaning that 25 points will be averaged; further options are the respective weights for the radius points starting at the center point (ipopt(2:2+ipopt(1)) which defaults to all 1 (if ipopt(1)=-1 or ipopt(2)=-1).</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(3+ipopt(1)) which defaults to 50 (if -1).</p>
+<p>Only horizontal interpolation is performed.</p>
+<p>The input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library. the code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. Input bitmaps will be interpolated to output bitmaps.</p>
+<p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<h3><a class="anchor" id="autotoc_md39"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1999-04-08   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">split ijkgds into two pieces    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">include minimum mask percentage option    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2002-01-17   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">save data from last call for optimization    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz with new merged routine gdswzd.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace grib 1 kgds arrays with grib 2 grid definition template arrays.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2023-05-04   </td><td class="markdownTableBodyNone">Engle   </td><td class="markdownTableBodyNone">allow calls to GDSWZD for station points   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1) is number of radius points (defaults to 2 if ipopt(1)=-1); ipopt(2:2+ipopt(1)) are respective weights (defaults to all 1 if ipopt(1)=-1 or ipopt(2)=-1). ipopt(3+ipopt(1)) is minimum percentage for mask (defaults to 50 if ipopt(3+ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>The input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>The output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>(mi,km) input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>(mi,km) input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>(mi,km) input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>(mo) vector rotation cosines </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>(mo) vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>(mo,km) output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>(mo,km) output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>31 invalid undefined output grid</li>
+<li>32 invalid budget method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="neighbor__budget__interp__mod_8F90_source.html#l00351">351</a> of file <a class="el" href="neighbor__budget__interp__mod_8F90_source.html">neighbor_budget_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="movect_8F90_source.html#l00026">movect()</a>, and <a class="el" href="polfix__mod_8F90_source.html#l00125">polfix_mod::polfixv()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="neighbor__budget__interp__mod_8F90_source.html">neighbor_budget_interp_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceneighbor__budget__interp__mod.html">neighbor_budget_interp_mod</a></li><li class="navelem"><a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html">interpolate_neighbor_budget</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.js b/ver-4.4.0/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.js
new file mode 100644
index 00000000..6e10186a
--- /dev/null
+++ b/ver-4.4.0/interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.js
@@ -0,0 +1,5 @@
+var interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget =
+[
+    [ "interpolate_neighbor_budget_scalar", "interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a", null ],
+    [ "interpolate_neighbor_budget_vector", "interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfaceneighbor__interp__mod_1_1interpolate__neighbor.html b/ver-4.4.0/interfaceneighbor__interp__mod_1_1interpolate__neighbor.html
new file mode 100644
index 00000000..ceb9004c
--- /dev/null
+++ b/ver-4.4.0/interfaceneighbor__interp__mod_1_1interpolate__neighbor.html
@@ -0,0 +1,486 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: neighbor_interp_mod::interpolate_neighbor Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfaceneighbor__interp__mod_1_1interpolate__neighbor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">neighbor_interp_mod::interpolate_neighbor Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a04ebb54535e67ff95c1d3d64b9cf6246"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246">interpolate_neighbor_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a04ebb54535e67ff95c1d3d64b9cf6246"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (neighbor).  <a href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246">More...</a><br /></td></tr>
+<tr class="separator:a04ebb54535e67ff95c1d3d64b9cf6246"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4662245e2744fd14628b48f23bf4f0a7"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7">interpolate_neighbor_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a4662245e2744fd14628b48f23bf4f0a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (neighbor).  <a href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7">More...</a><br /></td></tr>
+<tr class="separator:a4662245e2744fd14628b48f23bf4f0a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="neighbor__interp__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="neighbor__interp__mod_8F90_source.html">neighbor_interp_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a04ebb54535e67ff95c1d3d64b9cf6246"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a04ebb54535e67ff95c1d3d64b9cf6246">&#9670;&nbsp;</a></span>interpolate_neighbor_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate scalar fields (neighbor). </p>
+<p>This subprogram performs neighbor interpolation from any grid to any grid for scalar fields.</p>
+<p>Options allow choosing the width of the grid square (ipopt(1)) to search for valid data, which defaults to 1 (if ipopt(1)=-1). Odd width squares are centered on the nearest input grid point; even width squares are centered on the nearest four input grid points. Squares are searched for valid data in a spiral pattern starting from the center. No searching is done where the output grid is outside the input grid. Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input.</p>
+<p>Input bitmaps will be interpolated to output bitmaps.</p>
+<p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1) is width of square to examine in spiral search (defaults to 1 if ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>The input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>The output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>(mi,km) input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>(mi,km) input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(no) output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(no) output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>(mo,km) output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>23-05-04 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="neighbor__interp__mod_8F90_source.html#l00100">100</a> of file <a class="el" href="neighbor__interp__mod_8F90_source.html">neighbor_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="polfix__mod_8F90_source.html#l00030">polfix_mod::polfixs()</a>.</p>
+
+</div>
+</div>
+<a id="a4662245e2744fd14628b48f23bf4f0a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4662245e2744fd14628b48f23bf4f0a7">&#9670;&nbsp;</a></span>interpolate_neighbor_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate vector fields (neighbor). </p>
+<p>This subprogram performs neighbor interpolation from any grid to any grid for vector fields.</p>
+<p>Options allow choosing the width of the grid square (ipopt(1)) to search for valid data, which defaults to 1 (IF IPOPT(1)=-1). Odd width squares are centered on the nearest input grid point; even width squares are centered on the nearest four input grid points.</p>
+<p>Squares are searched for valid data in a spiral pattern starting from the center. no searching is done where the output grid is outside the input grid. Only horizontal interpolation is performed.</p>
+<p>The input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library.</p>
+<p>The code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid definition sections.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
+<p>Input bitmaps will be interpolated to output bitmaps. output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1) is width of square to examine in spiral search (defaults to 1 if ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>The input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>The output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>(mi,km) input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>(mi,km) input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>(mi,km) input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&gt;=0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>(mo) vector rotation cosines (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>(mo) vector rotation sines (if igdtnumo&lt;0) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>(mo,km) output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>(mo,km) output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>23-05-04 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="neighbor__interp__mod_8F90_source.html#l00352">352</a> of file <a class="el" href="neighbor__interp__mod_8F90_source.html">neighbor_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="movect_8F90_source.html#l00026">movect()</a>, and <a class="el" href="polfix__mod_8F90_source.html#l00125">polfix_mod::polfixv()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="neighbor__interp__mod_8F90_source.html">neighbor_interp_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceneighbor__interp__mod.html">neighbor_interp_mod</a></li><li class="navelem"><a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html">interpolate_neighbor</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfaceneighbor__interp__mod_1_1interpolate__neighbor.js b/ver-4.4.0/interfaceneighbor__interp__mod_1_1interpolate__neighbor.js
new file mode 100644
index 00000000..8c728bf7
--- /dev/null
+++ b/ver-4.4.0/interfaceneighbor__interp__mod_1_1interpolate__neighbor.js
@@ -0,0 +1,5 @@
+var interfaceneighbor__interp__mod_1_1interpolate__neighbor =
+[
+    [ "interpolate_neighbor_scalar", "interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246", null ],
+    [ "interpolate_neighbor_vector", "interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfacespectral__interp__mod_1_1interpolate__spectral.html b/ver-4.4.0/interfacespectral__interp__mod_1_1interpolate__spectral.html
new file mode 100644
index 00000000..7006f050
--- /dev/null
+++ b/ver-4.4.0/interfacespectral__interp__mod_1_1interpolate__spectral.html
@@ -0,0 +1,428 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spectral_interp_mod::interpolate_spectral Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfacespectral__interp__mod_1_1interpolate__spectral.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">spectral_interp_mod::interpolate_spectral Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a79f600a26ecf256a8a13cf4bdbaf2ab1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1">interpolate_spectral_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a79f600a26ecf256a8a13cf4bdbaf2ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate spectral scalar.  <a href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1">More...</a><br /></td></tr>
+<tr class="separator:a79f600a26ecf256a8a13cf4bdbaf2ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e939bbb3f7b214fee26c1e77764e487"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487">interpolate_spectral_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a9e939bbb3f7b214fee26c1e77764e487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate spectral vector.  <a href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487">More...</a><br /></td></tr>
+<tr class="separator:a9e939bbb3f7b214fee26c1e77764e487"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00019">19</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a79f600a26ecf256a8a13cf4bdbaf2ab1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a79f600a26ecf256a8a13cf4bdbaf2ab1">&#9670;&nbsp;</a></span>interpolate_spectral_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::interpolate_spectral::interpolate_spectral_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate spectral scalar. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>interpolation options; ipopt(1)=0 for triangular; ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to a sensible truncation if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>input grid descriptor. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>output grid descriptor. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">MI</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">MO</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">KM</td><td>number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">IBI</td><td>input bitmap flags (Must be all 0. Routine does not do bitmapped interpolation.) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">GI</td><td>input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">NO</td><td>number of output points. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">RLAT</td><td>output latitudes in degrees. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">RLON</td><td>output longitudes in degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">IBO</td><td>output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">LO</td><td>output bitmaps. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GO</td><td>output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">IRET</td><td>return code. 0/non-0 - successful/not successful.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00060">60</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a9e939bbb3f7b214fee26c1e77764e487"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9e939bbb3f7b214fee26c1e77764e487">&#9670;&nbsp;</a></span>interpolate_spectral_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::interpolate_spectral::interpolate_spectral_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate spectral vector. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">ipopt</td><td>interpolation options; ipopt(1)=0 for triangular; ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to a sensible truncation if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramname">grid_in</td><td>input grid descriptor. </td></tr>
+    <tr><td class="paramname">grid_out</td><td>output grid descriptor. </td></tr>
+    <tr><td class="paramname">MI</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramname">MO</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramname">KM</td><td>number of fields to interpolate. </td></tr>
+    <tr><td class="paramname">IBI</td><td>input bitmap flags (Must be all 0. Routine does not do bitmapped interpolation.) </td></tr>
+    <tr><td class="paramname">UI</td><td>input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramname">VI</td><td>input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramname">NO</td><td>number of output points. </td></tr>
+    <tr><td class="paramname">RLAT</td><td>output latitudes in degrees. </td></tr>
+    <tr><td class="paramname">RLON</td><td>output longitudes in degrees. </td></tr>
+    <tr><td class="paramname">CROT</td><td>vector rotation cosines. </td></tr>
+    <tr><td class="paramname">SROT</td><td>vector rotation sines. </td></tr>
+    <tr><td class="paramname">IBO</td><td>output bitmap flags. </td></tr>
+    <tr><td class="paramname">LO</td><td>output bitmaps. </td></tr>
+    <tr><td class="paramname">UO</td><td>output u-component fields interpolated. </td></tr>
+    <tr><td class="paramname">VO</td><td>output v-component fields interpolated. </td></tr>
+    <tr><td class="paramname">IRET</td><td>return code. 0/non-0 - successful/not successful.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00121">121</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="spectral__interp__mod_8F90_source.html#l01223">spectral_interp_mod::polatev4_grib1()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacespectral__interp__mod.html">spectral_interp_mod</a></li><li class="navelem"><a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html">interpolate_spectral</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfacespectral__interp__mod_1_1interpolate__spectral.js b/ver-4.4.0/interfacespectral__interp__mod_1_1interpolate__spectral.js
new file mode 100644
index 00000000..3730bfea
--- /dev/null
+++ b/ver-4.4.0/interfacespectral__interp__mod_1_1interpolate__spectral.js
@@ -0,0 +1,5 @@
+var interfacespectral__interp__mod_1_1interpolate__spectral =
+[
+    [ "interpolate_spectral_scalar", "interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1", null ],
+    [ "interpolate_spectral_vector", "interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfacespectral__interp__mod_1_1polates4.html b/ver-4.4.0/interfacespectral__interp__mod_1_1polates4.html
new file mode 100644
index 00000000..0cb40f48
--- /dev/null
+++ b/ver-4.4.0/interfacespectral__interp__mod_1_1polates4.html
@@ -0,0 +1,502 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spectral_interp_mod::polates4 Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfacespectral__interp__mod_1_1polates4.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">spectral_interp_mod::polates4 Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a0be1315db4dce899083176b47b6ea6a4"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4">polates4_grib1</a> (IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a0be1315db4dce899083176b47b6ea6a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (spectral).  <a href="interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4">More...</a><br /></td></tr>
+<tr class="separator:a0be1315db4dce899083176b47b6ea6a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3fdc75851f1f741e715a1c3e1e4d89c9"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9">polates4_grib2</a> (IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a3fdc75851f1f741e715a1c3e1e4d89c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (spectral).  <a href="interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9">More...</a><br /></td></tr>
+<tr class="separator:a3fdc75851f1f741e715a1c3e1e4d89c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00024">24</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a0be1315db4dce899083176b47b6ea6a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0be1315db4dce899083176b47b6ea6a4">&#9670;&nbsp;</a></span>polates4_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::polates4::polates4_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDSI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDSO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate scalar fields (spectral). </p>
+<p>This subprogram performs spectral interpolation from any grid to any grid for scalar fields. It requires that the input fields be uniformly global.</p>
+<p>Options allow choices between triangular shape (ipopt(1)=0) and rhomboidal shape (ipopt(1)=1) which has no default; a second option is the truncation (ipopt(2)) which defaults to a sensible truncation for the input grid (if opt(2)=-1).</p>
+<dl class="section note"><dt>Note</dt><dd>If the output grid is not found in a special list, then the transform back to grid is not very fast. This special list contains global cylindrical grids, polar stereographic grids centered at the pole and mercator grids.</dd></dl>
+<p>Only horizontal interpolation is performed. The grids are defined by their grid description sections (passed in integer form as decoded by subprogram w3fi63()).</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>kgds(1) = 000 equidistant cylindrical</li>
+<li>kgds(1) = 001 mercator cylindrical</li>
+<li>kgds(1) = 003 lambert conformal conical</li>
+<li>kgds(1) = 004 gaussian cylindrical (spectral native)</li>
+<li>kgds(1) = 005 polar stereographic azimuthal</li>
+<li>kgds(1) = 203 rotated equidistant cylindrical (e-stagger)</li>
+<li>kgds(1) = 205 rotated equidistant cylindrical (b-stagger)</li>
+</ul>
+<p>Where kgds could be either input kgdsi or output kgdso. As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input. Output bitmaps will not be created.</p>
+<h3><a class="anchor" id="autotoc_md42"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">improve detection of special fast transform    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz() with new merged version of <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1)=0 for triangular, ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to sensible if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>(200) input gds parameters as decoded by w3fi63 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>(200) output gds parameters (kgdso(1)&lt;0 implies random station points) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags (must be all 0) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>(mi,km) input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points (only if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(no) output latitudes in degrees (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(no) output longitudes in degrees (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>(mo,km) output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>41 invalid nonglobal input grid</li>
+<li>42 invalid spectral method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00559">559</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a3fdc75851f1f741e715a1c3e1e4d89c9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3fdc75851f1f741e715a1c3e1e4d89c9">&#9670;&nbsp;</a></span>polates4_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::polates4::polates4_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate scalar fields (spectral). </p>
+<p>This subprogram performs spectral interpolation from any grid to any grid for scalar fields. It requires that the input fields be uniformly global. Options allow choices between triangular shape (ipopt(1)=0) and rhomboidal shape (ipopt(1)=1) which has no default; a second option is the truncation (ipopt(2)) which defaults to a sensible truncation for the input grid (if opt(2)=-1).</p>
+<dl class="section note"><dt>Note</dt><dd>If the output grid is not found in a special list, then the transform back to grid is not very fast. This special list contains global cylindrical grids, polar stereographic grids centered at the pole and mercator grids.</dd></dl>
+<p>Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where "igdtnumi/o" is the GRIB2 grid defintion template number for the input and onutput grids, respectively:</p><ul>
+<li>igdtnumi/o = 00 equidistant cylindrical</li>
+<li>igdtnumo = 01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>igdtnumo = 10 mercator cylindrical</li>
+<li>igdtnumo = 20 polar stereographic azimuthal</li>
+<li>igdtnumo = 30 lambert conformal conical</li>
+<li>igdtnumi/o = 40 gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo &lt; 0, in which case the number of points and their latitudes and longitudes must be input. Output bitmaps will not be created.</p>
+<h3><a class="anchor" id="autotoc_md41"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">improve detection of special fast transform    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz with new merged version of gdswzd.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">convert to grib 2. replace grib 1 kgds arrays with grib 2 grid definition template arrays.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options; ipopt(1)=0 for triangular, ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to sensible if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>grid definition template number - input grid. Corresponds to the gfldigdtnum component of the <a href="https://github.com/NOAA-EMC/NCEPLIBS-g2">NCEPLIBS-g2</a> library gridmod data structure.<ul>
+<li>00 - equidistant cylindrical</li>
+<li>01 - rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - mercator cyclindrical</li>
+<li>20 - polar stereographic azimuthal</li>
+<li>30 - lambert conformal conical</li>
+<li>40 - gaussian equidistant cyclindrical </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>(igdtleni) grid definition template array - input grid. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure: (section 3 info). See comments in routine ipolates() for complete definition. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>number of elements of the grid definition template array - input grid. corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>grid definition template number - output grid. Corresponds to the gfldigdtnum component of the <a href="https://github.com/NOAA-EMC/NCEPLIBS-g2">NCEPLIBS-g2</a> library gridmod data structure. igdtnumo&lt;0 means interpolate to random station points. Otherwise, same definition as igdtnumi. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>(igdtleno) grid definition template array - output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info). See comments in routine ipolates() for complete definition. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>number of elements of the grid definition template array - output grid. Corresponds to the gfldigdtlen component of the [NCEPLIBS-g2](<a href="https://github.com/NOAA-EMC/NCEPLIBS-g2">https://github.com/NOAA-EMC/NCEPLIBS-g2</a>) library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibi</td><td>(km) input bitmap flags (must be all 0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">gi</td><td>(mi,km) input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&gt;=0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>(mo,km) output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>41 invalid nonglobal input grid</li>
+<li>42 invalid spectral method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>! </p><dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00254">254</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="earth__radius__mod_8F90_source.html#l00041">earth_radius_mod::earth_radius()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacespectral__interp__mod.html">spectral_interp_mod</a></li><li class="navelem"><a class="el" href="interfacespectral__interp__mod_1_1polates4.html">polates4</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfacespectral__interp__mod_1_1polates4.js b/ver-4.4.0/interfacespectral__interp__mod_1_1polates4.js
new file mode 100644
index 00000000..ab313a31
--- /dev/null
+++ b/ver-4.4.0/interfacespectral__interp__mod_1_1polates4.js
@@ -0,0 +1,5 @@
+var interfacespectral__interp__mod_1_1polates4 =
+[
+    [ "polates4_grib1", "interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4", null ],
+    [ "polates4_grib2", "interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/interfacespectral__interp__mod_1_1polatev4.html b/ver-4.4.0/interfacespectral__interp__mod_1_1polatev4.html
new file mode 100644
index 00000000..0eeb428c
--- /dev/null
+++ b/ver-4.4.0/interfacespectral__interp__mod_1_1polatev4.html
@@ -0,0 +1,560 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spectral_interp_mod::polatev4 Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('interfacespectral__interp__mod_1_1polatev4.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">spectral_interp_mod::polatev4 Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a5fa619eb983da3326380e9bafcf49ca8"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8">polatev4_grib1</a> (IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a5fa619eb983da3326380e9bafcf49ca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (spectral).  <a href="interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8">More...</a><br /></td></tr>
+<tr class="separator:a5fa619eb983da3326380e9bafcf49ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dcbaeb719e3872ad5ad461adde5c98b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b">polatev4_grib2</a> (IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a9dcbaeb719e3872ad5ad461adde5c98b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (spectral).  <a href="interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b">More...</a><br /></td></tr>
+<tr class="separator:a9dcbaeb719e3872ad5ad461adde5c98b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a5fa619eb983da3326380e9bafcf49ca8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5fa619eb983da3326380e9bafcf49ca8">&#9670;&nbsp;</a></span>polatev4_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::polatev4::polatev4_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDSI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDSO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate vector fields (spectral). </p>
+<p>This subprogram performs spectral interpolation from any grid to any grid for vector fields. It requires that the input fields be uniformly global. Options allow choices between triangular shape (ipopt(1)=0) and rhomboidal shape (ipopt(1)=1) which has no default; a second option is the truncation (ipopt(2)) which defaults to a sensible truncation for the input grid (if opt(2)=-1).</p>
+<dl class="section note"><dt>Note</dt><dd>If the output grid is not found in a special list, then the transform back to grid is not very fast. This special list contains global cylindrical grids, polar stereographic grids centered at the pole and mercator grids.</dd></dl>
+<p>Only horizontal interpolation is performed. The grids are defined by their grid description sections (passed in integer form as decoded by subprogram w3fi63).</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>(KGDS(1)=000) EQUIDISTANT CYLINDRICAL</li>
+<li>(KGDS(1)=001) MERCATOR CYLINDRICAL</li>
+<li>(KGDS(1)=003) LAMBERT CONFORMAL CONICAL</li>
+<li>(KGDS(1)=004) GAUSSIAN CYLINDRICAL (SPECTRAL NATIVE)</li>
+<li>(KGDS(1)=005) POLAR STEREOGRAPHIC AZIMUTHAL</li>
+<li>(KGDS(1)=203) ROTATED EQUIDISTANT CYLINDRICAL (E-STAGGER)</li>
+<li>(KGDS(1)=205) ROTATED EQUIDISTANT CYLINDRICAL (B-STAGGER)</li>
+</ul>
+<p>Where kgds could be either input kgdsi or output kgdso.</p>
+<p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections. As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
+<p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<h3><a class="anchor" id="autotoc_md44"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">improve detection of special fast transform    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz() with new merged routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1)=0 for triangular, ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to sensible if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>(200) input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>(200) output gds parameters (kgdso(1)&lt;0 implies random station points). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags (must be all 0) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>(mi,km) input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>(mi,km) input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points (only if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(no) output latitudes in degrees (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(no) output longitudes in degrees (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>(no) vector rotation cosines (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>(no) vector rotation sines (if kgdso(1)&lt;0) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>(mo,km) output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>(mo,km) output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>41 invalid nonglobal input grid</li>
+<li>42 invalid spectral method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l01221">1221</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a9dcbaeb719e3872ad5ad461adde5c98b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dcbaeb719e3872ad5ad461adde5c98b">&#9670;&nbsp;</a></span>polatev4_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::polatev4::polatev4_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate vector fields (spectral). </p>
+<p>This subprogram performs spectral interpolation from any grid to any grid for vector fields. It requires that the input fields be uniformly global. Options allow choices between triangular shape (ipopt(1)=0) and rhomboidal shape (ipopt(1)=1) which has no default; a second option is the truncation (ipopt(2)) which defaults to a sensible truncation for the input grid (if opt(2)=-1).</p>
+<dl class="section note"><dt>Note</dt><dd>If the output grid is not found in a special list, then the transform back to grid is not very fast. This special list contains global cylindrical grids, polar stereographic grids centered at the pole and mercator grids. Only horizontal interpolation is performed.</dd></dl>
+<p>The input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library. The code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>igdtnumi/o=00 equidistant cylindrical</li>
+<li>igdtnumo =01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>igdtnumo =10 mercator cylindrical</li>
+<li>igdtnumo =20 polar stereographic azimuthal</li>
+<li>igdtnumo =30 lambert conformal conical</li>
+<li>igdtnumi/o=40 gaussian cylindrical</li>
+</ul>
+<p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
+<p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<h3><a class="anchor" id="autotoc_md43"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">improve detection of special fast transform    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz() with new merged routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">convert to grib 2. replace grib 1 kgds arrays with grib 2 grid definition template arrays.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1)=0 for triangular, ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to sensible if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>grid definition template number - input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 equidistant cylindrical</li>
+<li>01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 mercator cyclindrical</li>
+<li>20 polar stereographic azimuthal</li>
+<li>30 lambert conformal conical</li>
+<li>40 gaussian equidistant cyclindrical </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>(igdtleni) grid definition template array - input grid. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info). see comments in routine ipolatev for complete definition. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>number of elements of the grid definition template array - input grid. corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>grid definition template number - output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. igdtnumo&lt;0 means interpolate to random station points. Otherwise, same definition as "igdtnumi". </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>(igdtleno) grid definition template array - output grid. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info). see comments in routine ipolatev() for complete definition. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>number of elements of the grid definition template array - output grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags (must be all 0) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>(mi,km) input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>(mi,km) input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&gt;=0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>(mo) vector rotation cosines (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>(mo) vector rotation sines (if igdtnumo&lt;0) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>(mo,km) output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>(mo,km) output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>41 invalid nonglobal input grid</li>
+<li>42 invalid spectral method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00887">887</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="earth__radius__mod_8F90_source.html#l00041">earth_radius_mod::earth_radius()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li><a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacespectral__interp__mod.html">spectral_interp_mod</a></li><li class="navelem"><a class="el" href="interfacespectral__interp__mod_1_1polatev4.html">polatev4</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/interfacespectral__interp__mod_1_1polatev4.js b/ver-4.4.0/interfacespectral__interp__mod_1_1polatev4.js
new file mode 100644
index 00000000..f9e2e84e
--- /dev/null
+++ b/ver-4.4.0/interfacespectral__interp__mod_1_1polatev4.js
@@ -0,0 +1,5 @@
+var interfacespectral__interp__mod_1_1polatev4 =
+[
+    [ "polatev4_grib1", "interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8", null ],
+    [ "polatev4_grib2", "interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__constants__mod_8F90.html b/ver-4.4.0/ip__constants__mod_8F90.html
new file mode 100644
index 00000000..3fb61912
--- /dev/null
+++ b/ver-4.4.0/ip__constants__mod_8F90.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_constants_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__constants__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Modules</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_constants_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Constants for use in NCEPLIBS-ip.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__constants__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__constants__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html">ip_constants_mod</a></td></tr>
+<tr class="memdesc:namespaceip__constants__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Module containing common constants. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ae6b74489db06341b78c3088b3f207011"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">ip_constants_mod::dpr</a> =180.0/pi</td></tr>
+<tr class="memdesc:ae6b74489db06341b78c3088b3f207011"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radians to degrees.  <a href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">More...</a><br /></td></tr>
+<tr class="separator:ae6b74489db06341b78c3088b3f207011"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af7783a977fa10c54d85282dc6ac5f545"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">ip_constants_mod::e2_wgs84</a> = 0.00669437999013</td></tr>
+<tr class="memdesc:af7783a977fa10c54d85282dc6ac5f545"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity squared of Earth defined by WGS-84.  <a href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">More...</a><br /></td></tr>
+<tr class="separator:af7783a977fa10c54d85282dc6ac5f545"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47f83a2267da693170054c958c401cd4"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">ip_constants_mod::pi</a> =3.14159265358979</td></tr>
+<tr class="memdesc:a47f83a2267da693170054c958c401cd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">PI.  <a href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">More...</a><br /></td></tr>
+<tr class="separator:a47f83a2267da693170054c958c401cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a309f7e3b1f83b6b272b12ce4fff501c5"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">ip_constants_mod::pi2</a> =pi/2.0</td></tr>
+<tr class="memdesc:a309f7e3b1f83b6b272b12ce4fff501c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">PI / 2.0.  <a href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">More...</a><br /></td></tr>
+<tr class="separator:a309f7e3b1f83b6b272b12ce4fff501c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fe7cdd86b44487666dc37f655d9ff15"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">ip_constants_mod::pi4</a> =pi/4.0</td></tr>
+<tr class="memdesc:a5fe7cdd86b44487666dc37f655d9ff15"><td class="mdescLeft">&#160;</td><td class="mdescRight">PI / 4.0.  <a href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">More...</a><br /></td></tr>
+<tr class="separator:a5fe7cdd86b44487666dc37f655d9ff15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6a501512f426673f064edbecd7a62fb"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">ip_constants_mod::rerth_wgs84</a> =6.378137E6</td></tr>
+<tr class="memdesc:ac6a501512f426673f064edbecd7a62fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth defined by WGS-84.  <a href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">More...</a><br /></td></tr>
+<tr class="separator:ac6a501512f426673f064edbecd7a62fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Constants for use in NCEPLIBS-ip. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser, George Gayno, Alex Richert </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__constants__mod_8F90_source.html">ip_constants_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__constants__mod_8F90.html">ip_constants_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__constants__mod_8F90.js b/ver-4.4.0/ip__constants__mod_8F90.js
new file mode 100644
index 00000000..1cc27c8a
--- /dev/null
+++ b/ver-4.4.0/ip__constants__mod_8F90.js
@@ -0,0 +1,9 @@
+var ip__constants__mod_8F90 =
+[
+    [ "dpr", "ip__constants__mod_8F90.html#ae6b74489db06341b78c3088b3f207011", null ],
+    [ "e2_wgs84", "ip__constants__mod_8F90.html#af7783a977fa10c54d85282dc6ac5f545", null ],
+    [ "pi", "ip__constants__mod_8F90.html#a47f83a2267da693170054c958c401cd4", null ],
+    [ "pi2", "ip__constants__mod_8F90.html#a309f7e3b1f83b6b272b12ce4fff501c5", null ],
+    [ "pi4", "ip__constants__mod_8F90.html#a5fe7cdd86b44487666dc37f655d9ff15", null ],
+    [ "rerth_wgs84", "ip__constants__mod_8F90.html#ac6a501512f426673f064edbecd7a62fb", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__constants__mod_8F90_source.html b/ver-4.4.0/ip__constants__mod_8F90_source.html
new file mode 100644
index 00000000..2f3ddc47
--- /dev/null
+++ b/ver-4.4.0/ip__constants__mod_8F90_source.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_constants_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__constants__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_constants_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__constants__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="namespaceip__constants__mod.html">    9</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__constants__mod.html">ip_constants_mod</a></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">public</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  </div>
+<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">   14</a></span>&#160;<span class="keywordtype">  real</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a>=3.14159265358979</div>
+<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">   15</a></span>&#160;<span class="keywordtype">  real</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>=180.0/<a class="code" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a> </div>
+<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">   16</a></span>&#160;<span class="keywordtype">  real</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">pi2</a>=<a class="code" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a>/2.0 </div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">   17</a></span>&#160;<span class="keywordtype">  real</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">pi4</a>=<a class="code" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a>/4.0 </div>
+<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">   18</a></span>&#160;<span class="keywordtype">  real</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">rerth_wgs84</a>=6.378137e6 </div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">   19</a></span>&#160;<span class="keywordtype">  real</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">e2_wgs84</a> = 0.00669437999013</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__constants__mod.html">ip_constants_mod</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="ttc" id="anamespaceip__constants__mod_html"><div class="ttname"><a href="namespaceip__constants__mod.html">ip_constants_mod</a></div><div class="ttdoc">Module containing common constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00009">ip_constants_mod.F90:9</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_a309f7e3b1f83b6b272b12ce4fff501c5"><div class="ttname"><a href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">ip_constants_mod::pi2</a></div><div class="ttdeci">real, parameter pi2</div><div class="ttdoc">PI / 2.0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00016">ip_constants_mod.F90:16</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_a47f83a2267da693170054c958c401cd4"><div class="ttname"><a href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">ip_constants_mod::pi</a></div><div class="ttdeci">real, parameter pi</div><div class="ttdoc">PI.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00014">ip_constants_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_a5fe7cdd86b44487666dc37f655d9ff15"><div class="ttname"><a href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">ip_constants_mod::pi4</a></div><div class="ttdeci">real, parameter pi4</div><div class="ttdoc">PI / 4.0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00017">ip_constants_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_ac6a501512f426673f064edbecd7a62fb"><div class="ttname"><a href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">ip_constants_mod::rerth_wgs84</a></div><div class="ttdeci">real, parameter rerth_wgs84</div><div class="ttdoc">Radius of the Earth defined by WGS-84.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00018">ip_constants_mod.F90:18</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_ae6b74489db06341b78c3088b3f207011"><div class="ttname"><a href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">ip_constants_mod::dpr</a></div><div class="ttdeci">real, parameter dpr</div><div class="ttdoc">Radians to degrees.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00015">ip_constants_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_af7783a977fa10c54d85282dc6ac5f545"><div class="ttname"><a href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">ip_constants_mod::e2_wgs84</a></div><div class="ttdeci">real, parameter e2_wgs84</div><div class="ttdoc">Eccentricity squared of Earth defined by WGS-84.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00019">ip_constants_mod.F90:19</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__constants__mod_8F90.html">ip_constants_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__equid__cylind__grid__mod_8F90.html b/ver-4.4.0/ip__equid__cylind__grid__mod_8F90.html
new file mode 100644
index 00000000..666b0215
--- /dev/null
+++ b/ver-4.4.0/ip__equid__cylind__grid__mod_8F90.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_equid_cylind_grid_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__equid__cylind__grid__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_equid_cylind_grid_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Equidistant cylindrical grib decoder and grid coordinate transformations.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__equid__cylind__grid__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__equid__cylind__grid__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html">ip_equid_cylind_grid_mod</a></td></tr>
+<tr class="memdesc:namespaceip__equid__cylind__grid__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equidistant cylindrical grib decoder and grid coordinate transformations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a5a70b82abdce76bef22cdeaa96a986c2"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">ip_equid_cylind_grid_mod::equid_cylind_grid_area</a> (RLAT, AREA)</td></tr>
+<tr class="memdesc:a5a70b82abdce76bef22cdeaa96a986c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the grid box area for a equidistant cylindrical grid.  <a href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">More...</a><br /></td></tr>
+<tr class="separator:a5a70b82abdce76bef22cdeaa96a986c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a039501b44cd3ad4409983e193d509afd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">ip_equid_cylind_grid_mod::equid_cylind_map_jacob</a> (XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a039501b44cd3ad4409983e193d509afd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the map jacobians for a equidistant cylindrical grid.  <a href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">More...</a><br /></td></tr>
+<tr class="separator:a039501b44cd3ad4409983e193d509afd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade88ecea1c0bb4b4d5b0d08f8482268d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">ip_equid_cylind_grid_mod::equid_cylind_vect_rot</a> (CROT, SROT)</td></tr>
+<tr class="memdesc:ade88ecea1c0bb4b4d5b0d08f8482268d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the vector rotation sines and cosines for a equidistant cylindrical grid.  <a href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">More...</a><br /></td></tr>
+<tr class="separator:ade88ecea1c0bb4b4d5b0d08f8482268d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af20f6f308b5a33211c677b894e41b727"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">ip_equid_cylind_grid_mod::gdswzd_equid_cylind</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:af20f6f308b5a33211c677b894e41b727"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for equidistant cylindrical grids.  <a href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">More...</a><br /></td></tr>
+<tr class="separator:af20f6f308b5a33211c677b894e41b727"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d0132823d27b60835ebb59ead173477"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">ip_equid_cylind_grid_mod::init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a3d0132823d27b60835ebb59ead173477"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an equidistant cylindrical grid given a grib1_descriptor object.  <a href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">More...</a><br /></td></tr>
+<tr class="separator:a3d0132823d27b60835ebb59ead173477"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39d24c9468ecb7effd16972fd72e088a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">ip_equid_cylind_grid_mod::init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:a39d24c9468ecb7effd16972fd72e088a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an equidistant cylindrical grid given a grib2_descriptor object.  <a href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">More...</a><br /></td></tr>
+<tr class="separator:a39d24c9468ecb7effd16972fd72e088a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a30cb127d26d74d2de6ab3cbfd63183fb"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">ip_equid_cylind_grid_mod::dlat</a></td></tr>
+<tr class="memdesc:a30cb127d26d74d2de6ab3cbfd63183fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid resolution in degrees n/s direction.  <a href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">More...</a><br /></td></tr>
+<tr class="separator:a30cb127d26d74d2de6ab3cbfd63183fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46335f95ac343f7751bd519aec0a160f"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">ip_equid_cylind_grid_mod::dlon</a></td></tr>
+<tr class="memdesc:a46335f95ac343f7751bd519aec0a160f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid resolution in degrees e/w direction.  <a href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">More...</a><br /></td></tr>
+<tr class="separator:a46335f95ac343f7751bd519aec0a160f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5b84516fab9cee3316c07450f49746c"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">ip_equid_cylind_grid_mod::rerth</a></td></tr>
+<tr class="memdesc:ab5b84516fab9cee3316c07450f49746c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">More...</a><br /></td></tr>
+<tr class="separator:ab5b84516fab9cee3316c07450f49746c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Equidistant cylindrical grib decoder and grid coordinate transformations. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__equid__cylind__grid__mod_8F90.html">ip_equid_cylind_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__equid__cylind__grid__mod_8F90.js b/ver-4.4.0/ip__equid__cylind__grid__mod_8F90.js
new file mode 100644
index 00000000..aa7b18ea
--- /dev/null
+++ b/ver-4.4.0/ip__equid__cylind__grid__mod_8F90.js
@@ -0,0 +1,13 @@
+var ip__equid__cylind__grid__mod_8F90 =
+[
+    [ "ip_equid_cylind_grid", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid" ],
+    [ "equid_cylind_grid_area", "ip__equid__cylind__grid__mod_8F90.html#a5a70b82abdce76bef22cdeaa96a986c2", null ],
+    [ "equid_cylind_map_jacob", "ip__equid__cylind__grid__mod_8F90.html#a039501b44cd3ad4409983e193d509afd", null ],
+    [ "equid_cylind_vect_rot", "ip__equid__cylind__grid__mod_8F90.html#ade88ecea1c0bb4b4d5b0d08f8482268d", null ],
+    [ "gdswzd_equid_cylind", "ip__equid__cylind__grid__mod_8F90.html#af20f6f308b5a33211c677b894e41b727", null ],
+    [ "init_grib1", "ip__equid__cylind__grid__mod_8F90.html#a3d0132823d27b60835ebb59ead173477", null ],
+    [ "init_grib2", "ip__equid__cylind__grid__mod_8F90.html#a39d24c9468ecb7effd16972fd72e088a", null ],
+    [ "dlat", "ip__equid__cylind__grid__mod_8F90.html#a30cb127d26d74d2de6ab3cbfd63183fb", null ],
+    [ "dlon", "ip__equid__cylind__grid__mod_8F90.html#a46335f95ac343f7751bd519aec0a160f", null ],
+    [ "rerth", "ip__equid__cylind__grid__mod_8F90.html#ab5b84516fab9cee3316c07450f49746c", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__equid__cylind__grid__mod_8F90_source.html b/ver-4.4.0/ip__equid__cylind__grid__mod_8F90_source.html
new file mode 100644
index 00000000..e6c9e0ca
--- /dev/null
+++ b/ver-4.4.0/ip__equid__cylind__grid__mod_8F90_source.html
@@ -0,0 +1,399 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_equid_cylind_grid_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__equid__cylind__grid__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_equid_cylind_grid_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__equid__cylind__grid__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160; </div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html">   17</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__equid__cylind__grid__mod.html">ip_equid_cylind_grid_mod</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">   26</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>) :: <a class="code" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc">   27</a></span>&#160;<span class="keywordtype">     real</span> :: hi</div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7">   28</a></span>&#160;<span class="keywordtype">     real</span> :: rlat1</div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871">   29</a></span>&#160;<span class="keywordtype">     real</span> :: rlon1</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42">   30</a></span>&#160;<span class="keywordtype">     real</span> :: rlat2</div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea">   31</a></span>&#160;<span class="keywordtype">     real</span> :: rlon2</div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719">   32</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">dlat</a></div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7">   33</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">dlon</a></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70">   35</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">init_grib1</a></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db">   36</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">init_grib2</a></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3">   37</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a> =&gt; <a class="code" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">gdswzd_equid_cylind</a> </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">   40</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">dlat</a></div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">   41</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">dlon</a></div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">   42</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">rerth</a></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">   53</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">init_grib1</a>(self, g1_desc)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordtype">integer</span> :: iscan</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    associate(kgds =&gt; g1_desc%gds)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      self%IM=kgds(2)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      self%JM=kgds(3)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      self%RLAT1=kgds(4)*1.e-3</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      self%RLON1=kgds(5)*1.e-3</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      self%RLAT2=kgds(7)*1.e-3</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      self%RLON2=kgds(8)*1.e-3</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      iscan=mod(kgds(11)/128,2)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      self%HI=(-1.)**iscan</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      self%DLON=self%HI*(mod(self%HI*(self%RLON2-self%RLON1)-1+3600,360.)+1)/(self%IM-1)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      self%DLAT=(self%RLAT2-self%RLAT1)/(self%JM-1)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="comment">! defaults</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      self%iwrap = 0</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      self%nscan = mod(kgds(11) / 32, 2)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      self%iwrap = nint(360/abs(self%dlon))</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      <span class="keywordflow">if</span>(self%im &lt; self%iwrap) self%iwrap=0</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      <span class="keywordflow">if</span>(self%iwrap &gt; 0 .and. mod(self%iwrap,2) == 0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;         <span class="keywordflow">if</span>(abs(self%rlat1) &gt; 90-0.25*self%dlat) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            self%jwrap1 = 2</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;         <span class="keywordflow">elseif</span>(abs(self%rlat1) &gt; 90-0.75*self%dlat) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;            self%jwrap1 = 1</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordflow">         endif</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;         <span class="keywordflow">if</span>(abs(self%rlat2) &gt; 90-0.25*self%dlat) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;            self%jwrap2 = 2 * self%jm</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;         <span class="keywordflow">elseif</span>(abs(self%rlat2) &gt; 90-0.75*self%dlat) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;            self%jwrap2 = 2 * self%jm+1</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordflow">         endif</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordflow">      endif</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      self%rerth = 6.3712e6</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      self%eccen_squared = 0.0</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">init_grib1</a></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  </div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">  109</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">init_grib2</a>(self, g2_desc)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordtype">type</span>(grib2_descriptor), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">integer</span> :: iscale, iscan</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    associate(igdtmpl =&gt; g2_desc%gdt_tmpl, igdtlen =&gt; g2_desc%gdt_len)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      self%IM=igdtmpl(8)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      self%JM=igdtmpl(9)</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      iscale=igdtmpl(10)*igdtmpl(11)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      self%RLAT1=float(igdtmpl(12))/float(iscale)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      self%RLON1=float(igdtmpl(13))/float(iscale)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      self%RLAT2=float(igdtmpl(15))/float(iscale)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      self%RLON2=float(igdtmpl(16))/float(iscale)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      iscan=mod(igdtmpl(19)/128,2)</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      self%HI=(-1.)**iscan</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      self%DLON=self%HI*(mod(self%HI*(self%RLON2-self%RLON1)-1+3600,360.)+1)/(self%IM-1)</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      self%DLAT=(self%RLAT2-self%RLAT1)/(self%JM-1)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      self%nscan = mod(igdtmpl(19)/32,2)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      self%iwrap = nint(360/abs(self%DLON))</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keywordflow">if</span>(self%im.lt.self%iwrap) self%iwrap=0</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      self%jwrap1=0</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      self%jwrap2=0</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      <span class="keywordflow">if</span>(self%im &lt; self%iwrap) self%iwrap=0</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      <span class="keywordflow">if</span>(self%iwrap &gt; 0 .and. mod(self%iwrap,2) == 0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;         <span class="keywordflow">if</span>(abs(self%rlat1) &gt; 90-0.25*self%dlat) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;            self%jwrap1 = 2</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;         <span class="keywordflow">elseif</span>(abs(self%rlat1) &gt; 90-0.75*self%dlat) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;            self%jwrap1 = 1</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keywordflow">         endif</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;         <span class="keywordflow">if</span>(abs(self%rlat2) &gt; 90-0.25*self%dlat) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;            self%jwrap2 = 2 * self%jm</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;         <span class="keywordflow">elseif</span>(abs(self%rlat2) &gt; 90-0.75*self%dlat) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;            self%jwrap2 = 2 * self%jm+1</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keywordflow">         endif</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keywordflow">      endif</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      <span class="keyword">call </span>earth_radius(igdtmpl, igdtlen, self%rerth, self%eccen_squared)</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">init_grib2</a></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160; </div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">  203</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">gdswzd_equid_cylind</a>(self,IOPT,NPTS,FILL, &amp;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;       XPTS,YPTS,RLON,RLAT,NRET,  &amp;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <span class="keywordtype">INTEGER</span>,             <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keywordtype">INTEGER</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,      <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,      <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,      <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="keywordtype">INTEGER</span>                            :: IM, JM, N</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <span class="keywordtype">LOGICAL</span>                            :: LROT, LMAP, LAREA</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keywordtype">    REAL</span>                               :: HI, RLAT1, RLON1, RLAT2, RLON2</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keywordtype">    REAL</span>                               :: XMAX, XMIN, YMAX, YMIN</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot)) crot=fill</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(srot)) srot=fill</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon)) xlon=fill</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlat)) xlat=fill</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylon)) ylon=fill</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylat)) ylat=fill</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area)) area=fill</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    im=self%im</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    jm=self%jm</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    rlat1=self%rlat1</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    rlon1=self%rlon1</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    rlat2=self%rlat2</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    rlon2=self%rlon2</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160; </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    hi=self%hi</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160; </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <a class="code" href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">rerth</a> = self%rerth</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <a class="code" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">dlat</a> = self%dlat</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <a class="code" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">dlon</a> = self%dlon</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160; </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    xmin=0</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    xmax=im+1</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordflow">IF</span>(im.EQ.nint(360/abs(<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">dlon</a>))) xmax=im+2</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    ymin=0</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    ymax=jm+1</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    nret=0</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot).AND.<span class="keyword">PRESENT</span>(srot))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;       lrot=.true.</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;       lrot=.false.</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon).AND.<span class="keyword">PRESENT</span>(xlat).AND.<span class="keyword">PRESENT</span>(ylon).AND.<span class="keyword">PRESENT</span>(ylat))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;       lmap=.true.</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;       lmap=.false.</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;       larea=.true.</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;       larea=.false.</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="comment">!  TRANSLATE GRID COORDINATES TO EARTH COORDINATES</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="keywordflow">IF</span>(iopt.EQ.0.OR.iopt.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;          <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;               ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;             rlon(n)=mod(rlon1+<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">dlon</a>*(xpts(n)-1)+3600,360.)</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;             rlat(n)=min(max(rlat1+<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">dlat</a>*(ypts(n)-1),-90.),90.)</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;             nret=nret+1</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;             <span class="keywordflow">IF</span>(lrot)  <span class="keyword">CALL </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">equid_cylind_vect_rot</a>(crot(n),srot(n))</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;             <span class="keywordflow">IF</span>(lmap)  <span class="keyword">CALL </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">equid_cylind_map_jacob</a>(xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;             <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">equid_cylind_grid_area</a>(rlat(n),area(n))</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;             rlon(n)=fill</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;             rlat(n)=fill</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;       <span class="comment">!  TRANSLATE EARTH COORDINATES TO GRID COORDINATES</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <span class="keywordflow">ELSEIF</span>(iopt.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;          <span class="keywordflow">IF</span>(abs(rlon(n)).LE.360.AND.abs(rlat(n)).LE.90) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;             xpts(n)=1+hi*mod(hi*(rlon(n)-rlon1)+3600,360.)/<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">dlon</a></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;             ypts(n)=1+(rlat(n)-rlat1)/<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">dlat</a></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;             <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND.  &amp;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;                  ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                nret=nret+1</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                <span class="keywordflow">IF</span>(lrot)  <span class="keyword">CALL </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">equid_cylind_vect_rot</a>(crot(n),srot(n))</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;                <span class="keywordflow">IF</span>(lmap)  <span class="keyword">CALL </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">equid_cylind_map_jacob</a>(xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">equid_cylind_grid_area</a>(rlat(n),area(n))</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                xpts(n)=fill</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                ypts(n)=fill</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;             xpts(n)=fill</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;             ypts(n)=fill</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">gdswzd_equid_cylind</a></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
+<div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">  327</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">equid_cylind_vect_rot</a>(CROT,SROT)</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160; </div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(  OUT)</span> :: CROT, SROT</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160; </div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    crot=1.0</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    srot=0.0</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160; </div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">equid_cylind_vect_rot</a></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; </div>
+<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">  346</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">equid_cylind_map_jacob</a>(XLON,XLAT,YLON,YLAT)</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(  OUT)</span> :: XLON,XLAT,YLON,YLAT</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160; </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    xlon=1.0/<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">dlon</a></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    xlat=0.</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    ylon=0.</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    ylat=1.0/<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">dlat</a></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160; </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">equid_cylind_map_jacob</a></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160; </div>
+<div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">  363</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">equid_cylind_grid_area</a>(RLAT,AREA)</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160; </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(IN   )</span> :: RLAT</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(  OUT)</span> :: AREA</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160; </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">PARAMETER</span>     :: PI=3.14159265358979</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">PARAMETER</span>     :: DPR=180./pi</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160; </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="keywordtype">    REAL</span>                               :: DSLAT, RLATU, RLATD</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160; </div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    rlatu=min(max(rlat+<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">dlat</a>/2,-90.),90.)</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    rlatd=min(max(rlat-<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">dlat</a>/2,-90.),90.)</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    dslat=sin(rlatu/dpr)-sin(rlatd/dpr)</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    area=<a class="code" href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">rerth</a>**2*abs(dslat*<a class="code" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">dlon</a>)/dpr</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160; </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">equid_cylind_grid_area</a></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160; </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html">ip_equid_cylind_grid_mod</a></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160; </div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html"><div class="ttname"><a href="namespaceearth__radius__mod.html">earth_radius_mod</a></div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00007">earth_radius_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html">ip_equid_cylind_grid_mod</a></div><div class="ttdoc">Equidistant cylindrical grib decoder and grid coordinate transformations.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00017">ip_equid_cylind_grid_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html_a039501b44cd3ad4409983e193d509afd"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">ip_equid_cylind_grid_mod::equid_cylind_map_jacob</a></div><div class="ttdeci">subroutine equid_cylind_map_jacob(XLON, XLAT, YLON, YLAT)</div><div class="ttdoc">Computes the map jacobians for a equidistant cylindrical grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00346">ip_equid_cylind_grid_mod.F90:347</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html_a30cb127d26d74d2de6ab3cbfd63183fb"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">ip_equid_cylind_grid_mod::dlat</a></div><div class="ttdeci">real dlat</div><div class="ttdoc">Grid resolution in degrees n/s direction.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00040">ip_equid_cylind_grid_mod.F90:40</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html_a39d24c9468ecb7effd16972fd72e088a"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">ip_equid_cylind_grid_mod::init_grib2</a></div><div class="ttdeci">subroutine init_grib2(self, g2_desc)</div><div class="ttdoc">Initializes an equidistant cylindrical grid given a grib2_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00109">ip_equid_cylind_grid_mod.F90:110</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html_a3d0132823d27b60835ebb59ead173477"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">ip_equid_cylind_grid_mod::init_grib1</a></div><div class="ttdeci">subroutine init_grib1(self, g1_desc)</div><div class="ttdoc">Initializes an equidistant cylindrical grid given a grib1_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00053">ip_equid_cylind_grid_mod.F90:54</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html_a46335f95ac343f7751bd519aec0a160f"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">ip_equid_cylind_grid_mod::dlon</a></div><div class="ttdeci">real dlon</div><div class="ttdoc">Grid resolution in degrees e/w direction.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00041">ip_equid_cylind_grid_mod.F90:41</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html_a5a70b82abdce76bef22cdeaa96a986c2"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">ip_equid_cylind_grid_mod::equid_cylind_grid_area</a></div><div class="ttdeci">subroutine equid_cylind_grid_area(RLAT, AREA)</div><div class="ttdoc">Computes the grid box area for a equidistant cylindrical grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00363">ip_equid_cylind_grid_mod.F90:364</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html_ab5b84516fab9cee3316c07450f49746c"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">ip_equid_cylind_grid_mod::rerth</a></div><div class="ttdeci">real rerth</div><div class="ttdoc">Radius of the Earth.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00042">ip_equid_cylind_grid_mod.F90:42</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html_ade88ecea1c0bb4b4d5b0d08f8482268d"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">ip_equid_cylind_grid_mod::equid_cylind_vect_rot</a></div><div class="ttdeci">subroutine equid_cylind_vect_rot(CROT, SROT)</div><div class="ttdoc">Computes the vector rotation sines and cosines for a equidistant cylindrical grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00327">ip_equid_cylind_grid_mod.F90:328</a></div></div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html_af20f6f308b5a33211c677b894e41b727"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">ip_equid_cylind_grid_mod::gdswzd_equid_cylind</a></div><div class="ttdeci">subroutine gdswzd_equid_cylind(self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for equidistant cylindrical g...</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00203">ip_equid_cylind_grid_mod.F90:206</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="astructip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid_html"><div class="ttname"><a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid_mod::ip_equid_cylind_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00026">ip_equid_cylind_grid_mod.F90:26</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__equid__cylind__grid__mod_8F90.html">ip_equid_cylind_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__gaussian__grid__mod_8F90.html b/ver-4.4.0/ip__gaussian__grid__mod_8F90.html
new file mode 100644
index 00000000..adab16e7
--- /dev/null
+++ b/ver-4.4.0/ip__gaussian__grid__mod_8F90.html
@@ -0,0 +1,169 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_gaussian_grid_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__gaussian__grid__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_gaussian_grid_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Gaussian grid coordinate transformations.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__gaussian__grid__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid_mod::ip_gaussian_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__gaussian__grid__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html">ip_gaussian_grid_mod</a></td></tr>
+<tr class="memdesc:namespaceip__gaussian__grid__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gaussian grid coordinate transformations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ab602a870a477c7ab77438700af4e7780"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">ip_gaussian_grid_mod::gaussian_grid_area</a> (YPTS, AREA)</td></tr>
+<tr class="memdesc:ab602a870a477c7ab77438700af4e7780"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the grid box area for a gaussian cylindrical grid.  <a href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">More...</a><br /></td></tr>
+<tr class="separator:ab602a870a477c7ab77438700af4e7780"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adca7b03877c6a7048ff1716a95e0bd9d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">ip_gaussian_grid_mod::gaussian_map_jacob</a> (YPTS, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:adca7b03877c6a7048ff1716a95e0bd9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the map jacobians for a gaussian cylindrical grid.  <a href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">More...</a><br /></td></tr>
+<tr class="separator:adca7b03877c6a7048ff1716a95e0bd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac72eec96d0012fbe0f0ec7c520f40dad"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">ip_gaussian_grid_mod::gaussian_vect_rot</a> (CROT, SROT)</td></tr>
+<tr class="memdesc:ac72eec96d0012fbe0f0ec7c520f40dad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the vector rotation sines and cosines for a gaussian cylindrical grid.  <a href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">More...</a><br /></td></tr>
+<tr class="separator:ac72eec96d0012fbe0f0ec7c520f40dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6eefd9270b3f9bb2c59a77bea4ecf1b9"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">ip_gaussian_grid_mod::gdswzd_gaussian</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a6eefd9270b3f9bb2c59a77bea4ecf1b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.  <a href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">More...</a><br /></td></tr>
+<tr class="separator:a6eefd9270b3f9bb2c59a77bea4ecf1b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8fe2ee732a3a2db4891a6431787a0b01"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">ip_gaussian_grid_mod::init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a8fe2ee732a3a2db4891a6431787a0b01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib1_descriptor object.  <a href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">More...</a><br /></td></tr>
+<tr class="separator:a8fe2ee732a3a2db4891a6431787a0b01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae048ac033628515113b11b8c7364e0c2"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">ip_gaussian_grid_mod::init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:ae048ac033628515113b11b8c7364e0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib2_descriptor object.  <a href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">More...</a><br /></td></tr>
+<tr class="separator:ae048ac033628515113b11b8c7364e0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ae2697b9c4dbe4945276633d1951e79fc"><td class="memItemLeft" align="right" valign="top">real, dimension(:), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">ip_gaussian_grid_mod::blat</a></td></tr>
+<tr class="memdesc:ae2697b9c4dbe4945276633d1951e79fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gaussian latitude for each parallel.  <a href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">More...</a><br /></td></tr>
+<tr class="separator:ae2697b9c4dbe4945276633d1951e79fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8852b7cfb7b99318140c66b0c551dc6d"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">ip_gaussian_grid_mod::dlon</a></td></tr>
+<tr class="memdesc:a8852b7cfb7b99318140c66b0c551dc6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">"i"-direction increment.  <a href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">More...</a><br /></td></tr>
+<tr class="separator:a8852b7cfb7b99318140c66b0c551dc6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5c4024263aa3eaef5801849ae32c15a"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">ip_gaussian_grid_mod::j1</a></td></tr>
+<tr class="memdesc:af5c4024263aa3eaef5801849ae32c15a"><td class="mdescLeft">&#160;</td><td class="mdescRight">'j' index of first grid point within the global array of latitudes.  <a href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">More...</a><br /></td></tr>
+<tr class="separator:af5c4024263aa3eaef5801849ae32c15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67d6cd6d188a8bded8bdf64927617028"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">ip_gaussian_grid_mod::jh</a></td></tr>
+<tr class="memdesc:a67d6cd6d188a8bded8bdf64927617028"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan mode flag in 'j' direction.  <a href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">More...</a><br /></td></tr>
+<tr class="separator:a67d6cd6d188a8bded8bdf64927617028"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8213e02ccf4325ad5db14f2e48990da2"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">ip_gaussian_grid_mod::rerth</a></td></tr>
+<tr class="memdesc:a8213e02ccf4325ad5db14f2e48990da2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the earth.  <a href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">More...</a><br /></td></tr>
+<tr class="separator:a8213e02ccf4325ad5db14f2e48990da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3591b5701f3d03931c6a9d5278e161dc"><td class="memItemLeft" align="right" valign="top">real, dimension(:), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ip_gaussian_grid_mod::ylat_row</a></td></tr>
+<tr class="memdesc:a3591b5701f3d03931c6a9d5278e161dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">dy/dlat for each row in 1/degrees.  <a href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">More...</a><br /></td></tr>
+<tr class="separator:a3591b5701f3d03931c6a9d5278e161dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Gaussian grid coordinate transformations. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__gaussian__grid__mod_8F90.html">ip_gaussian_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__gaussian__grid__mod_8F90.js b/ver-4.4.0/ip__gaussian__grid__mod_8F90.js
new file mode 100644
index 00000000..d975899c
--- /dev/null
+++ b/ver-4.4.0/ip__gaussian__grid__mod_8F90.js
@@ -0,0 +1,16 @@
+var ip__gaussian__grid__mod_8F90 =
+[
+    [ "ip_gaussian_grid", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html", "structip__gaussian__grid__mod_1_1ip__gaussian__grid" ],
+    [ "gaussian_grid_area", "ip__gaussian__grid__mod_8F90.html#ab602a870a477c7ab77438700af4e7780", null ],
+    [ "gaussian_map_jacob", "ip__gaussian__grid__mod_8F90.html#adca7b03877c6a7048ff1716a95e0bd9d", null ],
+    [ "gaussian_vect_rot", "ip__gaussian__grid__mod_8F90.html#ac72eec96d0012fbe0f0ec7c520f40dad", null ],
+    [ "gdswzd_gaussian", "ip__gaussian__grid__mod_8F90.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9", null ],
+    [ "init_grib1", "ip__gaussian__grid__mod_8F90.html#a8fe2ee732a3a2db4891a6431787a0b01", null ],
+    [ "init_grib2", "ip__gaussian__grid__mod_8F90.html#ae048ac033628515113b11b8c7364e0c2", null ],
+    [ "blat", "ip__gaussian__grid__mod_8F90.html#ae2697b9c4dbe4945276633d1951e79fc", null ],
+    [ "dlon", "ip__gaussian__grid__mod_8F90.html#a8852b7cfb7b99318140c66b0c551dc6d", null ],
+    [ "j1", "ip__gaussian__grid__mod_8F90.html#af5c4024263aa3eaef5801849ae32c15a", null ],
+    [ "jh", "ip__gaussian__grid__mod_8F90.html#a67d6cd6d188a8bded8bdf64927617028", null ],
+    [ "rerth", "ip__gaussian__grid__mod_8F90.html#a8213e02ccf4325ad5db14f2e48990da2", null ],
+    [ "ylat_row", "ip__gaussian__grid__mod_8F90.html#a3591b5701f3d03931c6a9d5278e161dc", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__gaussian__grid__mod_8F90_source.html b/ver-4.4.0/ip__gaussian__grid__mod_8F90_source.html
new file mode 100644
index 00000000..1cdc428c
--- /dev/null
+++ b/ver-4.4.0/ip__gaussian__grid__mod_8F90_source.html
@@ -0,0 +1,454 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_gaussian_grid_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__gaussian__grid__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_gaussian_grid_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__gaussian__grid__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html">   14</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__gaussian__grid__mod.html">ip_gaussian_grid_mod</a></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__constants__mod.html">ip_constants_mod</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">   24</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>) :: <a class="code" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a></div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4">   25</a></span>&#160;     <span class="keywordtype">integer</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a></div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8">   26</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">dlon</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc">   27</a></span>&#160;<span class="keywordtype">     real</span> :: rlat1</div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d">   28</a></span>&#160;<span class="keywordtype">     real</span> :: rlon1</div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44">   29</a></span>&#160;<span class="keywordtype">     real</span> :: rlon2</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc">   30</a></span>&#160;<span class="keywordtype">     real</span> :: hi</div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34">   31</a></span>&#160;     <span class="keywordtype">integer</span> :: jg</div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903">   32</a></span>&#160;     <span class="keywordtype">integer</span> :: jscan</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7">   35</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">init_grib1</a></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a">   37</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">init_grib2</a></div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885">   40</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a> =&gt; <a class="code" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">gdswzd_gaussian</a></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">   43</a></span>&#160;  <span class="keywordtype">INTEGER</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a></div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">   44</a></span>&#160;  <span class="keywordtype">INTEGER</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a></div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">   45</a></span>&#160;<span class="keywordtype">  REAL</span>, <span class="keywordtype">ALLOCATABLE</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(:)</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">   46</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">dlon</a></div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">   47</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">rerth</a></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">   48</a></span>&#160;<span class="keywordtype">  REAL</span>, <span class="keywordtype">ALLOCATABLE</span> :: <a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(:)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">   59</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">init_grib1</a>(self, g1_desc)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordtype">integer</span> :: iscan, jg</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    associate(kgds =&gt; g1_desc%gds)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      self%rerth = 6.3712e6</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      self%eccen_squared = 0.0</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      self%IM=kgds(2)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      self%JM=kgds(3)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      self%RLAT1=kgds(4)*1.e-3</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      self%RLON1=kgds(5)*1.e-3</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      self%RLON2=kgds(8)*1.e-3</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      self%JG=kgds(10)*2</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      iscan=mod(kgds(11)/128,2)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      self%JSCAN=mod(kgds(11)/64,2)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      self%HI=(-1.)**iscan</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      self%JH=(-1)**self%JSCAN</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;      self%DLON=self%HI*(mod(self%HI*(self%RLON2-self%RLON1)-1+3600,360.)+1)/(self%IM-1)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      self%iwrap = 0</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      self%nscan = mod(kgds(11) / 32, 2)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      self%iwrap=nint(360 / abs(self%dlon))</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keywordflow">if</span>(self%im &lt; self%iwrap) self%iwrap = 0</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      <span class="keywordflow">if</span>(self%iwrap &gt; 0 .and. mod(self%iwrap, 2) == 0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;         jg=kgds(10)*2</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;         <span class="keywordflow">if</span>(self%jm == self%jg) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;            self%jwrap1 = 1</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;            self%jwrap2 = 2 * self%jm + 1</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keywordflow">         endif</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordflow">      endif</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">init_grib1</a></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">  108</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">init_grib2</a>(self, g2_desc)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">type</span>(grib2_descriptor), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordtype">integer</span> :: iscale, iscan, jg</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    associate(igdtmpl =&gt; g2_desc%gdt_tmpl, igdtlen =&gt; g2_desc%gdt_len)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <span class="keyword">call </span>earth_radius(igdtmpl, igdtlen, self%rerth, self%eccen_squared)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      self%IM=igdtmpl(8)</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      self%JM=igdtmpl(9)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      iscale=igdtmpl(10)*igdtmpl(11)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      self%RLAT1=float(igdtmpl(12))/float(iscale)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      self%RLON1=float(igdtmpl(13))/float(iscale)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      self%RLON2=float(igdtmpl(16))/float(iscale)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      self%JG=igdtmpl(18)*2</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      iscan=mod(igdtmpl(19)/128,2)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      self%JSCAN=mod(igdtmpl(19)/64,2)</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      self%HI=(-1.)**iscan</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      self%JH=(-1)**self%JSCAN</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      self%DLON=self%HI*(mod(self%HI*(self%RLON2-self%RLON1)-1+3600,360.)+1)/(self%IM-1)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      self%iwrap = nint(360 / abs(self%dlon))</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      <span class="keywordflow">if</span>(self%im &lt; self%iwrap) self%iwrap = 0</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <span class="keywordflow">if</span>(self%iwrap &gt; 0 .and. mod(self%iwrap, 2) == 0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;         jg = igdtmpl(18) * 2</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;         <span class="keywordflow">if</span>(self%jm == jg) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;            self%jwrap1=1</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;            self%jwrap2 = 2 * self%jm + 1</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keywordflow">         endif</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordflow">      endif</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      self%nscan = mod(igdtmpl(19) / 32, 2)</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">init_grib2</a></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">  194</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">gdswzd_gaussian</a>(self,IOPT,NPTS,FILL, &amp;</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;       XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,  <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,  <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,  <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: JSCAN, IM, JM</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: J, JA, JG</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: N</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keywordtype">LOGICAL</span>                        :: LROT, LMAP, LAREA</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">ALLOCATABLE</span>   :: ALAT(:), ALAT_JSCAN(:)</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">ALLOCATABLE</span>   :: ALAT_TEMP(:),BLAT_TEMP(:)</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keywordtype">    REAL</span>                           :: HI, RLATA, RLATB, RLAT1, RLON1, RLON2</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keywordtype">    REAL</span>                           :: XMAX, XMIN, YMAX, YMIN, YPTSA, YPTSB</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keywordtype">    REAL</span>                           :: WB</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160; </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot)) crot=fill</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(srot)) srot=fill</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon)) xlon=fill</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlat)) xlat=fill</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylon)) ylon=fill</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylat)) ylat=fill</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area)) area=fill</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160; </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot).AND.<span class="keyword">PRESENT</span>(srot))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;       lrot=.true.</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;       lrot=.false.</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon).AND.<span class="keyword">PRESENT</span>(xlat).AND.<span class="keyword">PRESENT</span>(ylon).AND.<span class="keyword">PRESENT</span>(ylat))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;       lmap=.true.</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;       lmap=.false.</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;       larea=.true.</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;       larea=.false.</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160; </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    im=self%im</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    jm=self%jm</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160; </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    rlat1=self%rlat1</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    rlon1=self%rlon1</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    rlon2=self%rlon2</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160; </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    jg=self%jg</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    jscan=self%jscan</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    hi=self%hi</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160; </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    <a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a>=self%jh</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <a class="code" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">dlon</a>=self%dlon</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <a class="code" href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">rerth</a> = self%rerth</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160; </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keyword">ALLOCATE</span>(alat_temp(jg))</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keyword">ALLOCATE</span>(blat_temp(jg))</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keyword">CALL </span>splat(4,jg,alat_temp,blat_temp)</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="keyword">ALLOCATE</span>(alat(0:jg+1))</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keyword">ALLOCATE</span>(<a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(0:jg+1))</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="comment">!$OMP PARALLEL DO PRIVATE(JA) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keywordflow">DO</span> ja=1,jg</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;       alat(ja)=real(dpr*asin(alat_temp(ja)))</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;       <a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(ja)=blat_temp(ja)</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keyword">DEALLOCATE</span>(alat_temp,blat_temp)</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    alat(0)=180.-alat(1)</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    alat(jg+1)=-alat(0)</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(0)=-<a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(1)</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(jg+1)=<a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(0)</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    <a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>=1</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="keywordflow">DO</span> <span class="keywordflow">WHILE</span>(<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>.LT.jg.AND.rlat1.LT.(alat(<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>)+alat(<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>+1))/2)</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;       <a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>=<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>+1</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keywordflow">IF</span>(lmap)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;       <span class="keyword">ALLOCATE</span>(alat_jscan(jg))</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;       <span class="keywordflow">DO</span> ja=1,jg</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;          alat_jscan(<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>+<a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a>*(ja-1))=alat(ja)</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;       <span class="keyword">ALLOCATE</span>(<a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(0:jg+1))</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;       <span class="keywordflow">DO</span> ja=2,(jg-1)</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;          <a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(ja)=2.0/(alat_jscan(ja+1)-alat_jscan(ja-1))</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;       <a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(1)=1.0/(alat_jscan(2)-alat_jscan(1))</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;       <a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(0)=<a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(1)</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;       <a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(jg)=1.0/(alat_jscan(jg)-alat_jscan(jg-1))</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;       <a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(jg+1)=<a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(jg)</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;       <span class="keyword">DEALLOCATE</span>(alat_jscan)</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    xmin=0</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    xmax=im+1</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="keywordflow">IF</span>(im.EQ.nint(360/abs(<a class="code" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">dlon</a>))) xmax=im+2</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    ymin=0.5</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    ymax=jm+0.5</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    nret=0</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="comment">!  TRANSLATE GRID COORDINATES TO EARTH COORDINATES</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="keywordflow">IF</span>(iopt.EQ.0.OR.iopt.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N,J,WB,RLATA,RLATB) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;          <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;               ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;             rlon(n)=mod(rlon1+<a class="code" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">dlon</a>*(xpts(n)-1)+3600,360.)</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;             j=int(ypts(n))</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;             wb=ypts(n)-j</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;             rlata=alat(<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>+<a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a>*(j-1))</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;             rlatb=alat(<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>+<a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a>*j)</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;             rlat(n)=rlata+wb*(rlatb-rlata)</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;             nret=nret+1</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;             <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">gaussian_vect_rot</a>(crot(n),srot(n))</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;             <span class="keywordflow">IF</span>(lmap) <span class="keyword">CALL </span><a class="code" href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">gaussian_map_jacob</a>(ypts(n),&amp;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                  xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;             <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">gaussian_grid_area</a>(ypts(n),area(n))</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;             rlon(n)=fill</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;             rlat(n)=fill</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160; </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;       <span class="comment">!  TRANSLATE EARTH COORDINATES TO GRID COORDINATES</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordflow">ELSEIF</span>(iopt.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N,JA,YPTSA, YPTSB, WB) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;          xpts(n)=fill</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;          ypts(n)=fill</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;          <span class="keywordflow">IF</span>(abs(rlon(n)).LE.360.AND.abs(rlat(n)).LE.90) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;             xpts(n)=1+hi*mod(hi*(rlon(n)-rlon1)+3600,360.)/<a class="code" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">dlon</a></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;             ja=min(int((jg+1)/180.*(90-rlat(n))),jg)</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;             <span class="keywordflow">IF</span>(rlat(n).GT.alat(ja)) ja=max(ja-2,0)</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;             <span class="keywordflow">IF</span>(rlat(n).LT.alat(ja+1)) ja=min(ja+2,jg)</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;             <span class="keywordflow">IF</span>(rlat(n).GT.alat(ja)) ja=ja-1</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;             <span class="keywordflow">IF</span>(rlat(n).LT.alat(ja+1)) ja=ja+1</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;             yptsa=1+<a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a>*(ja-<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>)</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;             yptsb=1+<a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a>*(ja+1-<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>)</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;             wb=(alat(ja)-rlat(n))/(alat(ja)-alat(ja+1))</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;             ypts(n)=yptsa+wb*(yptsb-yptsa)</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;             <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                  ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                nret=nret+1</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;                <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">gaussian_vect_rot</a>(crot(n),srot(n))</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;                <span class="keywordflow">IF</span>(lmap) <span class="keyword">CALL </span><a class="code" href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">gaussian_map_jacob</a>(ypts(n), &amp;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;                     xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;                <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">gaussian_grid_area</a>(ypts(n),area(n))</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;                xpts(n)=fill</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;                ypts(n)=fill</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keyword">DEALLOCATE</span>(alat, <a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>)</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordflow">IF</span> (<span class="keyword">ALLOCATED</span>(<a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>)) <span class="keyword">DEALLOCATE</span>(<a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>)</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160; </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">gdswzd_gaussian</a></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160; </div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">  376</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">gaussian_vect_rot</a>(CROT,SROT)</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160; </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(  OUT)</span> :: CROT, SROT</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160; </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    crot=1.0</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    srot=0.0</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160; </div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">gaussian_vect_rot</a></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160; </div>
+<div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">  396</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">gaussian_map_jacob</a>(YPTS, XLON, XLAT, YLON, YLAT)</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160; </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(IN   )</span> :: YPTS</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(  OUT)</span> :: XLON, XLAT, YLON, YLAT</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160; </div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    xlon=1/<a class="code" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">dlon</a></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    xlat=0.</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    ylon=0.</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    ylat=<a class="code" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a>(nint(ypts))</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160; </div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">gaussian_map_jacob</a></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160; </div>
+<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">  416</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">gaussian_grid_area</a>(YPTS,AREA)</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160; </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(IN   )</span> :: YPTS</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(  OUT)</span> :: AREA</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160; </div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: J</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160; </div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="keywordtype">    REAL</span>                           :: WB, WLAT, WLATA, WLATB</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160; </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    j = int(ypts)</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    wb=ypts-j</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    wlata=<a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>+<a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a>*(j-1))</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    wlatb=<a class="code" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a>(<a class="code" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a>+<a class="code" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a>*j)</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    wlat=wlata+wb*(wlatb-wlata)</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    area=real(<a class="code" href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">rerth</a>**2*wlat*<a class="code" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">dlon</a>/dpr)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160; </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">gaussian_grid_area</a></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__gaussian__grid__mod.html">ip_gaussian_grid_mod</a></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160; </div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html"><div class="ttname"><a href="namespaceearth__radius__mod.html">earth_radius_mod</a></div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00007">earth_radius_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html"><div class="ttname"><a href="namespaceip__constants__mod.html">ip_constants_mod</a></div><div class="ttdoc">Module containing common constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00009">ip_constants_mod.F90:9</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html">ip_gaussian_grid_mod</a></div><div class="ttdoc">Gaussian grid coordinate transformations.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00014">ip_gaussian_grid_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_a3591b5701f3d03931c6a9d5278e161dc"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ip_gaussian_grid_mod::ylat_row</a></div><div class="ttdeci">real, dimension(:), allocatable ylat_row</div><div class="ttdoc">dy/dlat for each row in 1/degrees.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00048">ip_gaussian_grid_mod.F90:48</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_a67d6cd6d188a8bded8bdf64927617028"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">ip_gaussian_grid_mod::jh</a></div><div class="ttdeci">integer jh</div><div class="ttdoc">Scan mode flag in 'j' direction.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00044">ip_gaussian_grid_mod.F90:44</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_a6eefd9270b3f9bb2c59a77bea4ecf1b9"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">ip_gaussian_grid_mod::gdswzd_gaussian</a></div><div class="ttdeci">subroutine gdswzd_gaussian(self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00194">ip_gaussian_grid_mod.F90:197</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_a8213e02ccf4325ad5db14f2e48990da2"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">ip_gaussian_grid_mod::rerth</a></div><div class="ttdeci">real rerth</div><div class="ttdoc">Radius of the earth.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00047">ip_gaussian_grid_mod.F90:47</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_a8852b7cfb7b99318140c66b0c551dc6d"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">ip_gaussian_grid_mod::dlon</a></div><div class="ttdeci">real dlon</div><div class="ttdoc">&quot;i&quot;-direction increment.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00046">ip_gaussian_grid_mod.F90:46</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_a8fe2ee732a3a2db4891a6431787a0b01"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">ip_gaussian_grid_mod::init_grib1</a></div><div class="ttdeci">subroutine init_grib1(self, g1_desc)</div><div class="ttdoc">Initializes a gaussian grid given a grib1_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00059">ip_gaussian_grid_mod.F90:60</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_ab602a870a477c7ab77438700af4e7780"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">ip_gaussian_grid_mod::gaussian_grid_area</a></div><div class="ttdeci">subroutine gaussian_grid_area(YPTS, AREA)</div><div class="ttdoc">Computes the grid box area for a gaussian cylindrical grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00416">ip_gaussian_grid_mod.F90:417</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_ac72eec96d0012fbe0f0ec7c520f40dad"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">ip_gaussian_grid_mod::gaussian_vect_rot</a></div><div class="ttdeci">subroutine gaussian_vect_rot(CROT, SROT)</div><div class="ttdoc">Computes the vector rotation sines and cosines for a gaussian cylindrical grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00376">ip_gaussian_grid_mod.F90:377</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_adca7b03877c6a7048ff1716a95e0bd9d"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">ip_gaussian_grid_mod::gaussian_map_jacob</a></div><div class="ttdeci">subroutine gaussian_map_jacob(YPTS, XLON, XLAT, YLON, YLAT)</div><div class="ttdoc">Computes the map jacobians for a gaussian cylindrical grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00396">ip_gaussian_grid_mod.F90:397</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_ae048ac033628515113b11b8c7364e0c2"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">ip_gaussian_grid_mod::init_grib2</a></div><div class="ttdeci">subroutine init_grib2(self, g2_desc)</div><div class="ttdoc">Initializes a gaussian grid given a grib2_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00108">ip_gaussian_grid_mod.F90:109</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_ae2697b9c4dbe4945276633d1951e79fc"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">ip_gaussian_grid_mod::blat</a></div><div class="ttdeci">real, dimension(:), allocatable blat</div><div class="ttdoc">Gaussian latitude for each parallel.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00045">ip_gaussian_grid_mod.F90:45</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html_af5c4024263aa3eaef5801849ae32c15a"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">ip_gaussian_grid_mod::j1</a></div><div class="ttdeci">integer j1</div><div class="ttdoc">'j' index of first grid point within the global array of latitudes.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00043">ip_gaussian_grid_mod.F90:43</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="astructip__gaussian__grid__mod_1_1ip__gaussian__grid_html"><div class="ttname"><a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid_mod::ip_gaussian_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00024">ip_gaussian_grid_mod.F90:24</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__gaussian__grid__mod_8F90.html">ip_gaussian_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__grid__descriptor__mod_8F90.html b/ver-4.4.0/ip__grid__descriptor__mod_8F90.html
new file mode 100644
index 00000000..d62a1480
--- /dev/null
+++ b/ver-4.4.0/ip__grid__descriptor__mod_8F90.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_descriptor_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__grid__descriptor__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_descriptor_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__grid__descriptor__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.  <a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grib-2 descriptor containing a grib2 GDT represented by an integer array.  <a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">ip_grid_descriptor_mod::init_descriptor</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor_mod::ip_grid_descriptor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract descriptor object which represents a grib1 or grib2 descriptor.  <a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html">ip_grid_descriptor_mod::operator(==)</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__grid__descriptor__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></td></tr>
+<tr class="memdesc:namespaceip__grid__descriptor__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:aa00884a7fca018535eaf0c2ebe26bc98"><td class="memItemLeft" align="right" valign="top">type(grib1_descriptor) function, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">ip_grid_descriptor_mod::init_grib1_descriptor</a> (gds)</td></tr>
+<tr class="memdesc:aa00884a7fca018535eaf0c2ebe26bc98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize grib-1 descriptor from integer grid definition section (GDS).  <a href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">More...</a><br /></td></tr>
+<tr class="separator:aa00884a7fca018535eaf0c2ebe26bc98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a143ac06a2a20697d01606a259213b451"><td class="memItemLeft" align="right" valign="top">type(grib2_descriptor) function, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">ip_grid_descriptor_mod::init_grib2_descriptor</a> (gdt_num, gdt_len, gdt_tmpl)</td></tr>
+<tr class="memdesc:a143ac06a2a20697d01606a259213b451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize grib-2 descriptor from integer grid definition template (GDT).  <a href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">More...</a><br /></td></tr>
+<tr class="separator:a143ac06a2a20697d01606a259213b451"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a202219f9c5c84fa04d3eb1c2208358ec"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">ip_grid_descriptor_mod::is_same_grid</a> (grid1, grid2)</td></tr>
+<tr class="memdesc:a202219f9c5c84fa04d3eb1c2208358ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grid descriptors are the same.  <a href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">More...</a><br /></td></tr>
+<tr class="separator:a202219f9c5c84fa04d3eb1c2208358ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bb3c5230b88012bddc3922bfa1cb019"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">ip_grid_descriptor_mod::is_same_grid_grib1</a> (self, grid_desc)</td></tr>
+<tr class="memdesc:a5bb3c5230b88012bddc3922bfa1cb019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grib1_descriptors are the same.  <a href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">More...</a><br /></td></tr>
+<tr class="separator:a5bb3c5230b88012bddc3922bfa1cb019"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75ac34ea9372afaa29b0df2ce8919988"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">ip_grid_descriptor_mod::is_same_grid_grib2</a> (self, grid_desc)</td></tr>
+<tr class="memdesc:a75ac34ea9372afaa29b0df2ce8919988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grib2_descriptors are the same.  <a href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">More...</a><br /></td></tr>
+<tr class="separator:a75ac34ea9372afaa29b0df2ce8919988"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__grid__descriptor__mod_8F90.html">ip_grid_descriptor_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__grid__descriptor__mod_8F90.js b/ver-4.4.0/ip__grid__descriptor__mod_8F90.js
new file mode 100644
index 00000000..4b84aa87
--- /dev/null
+++ b/ver-4.4.0/ip__grid__descriptor__mod_8F90.js
@@ -0,0 +1,13 @@
+var ip__grid__descriptor__mod_8F90 =
+[
+    [ "grib1_descriptor", "structip__grid__descriptor__mod_1_1grib1__descriptor.html", "structip__grid__descriptor__mod_1_1grib1__descriptor" ],
+    [ "grib2_descriptor", "structip__grid__descriptor__mod_1_1grib2__descriptor.html", "structip__grid__descriptor__mod_1_1grib2__descriptor" ],
+    [ "init_descriptor", "interfaceip__grid__descriptor__mod_1_1init__descriptor.html", "interfaceip__grid__descriptor__mod_1_1init__descriptor" ],
+    [ "ip_grid_descriptor", "structip__grid__descriptor__mod_1_1ip__grid__descriptor.html", "structip__grid__descriptor__mod_1_1ip__grid__descriptor" ],
+    [ "operator(==)", "interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html", "interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08" ],
+    [ "init_grib1_descriptor", "ip__grid__descriptor__mod_8F90.html#aa00884a7fca018535eaf0c2ebe26bc98", null ],
+    [ "init_grib2_descriptor", "ip__grid__descriptor__mod_8F90.html#a143ac06a2a20697d01606a259213b451", null ],
+    [ "is_same_grid", "ip__grid__descriptor__mod_8F90.html#a202219f9c5c84fa04d3eb1c2208358ec", null ],
+    [ "is_same_grid_grib1", "ip__grid__descriptor__mod_8F90.html#a5bb3c5230b88012bddc3922bfa1cb019", null ],
+    [ "is_same_grid_grib2", "ip__grid__descriptor__mod_8F90.html#a75ac34ea9372afaa29b0df2ce8919988", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__grid__descriptor__mod_8F90_source.html b/ver-4.4.0/ip__grid__descriptor__mod_8F90_source.html
new file mode 100644
index 00000000..f5e85720
--- /dev/null
+++ b/ver-4.4.0/ip__grid__descriptor__mod_8F90_source.html
@@ -0,0 +1,577 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_descriptor_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__grid__descriptor__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_grid_descriptor_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__grid__descriptor__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="namespaceip__grid__descriptor__mod.html">   15</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>, <a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>, <a class="code" href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">init_grib1_descriptor</a>, <a class="code" href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">init_grib2_descriptor</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  <span class="keywordtype">public</span> :: <span class="keyword">operator</span>(==)</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">   28</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">abstract</span> :: <a class="code" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1">   29</a></span>&#160;     <span class="keywordtype">integer</span> :: grid_num</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6">   32</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">   38</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>) :: <a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a></div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9">   39</a></span>&#160;     <span class="keywordtype">integer</span> :: gds(200)</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95">   42</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">is_same_grid_grib1</a></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">   47</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>) :: <a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19">   48</a></span>&#160;     <span class="keywordtype">integer</span> :: gdt_num</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06">   49</a></span>&#160;     <span class="keywordtype">integer</span> :: gdt_len</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe">   50</a></span>&#160;     <span class="keywordtype">integer</span>, <span class="keywordtype">allocatable</span> :: gdt_tmpl(:)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013">   53</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">is_same_grid_grib2</a></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html">   56</a></span>&#160;  <span class="keyword">interface</span> <span class="keyword">operator</span> (==)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="keyword">end interface </span><span class="keyword">operator</span> (==)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">   60</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">init_grib1_descriptor</a></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">init_grib2_descriptor</a></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e">   74</a></span>&#160;  <span class="keyword">function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">init_grib1_descriptor</a>(gds) <span class="keyword">result</span>(desc)</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) :: desc</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordtype">integer</span>, <span class="keywordtype">intent(in)</span> :: gds(:)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    desc%gds = gds</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    desc%grid_num = gds(1)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="comment">!call desc%decode_template()</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  <span class="keyword">end function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">init_grib1_descriptor</a></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c">   93</a></span>&#160;  <span class="keyword">function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">init_grib2_descriptor</a>(gdt_num, gdt_len, gdt_tmpl) <span class="keyword">result</span>(desc)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) :: desc</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordtype">integer</span>, <span class="keywordtype">intent(in)</span> :: gdt_num, gdt_len, gdt_tmpl(:)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    desc%grid_num = gdt_num</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    desc%gdt_num = gdt_num</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    desc%gdt_len = gdt_len</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keyword">allocate</span>(desc%gdt_tmpl(gdt_len))</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    desc%gdt_tmpl = gdt_tmpl</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="comment">!call desc%decode_template()</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keyword">end function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">init_grib2_descriptor</a></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
+<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c">  115</a></span>&#160;  <span class="keyword">logical </span><span class="keyword">function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a>(grid1, grid2)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), <span class="keywordtype">intent(in)</span> :: grid1, grid2</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordflow">select type</span>(grid1)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keywordflow">    type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;       <span class="keywordflow">select type</span>(grid2)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keywordflow">       type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;          <a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a> = grid1%is_same_grid_grib1(grid2)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordflow">          class default</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;          <a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a> = .false.</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keywordflow">    type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>)</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;       <span class="keywordflow">select type</span>(grid2)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keywordflow">       type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;          <a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a> = grid1%is_same_grid_grib2(grid2)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keywordflow">          class default</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;          <a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a> = .false.</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="keyword">end function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">  145</a></span>&#160;  <span class="keyword">logical </span><span class="keyword">function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">is_same_grid_grib1</a>(self, grid_desc) <span class="keyword">result</span>(same_grid)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: self, grid_desc</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordflow">if</span> (all(self%gds == grid_desc%gds)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;       same_grid = .true.</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;       same_grid = .false.</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keyword">end function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">is_same_grid_grib1</a></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">  164</a></span>&#160;  <span class="keyword">logical </span><span class="keyword">function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">is_same_grid_grib2</a>(self, grid_desc) <span class="keyword">result</span>(same_grid)</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), <span class="keywordtype">intent(in)</span> :: self, grid_desc</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    same_grid = .false.</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="keywordflow">if</span> (self%grid_num == grid_desc%grid_num) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;       <span class="keywordflow">if</span> (self%gdt_len == grid_desc%gdt_len) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;          <span class="keywordflow">if</span> (all(self%gdt_tmpl == grid_desc%gdt_tmpl)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;             same_grid = .true.</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keywordflow">          end if</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="keyword">end function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">is_same_grid_grib2</a></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="comment">! subroutine decode_template_grib1(self)</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <span class="comment">!   type(grib1_descriptor), intent(inout) :: self</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  <span class="comment">!   integer                            :: im, jm, iwrap, jg</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <span class="comment">!   integer                            :: iscan, kscan, nscan, nscan_field_pos</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="comment">!   integer                            :: jwrap1, jwrap2</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="comment">!   real                               :: dlat, dlon</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <span class="comment">!   real                               :: rlat1, rlat2</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="comment">!   real                               :: rlon1, rlon2</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160; </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <span class="comment">!   ! set a default value for this to check if it has changed</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="comment">!   ! for rotated grids nscan is set = 3, but in other places it&#39;s not, so use this special value</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="comment">!   ! just for field_position routine</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="comment">!   nscan_field_pos = -1</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160; </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  <span class="comment">!   im = self%gds(2)</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="comment">!   jm = self%gds(3)</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <span class="comment">!   iwrap = 0</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="comment">!   jwrap1 = 0</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <span class="comment">!   jwrap2 = 0</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="comment">!   nscan = mod(self%gds(11) / 32, 2)</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <span class="comment">!   kscan = 0</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160; </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="comment">!   select case(self%gds(1))</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <span class="comment">!   case(0)</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="comment">!      rlon1=self%gds(5)*1.e-3</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  <span class="comment">!      rlon2=self%gds(8)*1.e-3</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="comment">!      iscan=mod(self%gds(11)/128,2)</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <span class="comment">!      if(iscan.eq.0) then</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <span class="comment">!         dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="comment">!      else</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <span class="comment">!         dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="comment">!      iwrap=nint(360/abs(dlon))</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;  <span class="comment">!      if(im.lt.iwrap) iwrap=0</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="comment">!      if(iwrap.gt.0.and.mod(iwrap,2).eq.0) then</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="comment">!         rlat1=self%gds(4)*1.e-3</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  <span class="comment">!         rlat2=self%gds(7)*1.e-3</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="comment">!         dlat=abs(rlat2-rlat1)/(jm-1)</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="comment">!         if(abs(rlat1).gt.90-0.25*dlat) then</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <span class="comment">!            jwrap1=2</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  <span class="comment">!         elseif(abs(rlat1).gt.90-0.75*dlat) then</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="comment">!            jwrap1=1</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  <span class="comment">!         endif</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  <span class="comment">!         if(abs(rlat2).gt.90-0.25*dlat) then</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="comment">!            jwrap2=2*jm</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  <span class="comment">!         elseif(abs(rlat2).gt.90-0.75*dlat) then</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="comment">!            jwrap2=2*jm+1</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  <span class="comment">!         endif</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <span class="comment">!   case(1)</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="comment">!      rlon1=self%gds(5)*1.e-3</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  <span class="comment">!      rlon2=self%gds(8)*1.e-3</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <span class="comment">!      iscan=mod(self%gds(11)/128,2)</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="comment">!      if(iscan.eq.0) then</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <span class="comment">!         dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  <span class="comment">!      else</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="comment">!         dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  <span class="comment">!      iwrap=nint(360/abs(dlon))</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="comment">!      if(im.lt.iwrap) iwrap=0</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="comment">!   case(4)</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="comment">!      rlon1=self%gds(5)*1.e-3</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <span class="comment">!      rlon2=self%gds(8)*1.e-3</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  <span class="comment">!      iscan=mod(self%gds(11)/128,2)</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="comment">!      if(iscan.eq.0) then</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="comment">!         dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;  <span class="comment">!      else</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  <span class="comment">!         dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  <span class="comment">!      iwrap=nint(360/abs(dlon))</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="comment">!      if(im.lt.iwrap) iwrap=0</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="comment">!      if(iwrap.gt.0.and.mod(iwrap,2).eq.0) then</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  <span class="comment">!         jg=self%gds(10)*2</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="comment">!         if(jm.eq.jg) then</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  <span class="comment">!            jwrap1=1</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  <span class="comment">!            jwrap2=2*jm+1</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  <span class="comment">!         endif</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <span class="comment">!   case(203)</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <span class="comment">!      ! why is nscan set to 3 for this grid?</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  <span class="comment">!      nscan_field_pos = 3</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <span class="comment">!      kscan=mod(self%gds(11) / 256, 2)</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="comment">!   case default</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  <span class="comment">!      print *, &quot;grib1 grid type &quot;, self%gds(1), &quot; not recognized&quot;</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  <span class="comment">!      error stop</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <span class="comment">!   end select</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160; </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  <span class="comment">!   self%im = im</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <span class="comment">!   self%jm = jm</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  <span class="comment">!   self%nm = im * jm</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="comment">!   self%iwrap = iwrap</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="comment">!   self%jwrap1 = jwrap1</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="comment">!   self%jwrap2 = jwrap2</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <span class="comment">!   self%nscan = nscan</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160; </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  <span class="comment">!   if (nscan_field_pos == -1) then</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="comment">!      ! just use regular value of nscan</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="comment">!      self%nscan_field_pos = nscan</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <span class="comment">!   else</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="comment">!      ! nscan = 3 for rotated grids and is set to 3 for use in field_position</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="comment">!      self%nscan_field_pos = nscan_field_pos</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="comment">!   end if</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160; </div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <span class="comment">!   self%kscan = kscan</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160; </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="comment">! end subroutine decode_template_grib1</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160; </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="comment">! subroutine decode_template_grib2(self)</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  <span class="comment">!   type(grib2_descriptor), intent(inout) :: self</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160; </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  <span class="comment">!   integer                            :: im, jm, iwrap, jg</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="comment">!   integer                            :: i_offset_odd, i_offset_even</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  <span class="comment">!   integer                            :: iscan, kscan, nscan, nscan_field_pos</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  <span class="comment">!   integer                            :: jwrap1, jwrap2, iscale</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160; </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;  <span class="comment">!   real                               :: dlat, dlon</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  <span class="comment">!   real                               :: rlat1, rlat2</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  <span class="comment">!   real                               :: rlon1, rlon2</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160; </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  <span class="comment">!   nscan_field_pos = -1</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  <span class="comment">!   select case(self%gdt_num)</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  <span class="comment">!   ! EQUIDISTANT CYLINDRICAL</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  <span class="comment">!   case(0)</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;  <span class="comment">!      im=self%gdt_tmpl(8)</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;  <span class="comment">!      jm=self%gdt_tmpl(9)</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <span class="comment">!      nscan=mod(self%gdt_tmpl(19)/32,2)</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  <span class="comment">!      kscan=0</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  <span class="comment">!      iscale=self%gdt_tmpl(10)*self%gdt_tmpl(11)</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  <span class="comment">!      if(iscale==0) iscale=10**6</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;  <span class="comment">!      rlon1=float(self%gdt_tmpl(13))/float(iscale)</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  <span class="comment">!      rlon2=float(self%gdt_tmpl(16))/float(iscale)</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  <span class="comment">!      iscan=mod(self%gdt_tmpl(19)/128,2)</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;  <span class="comment">!      if(iscan.eq.0) then</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <span class="comment">!         dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  <span class="comment">!      else</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;  <span class="comment">!         dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <span class="comment">!      iwrap=nint(360/abs(dlon))</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  <span class="comment">!      if(im.lt.iwrap) iwrap=0</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;  <span class="comment">!      jwrap1=0</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;  <span class="comment">!      jwrap2=0</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  <span class="comment">!      if(iwrap.gt.0.and.mod(iwrap,2).eq.0) then</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;  <span class="comment">!         rlat1=float(self%gdt_tmpl(12))/float(iscale)</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  <span class="comment">!         rlat2=float(self%gdt_tmpl(15))/float(iscale)</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  <span class="comment">!         dlat=abs(rlat2-rlat1)/(jm-1)</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;  <span class="comment">!         if(abs(rlat1).gt.90-0.25*dlat) then</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  <span class="comment">!            jwrap1=2</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  <span class="comment">!         elseif(abs(rlat1).gt.90-0.75*dlat) then</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  <span class="comment">!            jwrap1=1</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  <span class="comment">!         endif</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;  <span class="comment">!         if(abs(rlat2).gt.90-0.25*dlat) then</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  <span class="comment">!            jwrap2=2*jm</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <span class="comment">!         elseif(abs(rlat2).gt.90-0.75*dlat) then</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  <span class="comment">!            jwrap2=2*jm+1</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <span class="comment">!         endif</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  <span class="comment">!   case(1)</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  <span class="comment">!      i_offset_odd=mod(self%gdt_tmpl(19)/8,2)</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;  <span class="comment">!      i_offset_even=mod(self%gdt_tmpl(19)/4,2)</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  <span class="comment">!      im=self%gdt_tmpl(8)</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  <span class="comment">!      jm=self%gdt_tmpl(9)</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  <span class="comment">!      iwrap=0</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  <span class="comment">!      jwrap1=0</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  <span class="comment">!      jwrap2=0</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  <span class="comment">!      kscan=0</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <span class="comment">!      nscan=mod(self%gdt_tmpl(19)/32,2)</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  <span class="comment">!      if(i_offset_odd/=i_offset_even)then</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  <span class="comment">!         kscan=i_offset_odd</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  <span class="comment">!         nscan_field_pos=3</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;  <span class="comment">!   ! MERCATOR CYLINDRICAL</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  <span class="comment">!   case(10)</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;  <span class="comment">!      im=self%gdt_tmpl(8)</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  <span class="comment">!      jm=self%gdt_tmpl(9)</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;  <span class="comment">!      rlon1=float(self%gdt_tmpl(11))*1.0e-6</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  <span class="comment">!      rlon2=float(self%gdt_tmpl(15))*1.0e-6</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;  <span class="comment">!      iscan=mod(self%gdt_tmpl(16)/128,2)</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;  <span class="comment">!      if(iscan.eq.0) then</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <span class="comment">!         dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;  <span class="comment">!      else</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;  <span class="comment">!         dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  <span class="comment">!      iwrap=nint(360/abs(dlon))</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <span class="comment">!      if(im.lt.iwrap) iwrap=0</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;  <span class="comment">!      jwrap1=0</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  <span class="comment">!      jwrap2=0</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  <span class="comment">!      kscan=0</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;  <span class="comment">!      nscan=mod(self%gdt_tmpl(16)/32,2)</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;  <span class="comment">!   ! POLAR STEREOGRAPHIC AZIMUTHAL</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;  <span class="comment">!   case(20)</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;  <span class="comment">!      im=self%gdt_tmpl(8)</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;  <span class="comment">!      jm=self%gdt_tmpl(9)</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;  <span class="comment">!      nscan=mod(self%gdt_tmpl(18)/32,2)</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;  <span class="comment">!      iwrap=0</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;  <span class="comment">!      jwrap1=0</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  <span class="comment">!      jwrap2=0</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;  <span class="comment">!      kscan=0</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;  <span class="comment">!   ! LAMBERT CONFORMAL CONICAL</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;  <span class="comment">!   case(30)</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;  <span class="comment">!      im=self%gdt_tmpl(8)</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  <span class="comment">!      jm=self%gdt_tmpl(9)</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;  <span class="comment">!      nscan=mod(self%gdt_tmpl(18)/32,2)</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;  <span class="comment">!      iwrap=0</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;  <span class="comment">!      jwrap1=0</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;  <span class="comment">!      jwrap2=0</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;  <span class="comment">!      kscan=0</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;  <span class="comment">!   ! GAUSSIAN CYLINDRICAL</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;  <span class="comment">!   case(40)</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;  <span class="comment">!      im=self%gdt_tmpl(8)</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;  <span class="comment">!      jm=self%gdt_tmpl(9)</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;  <span class="comment">!      iscale=self%gdt_tmpl(10)*self%gdt_tmpl(11)</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;  <span class="comment">!      if(iscale==0) iscale=10**6</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;  <span class="comment">!      rlon1=float(self%gdt_tmpl(13))/float(iscale)</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;  <span class="comment">!      rlon2=float(self%gdt_tmpl(16))/float(iscale)</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;  <span class="comment">!      iscan=mod(self%gdt_tmpl(19)/128,2)</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;  <span class="comment">!      if(iscan.eq.0) then</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;  <span class="comment">!         dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;  <span class="comment">!      else</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;  <span class="comment">!         dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;  <span class="comment">!      iwrap=nint(360/abs(dlon))</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;  <span class="comment">!      if(im.lt.iwrap) iwrap=0</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  <span class="comment">!      jwrap1=0</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;  <span class="comment">!      jwrap2=0</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;  <span class="comment">!      if(iwrap.gt.0.and.mod(iwrap,2).eq.0) then</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;  <span class="comment">!         jg=self%gdt_tmpl(18)*2</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;  <span class="comment">!         if(jm.eq.jg) then</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;  <span class="comment">!            jwrap1=1</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;  <span class="comment">!            jwrap2=2*jm+1</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;  <span class="comment">!         endif</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;  <span class="comment">!      endif</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;  <span class="comment">!      nscan=mod(self%gdt_tmpl(19)/32,2)</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;  <span class="comment">!      kscan=0</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;  <span class="comment">!   case default</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;  <span class="comment">!      print *, &quot;gdt_num &quot;, self%gdt_num, &quot; not recognized&quot;</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;  <span class="comment">!      error stop</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;  <span class="comment">!   end select</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160; </div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;  <span class="comment">!   self%im = im</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;  <span class="comment">!   self%jm = jm</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;  <span class="comment">!   self%nm = im*jm</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;  <span class="comment">!   self%iwrap = iwrap</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;  <span class="comment">!   self%jwrap1 = jwrap1</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;  <span class="comment">!   self%jwrap2 = jwrap2</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;  <span class="comment">!   self%nscan = nscan</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;  <span class="comment">!   if (nscan_field_pos == -1) then</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  <span class="comment">!      self%nscan_field_pos = nscan</span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;  <span class="comment">!   else</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;  <span class="comment">!      self%nscan_field_pos = nscan_field_pos</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;  <span class="comment">!   end if</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  <span class="comment">!   self%kscan = kscan</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160; </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;  <span class="comment">! end subroutine decode_template_grib2</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160; </div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;  <span class="comment">! subroutine earth_radius(self, radius, eccen_squared)</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;  <span class="comment">!   class(ip_grid_descriptor), intent(in) :: self</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  <span class="comment">!   real, intent(out) :: radius, eccen_squared</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160; </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;  <span class="comment">!   real :: flat, major_axis, minor_axis</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;  <span class="comment">!   logical :: elliptical</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160; </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;  <span class="comment">!   select type(self)</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  <span class="comment">!   type is(grib1_descriptor)</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;  <span class="comment">!      associate(gds =&gt; self%gds)</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;  <span class="comment">!        select case(gds(1))</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;  <span class="comment">!        case(0)</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;  <span class="comment">!           radius = 6.3712d6</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;  <span class="comment">!           eccen_squared = 0d0</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;  <span class="comment">!        case(1)</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;  <span class="comment">!           radius = 6.3712d6</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;  <span class="comment">!           eccen_squared = 0d0</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;  <span class="comment">!        case(3)</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;  <span class="comment">!           radius = 6.3712d6</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;  <span class="comment">!           eccen_squared = 0d0</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;  <span class="comment">!        case(4)</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;  <span class="comment">!           radius = 6.3712d6</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;  <span class="comment">!           eccen_squared = 0d0</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;  <span class="comment">!        case(5)</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;  <span class="comment">!           elliptical = mod(gds(6) / 64, 2) == 1</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;  <span class="comment">!           if (.not. elliptical) then</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;  <span class="comment">!              radius = 6.3712d6</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;  <span class="comment">!              eccen_squared = 0d0</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;  <span class="comment">!           else</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;  <span class="comment">!              radius = 6.378137E6 ! WGS-84</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;  <span class="comment">!              eccen_squared = 0.00669437999013d0</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;  <span class="comment">!           end if</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;  <span class="comment">!        case(203)</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;  <span class="comment">!           radius = 6.3712d6</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;  <span class="comment">!           eccen_squared = 0d0</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  <span class="comment">!        case(205)</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;  <span class="comment">!           radius = 6.3712d6</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;  <span class="comment">!           eccen_squared = 0d0</span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;  <span class="comment">!        case default</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;  <span class="comment">!           print *, &quot;grib1 grid not recognized. gds(1) = &quot;, gds(1)</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;  <span class="comment">!           error stop</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;  <span class="comment">!        end select</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;  <span class="comment">!      end associate</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;  <span class="comment">!   type is(grib2_descriptor)</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;  <span class="comment">!      associate(gdt_tmpl =&gt; self%gdt_tmpl)</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;  <span class="comment">!        select case (gdt_tmpl(1))</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;  <span class="comment">!        case (0)</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;  <span class="comment">!           radius = 6367470.0</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  <span class="comment">!           eccen_squared = 0.0</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;  <span class="comment">!        case (1)  ! user specified spherical</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;  <span class="comment">!           radius = float(gdt_tmpl(3))/float(10**gdt_tmpl(2))</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;  <span class="comment">!           eccen_squared = 0.0</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;  <span class="comment">!        case (2)  ! iau 1965</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;  <span class="comment">!           radius = 6378160.0      ! semi major axis</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;  <span class="comment">!           flat = 1.0/297.0      ! flattening</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;  <span class="comment">!           eccen_squared = (2.0*flat) - (flat**2)</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;  <span class="comment">!        case (3)  ! user specified elliptical (km)</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;  <span class="comment">!           major_axis = float(gdt_tmpl(5))/float(10**gdt_tmpl(4))</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;  <span class="comment">!           major_axis = major_axis * 1000.0</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;  <span class="comment">!           minor_axis = float(gdt_tmpl(7))/float(10**gdt_tmpl(6))</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;  <span class="comment">!           minor_axis = minor_axis * 1000.0</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;  <span class="comment">!           eccen_squared = 1.0 - (minor_axis**2 / major_axis**2)</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;  <span class="comment">!           radius = major_axis</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;  <span class="comment">!        case (4)  ! iag-grs80 model</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;  <span class="comment">!           radius = 6378137.0      ! semi major axis</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;  <span class="comment">!           flat = 1.0/298.2572   ! flattening</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;  <span class="comment">!           eccen_squared = (2.0*flat) - (flat**2)</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;  <span class="comment">!        case (5)  ! wgs84 datum</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;  <span class="comment">!           radius = 6378137.0      ! semi major axis</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;  <span class="comment">!           eccen_squared = 0.00669437999013</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;  <span class="comment">!        case (6)</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;  <span class="comment">!           radius = 6371229.0</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;  <span class="comment">!           eccen_squared = 0.0</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;  <span class="comment">!        case (7)  ! user specified elliptical (m)</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;  <span class="comment">!           major_axis = float(gdt_tmpl(5))/float(10**gdt_tmpl(4))</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;  <span class="comment">!           minor_axis = float(gdt_tmpl(7))/float(10**gdt_tmpl(6))</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;  <span class="comment">!           eccen_squared = 1.0 - (minor_axis**2 / major_axis**2)</span></div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;  <span class="comment">!           radius = major_axis</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;  <span class="comment">!        case (8)</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;  <span class="comment">!           radius = 6371200.0</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;  <span class="comment">!           eccen_squared = 0.0</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;  <span class="comment">!        case default</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;  <span class="comment">!           radius = -9999.</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;  <span class="comment">!           eccen_squared = -9999.</span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;  <span class="comment">!           error stop</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;  <span class="comment">!        end select</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;  <span class="comment">!      end associate</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;  <span class="comment">!   class default</span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;  <span class="comment">!      print *, &quot;unknown descriptor type&quot;</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  <span class="comment">!      error stop</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;  <span class="comment">!   end select</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;  <span class="comment">! end subroutine earth_radius</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160; </div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="ttc" id="ainterfaceip__grid__descriptor__mod_1_1init__descriptor_html"><div class="ttname"><a href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">ip_grid_descriptor_mod::init_descriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00060">ip_grid_descriptor_mod.F90:60</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html_a143ac06a2a20697d01606a259213b451"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">ip_grid_descriptor_mod::init_grib2_descriptor</a></div><div class="ttdeci">type(grib2_descriptor) function, public init_grib2_descriptor(gdt_num, gdt_len, gdt_tmpl)</div><div class="ttdoc">Initialize grib-2 descriptor from integer grid definition template (GDT).</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00093">ip_grid_descriptor_mod.F90:94</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html_a202219f9c5c84fa04d3eb1c2208358ec"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">ip_grid_descriptor_mod::is_same_grid</a></div><div class="ttdeci">logical function is_same_grid(grid1, grid2)</div><div class="ttdoc">Test whether two grid descriptors are the same.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00115">ip_grid_descriptor_mod.F90:116</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html_a5bb3c5230b88012bddc3922bfa1cb019"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">ip_grid_descriptor_mod::is_same_grid_grib1</a></div><div class="ttdeci">logical function is_same_grid_grib1(self, grid_desc)</div><div class="ttdoc">Test whether two grib1_descriptors are the same.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00145">ip_grid_descriptor_mod.F90:146</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html_a75ac34ea9372afaa29b0df2ce8919988"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">ip_grid_descriptor_mod::is_same_grid_grib2</a></div><div class="ttdeci">logical function is_same_grid_grib2(self, grid_desc)</div><div class="ttdoc">Test whether two grib2_descriptors are the same.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00164">ip_grid_descriptor_mod.F90:165</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html_aa00884a7fca018535eaf0c2ebe26bc98"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">ip_grid_descriptor_mod::init_grib1_descriptor</a></div><div class="ttdeci">type(grib1_descriptor) function, public init_grib1_descriptor(gds)</div><div class="ttdoc">Initialize grib-1 descriptor from integer grid definition section (GDS).</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00074">ip_grid_descriptor_mod.F90:75</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib2__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></div><div class="ttdoc">Grib-2 descriptor containing a grib2 GDT represented by an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00047">ip_grid_descriptor_mod.F90:47</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1ip__grid__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor_mod::ip_grid_descriptor</a></div><div class="ttdoc">Abstract descriptor object which represents a grib1 or grib2 descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00028">ip_grid_descriptor_mod.F90:28</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__grid__descriptor__mod_8F90.html">ip_grid_descriptor_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__grid__factory__mod_8F90.html b/ver-4.4.0/ip__grid__factory__mod_8F90.html
new file mode 100644
index 00000000..817e414c
--- /dev/null
+++ b/ver-4.4.0/ip__grid__factory__mod_8F90.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_factory_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__grid__factory__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_factory_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Routines for creating an ip_grid given a Grib descriptor.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__grid__factory__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html">ip_grid_factory_mod::init_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__grid__factory__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></td></tr>
+<tr class="memdesc:namespaceip__grid__factory__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Routines for creating an ip_grid given a Grib descriptor. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a2d2ea07d353bae8b057471aa99b58e46"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">ip_grid_factory_mod::init_grid_generic</a> (grid, grid_desc)</td></tr>
+<tr class="memdesc:a2d2ea07d353bae8b057471aa99b58e46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polymorphic ip_grid object from an ip_grid_descriptor.  <a href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">More...</a><br /></td></tr>
+<tr class="separator:a2d2ea07d353bae8b057471aa99b58e46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8906ed6fe52c2426c0ff09ce50b6fc5"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">ip_grid_factory_mod::init_grid_grib1</a> (grid, g1_desc)</td></tr>
+<tr class="memdesc:ad8906ed6fe52c2426c0ff09ce50b6fc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polymorphic ip_grid from a grib1_descriptor.  <a href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">More...</a><br /></td></tr>
+<tr class="separator:ad8906ed6fe52c2426c0ff09ce50b6fc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa187dc8dbd1d004a51cc0e9826ffa225"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">ip_grid_factory_mod::init_grid_grib2</a> (grid, g2_desc)</td></tr>
+<tr class="memdesc:aa187dc8dbd1d004a51cc0e9826ffa225"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polymorphic ip_grid from a grib2_descriptor.  <a href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">More...</a><br /></td></tr>
+<tr class="separator:aa187dc8dbd1d004a51cc0e9826ffa225"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Routines for creating an ip_grid given a Grib descriptor. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__grid__factory__mod_8F90_source.html">ip_grid_factory_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__grid__factory__mod_8F90.html">ip_grid_factory_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__grid__factory__mod_8F90.js b/ver-4.4.0/ip__grid__factory__mod_8F90.js
new file mode 100644
index 00000000..c8acead3
--- /dev/null
+++ b/ver-4.4.0/ip__grid__factory__mod_8F90.js
@@ -0,0 +1,7 @@
+var ip__grid__factory__mod_8F90 =
+[
+    [ "init_grid", "interfaceip__grid__factory__mod_1_1init__grid.html", "interfaceip__grid__factory__mod_1_1init__grid" ],
+    [ "init_grid_generic", "ip__grid__factory__mod_8F90.html#a2d2ea07d353bae8b057471aa99b58e46", null ],
+    [ "init_grid_grib1", "ip__grid__factory__mod_8F90.html#ad8906ed6fe52c2426c0ff09ce50b6fc5", null ],
+    [ "init_grid_grib2", "ip__grid__factory__mod_8F90.html#aa187dc8dbd1d004a51cc0e9826ffa225", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__grid__factory__mod_8F90_source.html b/ver-4.4.0/ip__grid__factory__mod_8F90_source.html
new file mode 100644
index 00000000..460de1aa
--- /dev/null
+++ b/ver-4.4.0/ip__grid__factory__mod_8F90_source.html
@@ -0,0 +1,218 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_factory_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__grid__factory__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_grid_factory_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__grid__factory__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160; </div>
+<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="namespaceip__grid__factory__mod.html">   11</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grids__mod.html">ip_grids_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="interfaceip__grid__factory__mod_1_1init__grid.html">   20</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">init_grid_generic</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72">   33</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">init_grid_generic</a>(grid, grid_desc)</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), <span class="keywordtype">intent(in)</span> :: grid_desc</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span>, <span class="keywordtype">intent(out)</span> :: grid</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keywordflow">select type</span>(grid_desc)</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordflow">    type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>)</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;       <span class="keyword">call </span><a class="code" href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">init_grid_grib1</a>(grid, grid_desc)</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keywordflow">    type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>)</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;       <span class="keyword">call </span><a class="code" href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">init_grid_grib2</a>(grid, grid_desc)</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">init_grid_generic</a></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">   53</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">init_grid_grib1</a>(grid, g1_desc)</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span>, <span class="keywordtype">intent(out)</span> :: grid</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">select case</span>(g1_desc%grid_num)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">case</span>(:-1)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;       <span class="keyword">allocate</span>(ip_station_points_grid::grid)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">equid_cylind_grid_id_grib1</a>)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;       <span class="keyword">allocate</span>(ip_equid_cylind_grid::grid)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">mercator_grid_id_grib1</a>)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;       <span class="keyword">allocate</span>(ip_mercator_grid::grid)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">lambert_conf_grid_id_grib1</a>)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;       <span class="keyword">allocate</span>(ip_lambert_conf_grid::grid)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">gaussian_grid_id_grib1</a>)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;       <span class="keyword">allocate</span>(ip_gaussian_grid::grid)</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">polar_stereo_grid_id_grib1</a>)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;       <span class="keyword">allocate</span>(ip_polar_stereo_grid::grid)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">rot_equid_cylind_e_grid_id_grib1</a>)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;       <span class="keyword">allocate</span>(ip_rot_equid_cylind_egrid::grid)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">rot_equid_cylind_b_grid_id_grib1</a>)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;       <span class="keyword">allocate</span>(ip_rot_equid_cylind_grid::grid)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keyword">call </span>grid%init(g1_desc)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keyword">allocate</span>(grid%descriptor, source = g1_desc)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">init_grid_grib1</a></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  </div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">   89</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">init_grid_grib2</a>(grid, g2_desc)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span>, <span class="keywordtype">intent(out)</span> :: grid</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">integer</span> :: i_offset_odd, i_offset_even</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordflow">select case</span>(g2_desc%grid_num)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordflow">case</span>(:-1)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;       <span class="keyword">allocate</span>(ip_station_points_grid::grid)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">equid_cylind_grid_id_grib2</a>)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;       <span class="keyword">allocate</span>(ip_equid_cylind_grid::grid)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">rot_equid_cylind_grid_id_grib2</a>)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;       i_offset_odd = mod(g2_desc%gdt_tmpl(19) / 8, 2)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;       i_offset_even = mod(g2_desc%gdt_tmpl(19) / 4, 2)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;       <span class="keywordflow">if</span> (i_offset_odd /= i_offset_even) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;          <span class="keyword">allocate</span>(ip_rot_equid_cylind_egrid::grid)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;          <span class="keyword">allocate</span>(ip_rot_equid_cylind_grid::grid)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">mercator_grid_id_grib2</a>)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;       <span class="keyword">allocate</span>(ip_mercator_grid::grid)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">polar_stereo_grid_id_grib2</a>)</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;       <span class="keyword">allocate</span>(ip_polar_stereo_grid::grid)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">lambert_conf_grid_id_grib2</a>)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;       <span class="keyword">allocate</span>(ip_lambert_conf_grid::grid)</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">gaussian_grid_id_grib2</a>)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;       <span class="keyword">allocate</span>(ip_gaussian_grid::grid)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordflow">    case default</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;       print *, <span class="stringliteral">&quot;gdt_num: &quot;</span>, g2_desc%gdt_num, <span class="stringliteral">&quot; not recognized&quot;</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;       error stop</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">call </span>grid%init(g2_desc)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">allocate</span>(grid%descriptor, source = g2_desc)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">init_grid_grib2</a></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  </div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div>
+<div class="ttc" id="ainterfaceip__grid__factory__mod_1_1init__grid_html"><div class="ttname"><a href="interfaceip__grid__factory__mod_1_1init__grid.html">ip_grid_factory_mod::init_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00020">ip_grid_factory_mod.F90:20</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html"><div class="ttname"><a href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div><div class="ttdoc">Routines for creating an ip_grid given a Grib descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00011">ip_grid_factory_mod.F90:11</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html_a2d2ea07d353bae8b057471aa99b58e46"><div class="ttname"><a href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">ip_grid_factory_mod::init_grid_generic</a></div><div class="ttdeci">subroutine init_grid_generic(grid, grid_desc)</div><div class="ttdoc">Initializes a polymorphic ip_grid object from an ip_grid_descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00033">ip_grid_factory_mod.F90:34</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html_aa187dc8dbd1d004a51cc0e9826ffa225"><div class="ttname"><a href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">ip_grid_factory_mod::init_grid_grib2</a></div><div class="ttdeci">subroutine init_grid_grib2(grid, g2_desc)</div><div class="ttdoc">Initializes a polymorphic ip_grid from a grib2_descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00089">ip_grid_factory_mod.F90:90</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html_ad8906ed6fe52c2426c0ff09ce50b6fc5"><div class="ttname"><a href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">ip_grid_factory_mod::init_grid_grib1</a></div><div class="ttdeci">subroutine init_grid_grib1(grid, g1_desc)</div><div class="ttdoc">Initializes a polymorphic ip_grid from a grib1_descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00053">ip_grid_factory_mod.F90:54</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a2e49846c9122b1fe1fcdbb2913fc32fe"><div class="ttname"><a href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">ip_grid_mod::lambert_conf_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public lambert_conf_grid_id_grib2</div><div class="ttdoc">Integer grid number for Lambert conformal grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00026">ip_grid_mod.F90:26</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a36a9a73ecd50353f892341ae8a5c8316"><div class="ttname"><a href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">ip_grid_mod::gaussian_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public gaussian_grid_id_grib2</div><div class="ttdoc">Integer grid number for Gaussian grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00027">ip_grid_mod.F90:27</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a3b5ae57fe3d6d365cfd1ccdb4feb8ac6"><div class="ttname"><a href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">ip_grid_mod::equid_cylind_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public equid_cylind_grid_id_grib2</div><div class="ttdoc">Integer grid number for equidistant cylindrical grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00022">ip_grid_mod.F90:22</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a45e8afad72b1b8856b3e44f2dd3123b3"><div class="ttname"><a href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">ip_grid_mod::gaussian_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public gaussian_grid_id_grib1</div><div class="ttdoc">Integer grid number for Gaussian grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00017">ip_grid_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a4e11ce780c3d165c282684188890af1c"><div class="ttname"><a href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">ip_grid_mod::rot_equid_cylind_e_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public rot_equid_cylind_e_grid_id_grib1</div><div class="ttdoc">Integer grid number for rotated equidistant cylindrical E-stagger grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00019">ip_grid_mod.F90:19</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a5b3ad320b41791e65966e1bb498e9ae3"><div class="ttname"><a href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">ip_grid_mod::polar_stereo_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public polar_stereo_grid_id_grib2</div><div class="ttdoc">Integer grid number for polar stereo grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00025">ip_grid_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_ab82b90d20f38ff39741f6890fa422d16"><div class="ttname"><a href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">ip_grid_mod::lambert_conf_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public lambert_conf_grid_id_grib1</div><div class="ttdoc">Integer grid number for Lambert Conformal grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00016">ip_grid_mod.F90:16</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_ab9ff525eca4f053b04ec96a83cb06682"><div class="ttname"><a href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">ip_grid_mod::mercator_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public mercator_grid_id_grib1</div><div class="ttdoc">Integer grid number for Mercator grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00015">ip_grid_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_ad96da95d40beceb1a1c405971e8130bb"><div class="ttname"><a href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">ip_grid_mod::equid_cylind_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public equid_cylind_grid_id_grib1</div><div class="ttdoc">Integer grid number for equidistant cylindrical grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00014">ip_grid_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_adb7d7d18410aaae52d7eee2e97f04b14"><div class="ttname"><a href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">ip_grid_mod::rot_equid_cylind_b_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public rot_equid_cylind_b_grid_id_grib1</div><div class="ttdoc">Integer grid number for rotated equidistant cylindrical B-stagger grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00020">ip_grid_mod.F90:20</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_adc7c650c524eb6425e77b2e0eac0979a"><div class="ttname"><a href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">ip_grid_mod::rot_equid_cylind_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public rot_equid_cylind_grid_id_grib2</div><div class="ttdoc">Integer grid number for rotated equidistant cylindrical grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00023">ip_grid_mod.F90:23</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_af9c58af5162d96cb7d1ac5001139b856"><div class="ttname"><a href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">ip_grid_mod::mercator_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public mercator_grid_id_grib2</div><div class="ttdoc">Integer grid number for Mercator grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00024">ip_grid_mod.F90:24</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_afee73c2f09ea9de43c156dc594ae1df1"><div class="ttname"><a href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">ip_grid_mod::polar_stereo_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public polar_stereo_grid_id_grib1</div><div class="ttdoc">Integer grid number for polar stereo grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00018">ip_grid_mod.F90:18</a></div></div>
+<div class="ttc" id="anamespaceip__grids__mod_html"><div class="ttname"><a href="namespaceip__grids__mod.html">ip_grids_mod</a></div><div class="ttdoc">Re-export the individual grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grids__mod_8F90_source.html#l00007">ip_grids_mod.F90:7</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib2__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></div><div class="ttdoc">Grib-2 descriptor containing a grib2 GDT represented by an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00047">ip_grid_descriptor_mod.F90:47</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1ip__grid__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor_mod::ip_grid_descriptor</a></div><div class="ttdoc">Abstract descriptor object which represents a grib1 or grib2 descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00028">ip_grid_descriptor_mod.F90:28</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__grid__factory__mod_8F90.html">ip_grid_factory_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__grid__mod_8F90.html b/ver-4.4.0/ip__grid__mod_8F90.html
new file mode 100644
index 00000000..2f3caee9
--- /dev/null
+++ b/ver-4.4.0/ip__grid__mod_8F90.html
@@ -0,0 +1,188 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__grid__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Abstract ip_grid type.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__grid__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html">ip_grid_mod::gdswzd_interface</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html">ip_grid_mod::init_grib1_interface</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html">ip_grid_mod::init_grib2_interface</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract grid that holds fields and methods common to all grids.  <a href="structip__grid__mod_1_1ip__grid.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html">ip_grid_mod::operator(==)</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check equality.  <a href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__grid__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a></td></tr>
+<tr class="memdesc:namespaceip__grid__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract <a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a> type. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a63572318d74ec94c20c5ccd6ded2d442"><td class="memItemLeft" align="right" valign="top">integer function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">ip_grid_mod::field_pos</a> (self, i, j)</td></tr>
+<tr class="memdesc:a63572318d74ec94c20c5ccd6ded2d442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the field position for a given grid point.  <a href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">More...</a><br /></td></tr>
+<tr class="separator:a63572318d74ec94c20c5ccd6ded2d442"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a663bda9af9dd991a09ba0f0de66dc045"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045">ip_grid_mod::is_same_grid</a> (grid1, grid2)</td></tr>
+<tr class="memdesc:a663bda9af9dd991a09ba0f0de66dc045"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two grids.  <a href="namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045">More...</a><br /></td></tr>
+<tr class="separator:a663bda9af9dd991a09ba0f0de66dc045"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ad96da95d40beceb1a1c405971e8130bb"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">ip_grid_mod::equid_cylind_grid_id_grib1</a> = 0</td></tr>
+<tr class="memdesc:ad96da95d40beceb1a1c405971e8130bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for equidistant cylindrical grid in grib1.  <a href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">More...</a><br /></td></tr>
+<tr class="separator:ad96da95d40beceb1a1c405971e8130bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b5ae57fe3d6d365cfd1ccdb4feb8ac6"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">ip_grid_mod::equid_cylind_grid_id_grib2</a> = 0</td></tr>
+<tr class="memdesc:a3b5ae57fe3d6d365cfd1ccdb4feb8ac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for equidistant cylindrical grid in grib2.  <a href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">More...</a><br /></td></tr>
+<tr class="separator:a3b5ae57fe3d6d365cfd1ccdb4feb8ac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45e8afad72b1b8856b3e44f2dd3123b3"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">ip_grid_mod::gaussian_grid_id_grib1</a> = 4</td></tr>
+<tr class="memdesc:a45e8afad72b1b8856b3e44f2dd3123b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Gaussian grid in grib1.  <a href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">More...</a><br /></td></tr>
+<tr class="separator:a45e8afad72b1b8856b3e44f2dd3123b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36a9a73ecd50353f892341ae8a5c8316"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">ip_grid_mod::gaussian_grid_id_grib2</a> = 40</td></tr>
+<tr class="memdesc:a36a9a73ecd50353f892341ae8a5c8316"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Gaussian grid in grib2.  <a href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">More...</a><br /></td></tr>
+<tr class="separator:a36a9a73ecd50353f892341ae8a5c8316"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82b90d20f38ff39741f6890fa422d16"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">ip_grid_mod::lambert_conf_grid_id_grib1</a> = 3</td></tr>
+<tr class="memdesc:ab82b90d20f38ff39741f6890fa422d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Lambert Conformal grid in grib1.  <a href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">More...</a><br /></td></tr>
+<tr class="separator:ab82b90d20f38ff39741f6890fa422d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e49846c9122b1fe1fcdbb2913fc32fe"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">ip_grid_mod::lambert_conf_grid_id_grib2</a> = 30</td></tr>
+<tr class="memdesc:a2e49846c9122b1fe1fcdbb2913fc32fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Lambert conformal grid in grib2.  <a href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">More...</a><br /></td></tr>
+<tr class="separator:a2e49846c9122b1fe1fcdbb2913fc32fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9ff525eca4f053b04ec96a83cb06682"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">ip_grid_mod::mercator_grid_id_grib1</a> = 1</td></tr>
+<tr class="memdesc:ab9ff525eca4f053b04ec96a83cb06682"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Mercator grid in grib1.  <a href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">More...</a><br /></td></tr>
+<tr class="separator:ab9ff525eca4f053b04ec96a83cb06682"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9c58af5162d96cb7d1ac5001139b856"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">ip_grid_mod::mercator_grid_id_grib2</a> = 10</td></tr>
+<tr class="memdesc:af9c58af5162d96cb7d1ac5001139b856"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Mercator grid in grib2.  <a href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">More...</a><br /></td></tr>
+<tr class="separator:af9c58af5162d96cb7d1ac5001139b856"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afee73c2f09ea9de43c156dc594ae1df1"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">ip_grid_mod::polar_stereo_grid_id_grib1</a> = 5</td></tr>
+<tr class="memdesc:afee73c2f09ea9de43c156dc594ae1df1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for polar stereo grid in grib1.  <a href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">More...</a><br /></td></tr>
+<tr class="separator:afee73c2f09ea9de43c156dc594ae1df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b3ad320b41791e65966e1bb498e9ae3"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">ip_grid_mod::polar_stereo_grid_id_grib2</a> = 20</td></tr>
+<tr class="memdesc:a5b3ad320b41791e65966e1bb498e9ae3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for polar stereo grid in grib2.  <a href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">More...</a><br /></td></tr>
+<tr class="separator:a5b3ad320b41791e65966e1bb498e9ae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb7d7d18410aaae52d7eee2e97f04b14"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">ip_grid_mod::rot_equid_cylind_b_grid_id_grib1</a> = 205</td></tr>
+<tr class="memdesc:adb7d7d18410aaae52d7eee2e97f04b14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for rotated equidistant cylindrical B-stagger grid.  <a href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">More...</a><br /></td></tr>
+<tr class="separator:adb7d7d18410aaae52d7eee2e97f04b14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e11ce780c3d165c282684188890af1c"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">ip_grid_mod::rot_equid_cylind_e_grid_id_grib1</a> = 203</td></tr>
+<tr class="memdesc:a4e11ce780c3d165c282684188890af1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for rotated equidistant cylindrical E-stagger grid.  <a href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">More...</a><br /></td></tr>
+<tr class="separator:a4e11ce780c3d165c282684188890af1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc7c650c524eb6425e77b2e0eac0979a"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">ip_grid_mod::rot_equid_cylind_grid_id_grib2</a> = 1</td></tr>
+<tr class="memdesc:adc7c650c524eb6425e77b2e0eac0979a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for rotated equidistant cylindrical grid in grib2.  <a href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">More...</a><br /></td></tr>
+<tr class="separator:adc7c650c524eb6425e77b2e0eac0979a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Abstract ip_grid type. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__grid__mod_8F90.html">ip_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__grid__mod_8F90.js b/ver-4.4.0/ip__grid__mod_8F90.js
new file mode 100644
index 00000000..e34260b2
--- /dev/null
+++ b/ver-4.4.0/ip__grid__mod_8F90.js
@@ -0,0 +1,23 @@
+var ip__grid__mod_8F90 =
+[
+    [ "gdswzd_interface", "interfaceip__grid__mod_1_1gdswzd__interface.html", "interfaceip__grid__mod_1_1gdswzd__interface" ],
+    [ "init_grib1_interface", "interfaceip__grid__mod_1_1init__grib1__interface.html", "interfaceip__grid__mod_1_1init__grib1__interface" ],
+    [ "init_grib2_interface", "interfaceip__grid__mod_1_1init__grib2__interface.html", "interfaceip__grid__mod_1_1init__grib2__interface" ],
+    [ "ip_grid", "structip__grid__mod_1_1ip__grid.html", "structip__grid__mod_1_1ip__grid" ],
+    [ "operator(==)", "interfaceip__grid__mod_1_1operator_07_0a_0a_08.html", "interfaceip__grid__mod_1_1operator_07_0a_0a_08" ],
+    [ "field_pos", "ip__grid__mod_8F90.html#a63572318d74ec94c20c5ccd6ded2d442", null ],
+    [ "is_same_grid", "ip__grid__mod_8F90.html#a663bda9af9dd991a09ba0f0de66dc045", null ],
+    [ "equid_cylind_grid_id_grib1", "ip__grid__mod_8F90.html#ad96da95d40beceb1a1c405971e8130bb", null ],
+    [ "equid_cylind_grid_id_grib2", "ip__grid__mod_8F90.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6", null ],
+    [ "gaussian_grid_id_grib1", "ip__grid__mod_8F90.html#a45e8afad72b1b8856b3e44f2dd3123b3", null ],
+    [ "gaussian_grid_id_grib2", "ip__grid__mod_8F90.html#a36a9a73ecd50353f892341ae8a5c8316", null ],
+    [ "lambert_conf_grid_id_grib1", "ip__grid__mod_8F90.html#ab82b90d20f38ff39741f6890fa422d16", null ],
+    [ "lambert_conf_grid_id_grib2", "ip__grid__mod_8F90.html#a2e49846c9122b1fe1fcdbb2913fc32fe", null ],
+    [ "mercator_grid_id_grib1", "ip__grid__mod_8F90.html#ab9ff525eca4f053b04ec96a83cb06682", null ],
+    [ "mercator_grid_id_grib2", "ip__grid__mod_8F90.html#af9c58af5162d96cb7d1ac5001139b856", null ],
+    [ "polar_stereo_grid_id_grib1", "ip__grid__mod_8F90.html#afee73c2f09ea9de43c156dc594ae1df1", null ],
+    [ "polar_stereo_grid_id_grib2", "ip__grid__mod_8F90.html#a5b3ad320b41791e65966e1bb498e9ae3", null ],
+    [ "rot_equid_cylind_b_grid_id_grib1", "ip__grid__mod_8F90.html#adb7d7d18410aaae52d7eee2e97f04b14", null ],
+    [ "rot_equid_cylind_e_grid_id_grib1", "ip__grid__mod_8F90.html#a4e11ce780c3d165c282684188890af1c", null ],
+    [ "rot_equid_cylind_grid_id_grib2", "ip__grid__mod_8F90.html#adc7c650c524eb6425e77b2e0eac0979a", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__grid__mod_8F90_source.html b/ver-4.4.0/ip__grid__mod_8F90_source.html
new file mode 100644
index 00000000..40a5bd4f
--- /dev/null
+++ b/ver-4.4.0/ip__grid__mod_8F90_source.html
@@ -0,0 +1,273 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__grid__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_grid_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__grid__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html">   10</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">   14</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">equid_cylind_grid_id_grib1</a> = 0</div>
+<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">   15</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">mercator_grid_id_grib1</a> = 1</div>
+<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">   16</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">lambert_conf_grid_id_grib1</a> = 3</div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">   17</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">gaussian_grid_id_grib1</a> = 4</div>
+<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">   18</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">polar_stereo_grid_id_grib1</a> = 5</div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">   19</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">rot_equid_cylind_e_grid_id_grib1</a> = 203</div>
+<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">   20</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">rot_equid_cylind_b_grid_id_grib1</a> = 205</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">   22</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">equid_cylind_grid_id_grib2</a> = 0</div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">   23</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">rot_equid_cylind_grid_id_grib2</a> = 1</div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">   24</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">mercator_grid_id_grib2</a> = 10</div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">   25</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">polar_stereo_grid_id_grib2</a> = 20</div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">   26</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">lambert_conf_grid_id_grib2</a> = 30</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">   27</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">public</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">gaussian_grid_id_grib2</a> = 40</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfaceip__grid__mod_1_1gdswzd__interface.html">gdswzd_interface</a></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  <span class="keywordtype">public</span> :: <span class="keyword">operator</span>(==)</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html">   52</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">abstract</span> :: <a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">   53</a></span>&#160;     <span class="keywordtype">class</span>(<a class="code" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), <span class="keywordtype">allocatable</span> :: descriptor</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;     </div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">   55</a></span>&#160;     <span class="keywordtype">integer</span> :: im</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">   56</a></span>&#160;     <span class="keywordtype">integer</span> :: jm</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">   57</a></span>&#160;     <span class="keywordtype">integer</span> :: nm</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">   63</a></span>&#160;     <span class="keywordtype">integer</span> :: nscan </div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">   64</a></span>&#160;     <span class="keywordtype">integer</span> :: kscan</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">   66</a></span>&#160;     <span class="keywordtype">integer</span> :: nscan_field_pos</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;     </div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">   68</a></span>&#160;     <span class="keywordtype">integer</span> :: iwrap</div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">   69</a></span>&#160;     <span class="keywordtype">integer</span> :: jwrap1</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">   70</a></span>&#160;     <span class="keywordtype">integer</span> :: jwrap2</div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">   71</a></span>&#160;<span class="keywordtype">     real</span> :: rerth</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">   72</a></span>&#160;<span class="keywordtype">     real</span> :: eccen_squared</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806">   75</a></span>&#160;     <span class="keywordtype">procedure</span>(<a class="code" href="interfaceip__grid__mod_1_1init__grib1__interface.html">init_grib1_interface</a>), <span class="keywordtype">deferred</span> :: init_grib1</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9">   77</a></span>&#160;     <span class="keywordtype">procedure</span>(<a class="code" href="interfaceip__grid__mod_1_1init__grib2__interface.html">init_grib2_interface</a>), <span class="keywordtype">deferred</span> :: init_grib2</div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080">   79</a></span>&#160;     <span class="keywordtype">procedure</span>(<a class="code" href="interfaceip__grid__mod_1_1gdswzd__interface.html">gdswzd_interface</a>), <span class="keywordtype">deferred</span> :: <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">   82</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a></div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">   84</a></span>&#160;     generic :: init =&gt; init_grib1, init_grib2</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  abstract <span class="keyword">interface</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369">  119</a></span>&#160;     <span class="keyword">subroutine </span><a class="code" href="interfaceip__grid__mod_1_1gdswzd__interface.html">gdswzd_interface</a>(self, iopt, npts, fill, xpts, ypts, rlon, rlat, nret, crot, srot, &amp;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;          xlon, xlat, ylon, ylat, area)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;       <span class="keywordtype">import</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;       <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;       <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;       <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;       <span class="comment">!</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keywordtype">       REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keywordtype">       REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keywordtype">       REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">       REAL</span>, <span class="keywordtype">OPTIONAL</span>,   <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keywordtype">       REAL</span>, <span class="keywordtype">OPTIONAL</span>,   <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keywordtype">       REAL</span>, <span class="keywordtype">OPTIONAL</span>,   <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;     <span class="keyword">end subroutine </span><a class="code" href="interfaceip__grid__mod_1_1gdswzd__interface.html">gdswzd_interface</a></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb">  142</a></span>&#160;     <span class="keyword">subroutine </span><a class="code" href="interfaceip__grid__mod_1_1init__grib1__interface.html">init_grib1_interface</a>(self, g1_desc)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;       <span class="keywordtype">import</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;       <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;       <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;     <span class="keyword">end subroutine </span><a class="code" href="interfaceip__grid__mod_1_1init__grib1__interface.html">init_grib1_interface</a></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c">  156</a></span>&#160;     <span class="keyword">subroutine </span><a class="code" href="interfaceip__grid__mod_1_1init__grib2__interface.html">init_grib2_interface</a>(self, g2_desc)</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;       <span class="keywordtype">import</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;       <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;       <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;     <span class="keyword">end subroutine </span><a class="code" href="interfaceip__grid__mod_1_1init__grib2__interface.html">init_grib2_interface</a></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keyword">end interface</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html">  166</a></span>&#160;  <span class="keyword">interface</span> <span class="keyword">operator</span> (==)</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  <span class="keyword">end interface </span><span class="keyword">operator</span> (==)</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
+<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b">  182</a></span>&#160;  <span class="keyword">logical </span><span class="keyword">function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a>(grid1, grid2)</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(in)</span> :: grid1, grid2</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a> = grid1%descriptor == grid2%descriptor</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="keyword">end function </span><a class="code" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
+<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">  197</a></span>&#160;  <span class="keyword">function </span><a class="code" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a>(self, i, j)</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordtype">integer</span>, <span class="keywordtype">intent(in)</span> :: i, j</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keywordtype">integer</span> :: <a class="code" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordtype">integer</span> :: ii, jj, im, jm</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="keywordtype">integer</span> :: iif, jjf, is1, iwrap</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="keywordtype">integer</span> :: jwrap1, jwrap2, kscan, nscan</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160; </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="comment">! extract from navigation parameter array</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    im=self%im</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    jm=self%jm</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    iwrap=self%iwrap</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    jwrap1=self%jwrap1</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    jwrap2=self%jwrap2</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    nscan=self%nscan_field_pos</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    kscan=self%kscan</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160; </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="comment">! compute wraparounds in x and y if necessary and possible</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    ii=i</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    jj=j</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keywordflow">if</span>(iwrap.gt.0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;       ii=mod(i-1+iwrap,iwrap)+1</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;       <span class="keywordflow">if</span>(j.lt.1.and.jwrap1.gt.0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;          jj=jwrap1-j</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;          ii=mod(ii-1+iwrap/2,iwrap)+1</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;       <span class="keywordflow">elseif</span>(j.gt.jm.and.jwrap2.gt.0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;          jj=jwrap2-j</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;          ii=mod(ii-1+iwrap/2,iwrap)+1</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keywordflow">       endif</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keywordflow">    endif</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="comment">! compute position for the appropriate scanning mode</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <a class="code" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a>=0</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keywordflow">if</span>(nscan.eq.0) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;       <span class="keywordflow">if</span>(ii.ge.1.and.ii.le.im.and.jj.ge.1.and.jj.le.jm) <a class="code" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a>=ii+(jj-1)*im</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <span class="keywordflow">elseif</span>(nscan.eq.1) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;       <span class="keywordflow">if</span>(ii.ge.1.and.ii.le.im.and.jj.ge.1.and.jj.le.jm) <a class="code" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a>=jj+(ii-1)*jm</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="keywordflow">elseif</span>(nscan.eq.2) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;       is1=(jm+1-kscan)/2</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;       iif=jj+(ii-is1)</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;       jjf=jj-(ii-is1)+kscan</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;       <span class="keywordflow">if</span>(iif.ge.1.and.iif.le.2*im-1.and.jjf.ge.1.and.jjf.le.jm) &amp;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;            <a class="code" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a>=(iif+(jjf-1)*(2*im-1)+1-kscan)/2</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="keywordflow">elseif</span>(nscan.eq.3) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;       is1=(jm+1-kscan)/2</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;       iif=jj+(ii-is1)</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;       jjf=jj-(ii-is1)+kscan</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;       <span class="keywordflow">if</span>(iif.ge.1.and.iif.le.2*im-1.and.jjf.ge.1.and.jjf.le.jm) <a class="code" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a>=(iif+1)/2+(jjf-1)*im</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keywordflow">    endif</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="keyword">end function </span><a class="code" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160; </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160; </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
+<div class="ttc" id="ainterfaceip__grid__mod_1_1gdswzd__interface_html"><div class="ttname"><a href="interfaceip__grid__mod_1_1gdswzd__interface.html">ip_grid_mod::gdswzd_interface</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00119">ip_grid_mod.F90:119</a></div></div>
+<div class="ttc" id="ainterfaceip__grid__mod_1_1init__grib1__interface_html"><div class="ttname"><a href="interfaceip__grid__mod_1_1init__grib1__interface.html">ip_grid_mod::init_grib1_interface</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00142">ip_grid_mod.F90:142</a></div></div>
+<div class="ttc" id="ainterfaceip__grid__mod_1_1init__grib2__interface_html"><div class="ttname"><a href="interfaceip__grid__mod_1_1init__grib2__interface.html">ip_grid_mod::init_grib2_interface</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00156">ip_grid_mod.F90:156</a></div></div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html_a202219f9c5c84fa04d3eb1c2208358ec"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">ip_grid_descriptor_mod::is_same_grid</a></div><div class="ttdeci">logical function is_same_grid(grid1, grid2)</div><div class="ttdoc">Test whether two grid descriptors are the same.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00115">ip_grid_descriptor_mod.F90:116</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a2e49846c9122b1fe1fcdbb2913fc32fe"><div class="ttname"><a href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">ip_grid_mod::lambert_conf_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public lambert_conf_grid_id_grib2</div><div class="ttdoc">Integer grid number for Lambert conformal grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00026">ip_grid_mod.F90:26</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a36a9a73ecd50353f892341ae8a5c8316"><div class="ttname"><a href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">ip_grid_mod::gaussian_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public gaussian_grid_id_grib2</div><div class="ttdoc">Integer grid number for Gaussian grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00027">ip_grid_mod.F90:27</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a3b5ae57fe3d6d365cfd1ccdb4feb8ac6"><div class="ttname"><a href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">ip_grid_mod::equid_cylind_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public equid_cylind_grid_id_grib2</div><div class="ttdoc">Integer grid number for equidistant cylindrical grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00022">ip_grid_mod.F90:22</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a45e8afad72b1b8856b3e44f2dd3123b3"><div class="ttname"><a href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">ip_grid_mod::gaussian_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public gaussian_grid_id_grib1</div><div class="ttdoc">Integer grid number for Gaussian grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00017">ip_grid_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a4e11ce780c3d165c282684188890af1c"><div class="ttname"><a href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">ip_grid_mod::rot_equid_cylind_e_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public rot_equid_cylind_e_grid_id_grib1</div><div class="ttdoc">Integer grid number for rotated equidistant cylindrical E-stagger grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00019">ip_grid_mod.F90:19</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a5b3ad320b41791e65966e1bb498e9ae3"><div class="ttname"><a href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">ip_grid_mod::polar_stereo_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public polar_stereo_grid_id_grib2</div><div class="ttdoc">Integer grid number for polar stereo grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00025">ip_grid_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_a63572318d74ec94c20c5ccd6ded2d442"><div class="ttname"><a href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">ip_grid_mod::field_pos</a></div><div class="ttdeci">integer function field_pos(self, i, j)</div><div class="ttdoc">Returns the field position for a given grid point.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00197">ip_grid_mod.F90:198</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_ab82b90d20f38ff39741f6890fa422d16"><div class="ttname"><a href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">ip_grid_mod::lambert_conf_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public lambert_conf_grid_id_grib1</div><div class="ttdoc">Integer grid number for Lambert Conformal grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00016">ip_grid_mod.F90:16</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_ab9ff525eca4f053b04ec96a83cb06682"><div class="ttname"><a href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">ip_grid_mod::mercator_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public mercator_grid_id_grib1</div><div class="ttdoc">Integer grid number for Mercator grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00015">ip_grid_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_ad96da95d40beceb1a1c405971e8130bb"><div class="ttname"><a href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">ip_grid_mod::equid_cylind_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public equid_cylind_grid_id_grib1</div><div class="ttdoc">Integer grid number for equidistant cylindrical grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00014">ip_grid_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_adb7d7d18410aaae52d7eee2e97f04b14"><div class="ttname"><a href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">ip_grid_mod::rot_equid_cylind_b_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public rot_equid_cylind_b_grid_id_grib1</div><div class="ttdoc">Integer grid number for rotated equidistant cylindrical B-stagger grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00020">ip_grid_mod.F90:20</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_adc7c650c524eb6425e77b2e0eac0979a"><div class="ttname"><a href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">ip_grid_mod::rot_equid_cylind_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public rot_equid_cylind_grid_id_grib2</div><div class="ttdoc">Integer grid number for rotated equidistant cylindrical grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00023">ip_grid_mod.F90:23</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_af9c58af5162d96cb7d1ac5001139b856"><div class="ttname"><a href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">ip_grid_mod::mercator_grid_id_grib2</a></div><div class="ttdeci">integer, parameter, public mercator_grid_id_grib2</div><div class="ttdoc">Integer grid number for Mercator grid in grib2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00024">ip_grid_mod.F90:24</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html_afee73c2f09ea9de43c156dc594ae1df1"><div class="ttname"><a href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">ip_grid_mod::polar_stereo_grid_id_grib1</a></div><div class="ttdeci">integer, parameter, public polar_stereo_grid_id_grib1</div><div class="ttdoc">Integer grid number for polar stereo grid in grib1.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00018">ip_grid_mod.F90:18</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib2__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></div><div class="ttdoc">Grib-2 descriptor containing a grib2 GDT represented by an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00047">ip_grid_descriptor_mod.F90:47</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1ip__grid__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor_mod::ip_grid_descriptor</a></div><div class="ttdoc">Abstract descriptor object which represents a grib1 or grib2 descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00028">ip_grid_descriptor_mod.F90:28</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__grid__mod_8F90.html">ip_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__grids__mod_8F90.html b/ver-4.4.0/ip__grids__mod_8F90.html
new file mode 100644
index 00000000..6a017aec
--- /dev/null
+++ b/ver-4.4.0/ip__grids__mod_8F90.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grids_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__grids__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grids_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Re-export the individual grids.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__grids__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__grids__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grids__mod.html">ip_grids_mod</a></td></tr>
+<tr class="memdesc:namespaceip__grids__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Re-export the individual grids. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Re-export the individual grids. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>7/21/21 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__grids__mod_8F90_source.html">ip_grids_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__grids__mod_8F90.html">ip_grids_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__grids__mod_8F90_source.html b/ver-4.4.0/ip__grids__mod_8F90_source.html
new file mode 100644
index 00000000..e512ed0e
--- /dev/null
+++ b/ver-4.4.0/ip__grids__mod_8F90_source.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grids_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__grids__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_grids_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__grids__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="namespaceip__grids__mod.html">    7</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__grids__mod.html">ip_grids_mod</a></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__equid__cylind__grid__mod.html">ip_equid_cylind_grid_mod</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__gaussian__grid__mod.html">ip_gaussian_grid_mod</a></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html">ip_lambert_conf_grid_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html">ip_polar_stereo_grid_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html">ip_rot_equid_cylind_grid_mod</a></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html">ip_rot_equid_cylind_egrid_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__mercator__grid__mod.html">ip_mercator_grid_mod</a></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__station__points__grid__mod.html">ip_station_points_grid_mod</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__grids__mod.html">ip_grids_mod</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;  </div>
+<div class="ttc" id="anamespaceip__equid__cylind__grid__mod_html"><div class="ttname"><a href="namespaceip__equid__cylind__grid__mod.html">ip_equid_cylind_grid_mod</a></div><div class="ttdoc">Equidistant cylindrical grib decoder and grid coordinate transformations.</div><div class="ttdef"><b>Definition:</b> <a href="ip__equid__cylind__grid__mod_8F90_source.html#l00017">ip_equid_cylind_grid_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__gaussian__grid__mod_html"><div class="ttname"><a href="namespaceip__gaussian__grid__mod.html">ip_gaussian_grid_mod</a></div><div class="ttdoc">Gaussian grid coordinate transformations.</div><div class="ttdef"><b>Definition:</b> <a href="ip__gaussian__grid__mod_8F90_source.html#l00014">ip_gaussian_grid_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__grids__mod_html"><div class="ttname"><a href="namespaceip__grids__mod.html">ip_grids_mod</a></div><div class="ttdoc">Re-export the individual grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grids__mod_8F90_source.html#l00007">ip_grids_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html">ip_lambert_conf_grid_mod</a></div><div class="ttdoc">Lambert conformal grib decoder and grid coordinate transformations.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00014">ip_lambert_conf_grid_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html">ip_mercator_grid_mod</a></div><div class="ttdoc">GDS wizard for mercator cylindrical.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00012">ip_mercator_grid_mod.F90:12</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html">ip_polar_stereo_grid_mod</a></div><div class="ttdoc">GDS wizard for polar stereographic azimuthal.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00013">ip_polar_stereo_grid_mod.F90:13</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html">ip_rot_equid_cylind_egrid_mod</a></div><div class="ttdoc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00024">ip_rot_equid_cylind_egrid_mod.F90:24</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html">ip_rot_equid_cylind_grid_mod</a></div><div class="ttdoc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A ...</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00019">ip_rot_equid_cylind_grid_mod.F90:19</a></div></div>
+<div class="ttc" id="anamespaceip__station__points__grid__mod_html"><div class="ttname"><a href="namespaceip__station__points__grid__mod.html">ip_station_points_grid_mod</a></div><div class="ttdoc">Interpolate gridded data to a series of station points.</div><div class="ttdef"><b>Definition:</b> <a href="ip__station__points__grid__mod_8F90_source.html#l00009">ip_station_points_grid_mod.F90:9</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__grids__mod_8F90.html">ip_grids_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__interpolators__mod_8F90.html b/ver-4.4.0/ip__interpolators__mod_8F90.html
new file mode 100644
index 00000000..78c0438d
--- /dev/null
+++ b/ver-4.4.0/ip__interpolators__mod_8F90.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_interpolators_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__interpolators__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Modules</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_interpolators_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Top-level module to export interpolation routines and constants.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__interpolators__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__interpolators__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></td></tr>
+<tr class="memdesc:namespaceip__interpolators__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top-level module to export interpolation routines and constants. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:adfdc7760718083d85618df85320c495e"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">ip_interpolators_mod::bicubic_interp_id</a> = 1</td></tr>
+<tr class="separator:adfdc7760718083d85618df85320c495e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a753e4b6c113a9a8b226c3c834786f3e1"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">ip_interpolators_mod::bilinear_interp_id</a> = 0</td></tr>
+<tr class="separator:a753e4b6c113a9a8b226c3c834786f3e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7df843ca4a64e3178f448aebf7dad359"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">ip_interpolators_mod::budget_interp_id</a> = 3</td></tr>
+<tr class="separator:a7df843ca4a64e3178f448aebf7dad359"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae77a1da241f5de94f1874004ee8e715c"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">ip_interpolators_mod::neighbor_budget_interp_id</a> = 6</td></tr>
+<tr class="separator:ae77a1da241f5de94f1874004ee8e715c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35e5fe3a2dd79d205c0503f550388258"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">ip_interpolators_mod::neighbor_interp_id</a> = 2</td></tr>
+<tr class="separator:a35e5fe3a2dd79d205c0503f550388258"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83ba2963a0b686c6ae67b53f9c385851"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">ip_interpolators_mod::spectral_interp_id</a> = 4</td></tr>
+<tr class="separator:a83ba2963a0b686c6ae67b53f9c385851"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Top-level module to export interpolation routines and constants. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__interpolators__mod_8F90_source.html">ip_interpolators_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__interpolators__mod_8F90.html">ip_interpolators_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__interpolators__mod_8F90.js b/ver-4.4.0/ip__interpolators__mod_8F90.js
new file mode 100644
index 00000000..11e232b6
--- /dev/null
+++ b/ver-4.4.0/ip__interpolators__mod_8F90.js
@@ -0,0 +1,9 @@
+var ip__interpolators__mod_8F90 =
+[
+    [ "bicubic_interp_id", "ip__interpolators__mod_8F90.html#adfdc7760718083d85618df85320c495e", null ],
+    [ "bilinear_interp_id", "ip__interpolators__mod_8F90.html#a753e4b6c113a9a8b226c3c834786f3e1", null ],
+    [ "budget_interp_id", "ip__interpolators__mod_8F90.html#a7df843ca4a64e3178f448aebf7dad359", null ],
+    [ "neighbor_budget_interp_id", "ip__interpolators__mod_8F90.html#ae77a1da241f5de94f1874004ee8e715c", null ],
+    [ "neighbor_interp_id", "ip__interpolators__mod_8F90.html#a35e5fe3a2dd79d205c0503f550388258", null ],
+    [ "spectral_interp_id", "ip__interpolators__mod_8F90.html#a83ba2963a0b686c6ae67b53f9c385851", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__interpolators__mod_8F90_source.html b/ver-4.4.0/ip__interpolators__mod_8F90_source.html
new file mode 100644
index 00000000..1e86498d
--- /dev/null
+++ b/ver-4.4.0/ip__interpolators__mod_8F90_source.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_interpolators_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__interpolators__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_interpolators_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__interpolators__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="namespaceip__interpolators__mod.html">    7</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacebilinear__interp__mod.html">bilinear_interp_mod</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacebicubic__interp__mod.html">bicubic_interp_mod</a></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacebudget__interp__mod.html">budget_interp_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceneighbor__interp__mod.html">neighbor_interp_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacespectral__interp__mod.html">spectral_interp_mod</a></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceneighbor__budget__interp__mod.html">neighbor_budget_interp_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">   17</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span>, <span class="keywordtype">public</span> :: <a class="code" href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">bilinear_interp_id</a> = 0</div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">   19</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span>, <span class="keywordtype">public</span> :: <a class="code" href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">bicubic_interp_id</a> = 1</div>
+<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">   21</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span>, <span class="keywordtype">public</span> :: <a class="code" href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">neighbor_interp_id</a> = 2</div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">   23</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span>, <span class="keywordtype">public</span> :: <a class="code" href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">budget_interp_id</a> = 3</div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">   25</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span>, <span class="keywordtype">public</span> :: <a class="code" href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">spectral_interp_id</a> = 4</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">   27</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span>, <span class="keywordtype">public</span> :: <a class="code" href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">neighbor_budget_interp_id</a> = 6</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="ttc" id="anamespacebicubic__interp__mod_html"><div class="ttname"><a href="namespacebicubic__interp__mod.html">bicubic_interp_mod</a></div><div class="ttdoc">Bicubic interpolation routines for scalars and vectors.</div><div class="ttdef"><b>Definition:</b> <a href="bicubic__interp__mod_8F90_source.html#l00008">bicubic_interp_mod.F90:8</a></div></div>
+<div class="ttc" id="anamespacebilinear__interp__mod_html"><div class="ttname"><a href="namespacebilinear__interp__mod.html">bilinear_interp_mod</a></div><div class="ttdoc">Bilinear interpolation routines for scalars and vectors.</div><div class="ttdef"><b>Definition:</b> <a href="bilinear__interp__mod_8F90_source.html#l00008">bilinear_interp_mod.F90:8</a></div></div>
+<div class="ttc" id="anamespacebudget__interp__mod_html"><div class="ttname"><a href="namespacebudget__interp__mod.html">budget_interp_mod</a></div><div class="ttdoc">Budget interpolation routines for scalars and vectors.</div><div class="ttdef"><b>Definition:</b> <a href="budget__interp__mod_8F90_source.html#l00010">budget_interp_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html"><div class="ttname"><a href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></div><div class="ttdoc">Top-level module to export interpolation routines and constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00007">ip_interpolators_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a35e5fe3a2dd79d205c0503f550388258"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">ip_interpolators_mod::neighbor_interp_id</a></div><div class="ttdeci">integer, parameter, public neighbor_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00021">ip_interpolators_mod.F90:21</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a753e4b6c113a9a8b226c3c834786f3e1"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">ip_interpolators_mod::bilinear_interp_id</a></div><div class="ttdeci">integer, parameter, public bilinear_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00017">ip_interpolators_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a7df843ca4a64e3178f448aebf7dad359"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">ip_interpolators_mod::budget_interp_id</a></div><div class="ttdeci">integer, parameter, public budget_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00023">ip_interpolators_mod.F90:23</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a83ba2963a0b686c6ae67b53f9c385851"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">ip_interpolators_mod::spectral_interp_id</a></div><div class="ttdeci">integer, parameter, public spectral_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00025">ip_interpolators_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_adfdc7760718083d85618df85320c495e"><div class="ttname"><a href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">ip_interpolators_mod::bicubic_interp_id</a></div><div class="ttdeci">integer, parameter, public bicubic_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00019">ip_interpolators_mod.F90:19</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_ae77a1da241f5de94f1874004ee8e715c"><div class="ttname"><a href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">ip_interpolators_mod::neighbor_budget_interp_id</a></div><div class="ttdeci">integer, parameter, public neighbor_budget_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00027">ip_interpolators_mod.F90:27</a></div></div>
+<div class="ttc" id="anamespaceneighbor__budget__interp__mod_html"><div class="ttname"><a href="namespaceneighbor__budget__interp__mod.html">neighbor_budget_interp_mod</a></div><div class="ttdoc">Interpolate scalar fields (neighbor).</div><div class="ttdef"><b>Definition:</b> <a href="neighbor__budget__interp__mod_8F90_source.html#l00008">neighbor_budget_interp_mod.F90:8</a></div></div>
+<div class="ttc" id="anamespaceneighbor__interp__mod_html"><div class="ttname"><a href="namespaceneighbor__interp__mod.html">neighbor_interp_mod</a></div><div class="ttdoc">Interpolate scalar fields (neighbor).</div><div class="ttdef"><b>Definition:</b> <a href="neighbor__interp__mod_8F90_source.html#l00020">neighbor_interp_mod.F90:20</a></div></div>
+<div class="ttc" id="anamespacespectral__interp__mod_html"><div class="ttname"><a href="namespacespectral__interp__mod.html">spectral_interp_mod</a></div><div class="ttdoc">Interpolate spectral.</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00008">spectral_interp_mod.F90:8</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__interpolators__mod_8F90.html">ip_interpolators_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__lambert__conf__grid__mod_8F90.html b/ver-4.4.0/ip__lambert__conf__grid__mod_8F90.html
new file mode 100644
index 00000000..006cfbbd
--- /dev/null
+++ b/ver-4.4.0/ip__lambert__conf__grid__mod_8F90.html
@@ -0,0 +1,169 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_lambert_conf_grid_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__lambert__conf__grid__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_lambert_conf_grid_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>GDS wizard for lambert conformal conical.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__lambert__conf__grid__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__lambert__conf__grid__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html">ip_lambert_conf_grid_mod</a></td></tr>
+<tr class="memdesc:namespaceip__lambert__conf__grid__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lambert conformal grib decoder and grid coordinate transformations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a5ebb9e4f1bd58caa254771b305c94f71"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">ip_lambert_conf_grid_mod::gdswzd_lambert_conf</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a5ebb9e4f1bd58caa254771b305c94f71"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for lambert conformal conical.  <a href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">More...</a><br /></td></tr>
+<tr class="separator:a5ebb9e4f1bd58caa254771b305c94f71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5544708e893ffcfbe7d958fdec700eea"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">ip_lambert_conf_grid_mod::init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a5544708e893ffcfbe7d958fdec700eea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Lambert Conformal grid given a grib1_descriptor object.  <a href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">More...</a><br /></td></tr>
+<tr class="separator:a5544708e893ffcfbe7d958fdec700eea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb0339a9fff4fff6c2017d37f8bed0cf"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">ip_lambert_conf_grid_mod::init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:acb0339a9fff4fff6c2017d37f8bed0cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Lambert Conformal grid given a grib2_descriptor object.  <a href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">More...</a><br /></td></tr>
+<tr class="separator:acb0339a9fff4fff6c2017d37f8bed0cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15c44b47172b926aea840caee9723b1c"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">ip_lambert_conf_grid_mod::lambert_conf_grid_area</a> (RLAT, FILL, DR, AREA)</td></tr>
+<tr class="memdesc:a15c44b47172b926aea840caee9723b1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid box area for lambert conformal conical.  <a href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">More...</a><br /></td></tr>
+<tr class="separator:a15c44b47172b926aea840caee9723b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e1d42f0027236f47467e25c525e66ae"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">ip_lambert_conf_grid_mod::lambert_conf_map_jacob</a> (RLAT, FILL, DLON, DR, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a5e1d42f0027236f47467e25c525e66ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map jacobians for lambert conformal conical.  <a href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">More...</a><br /></td></tr>
+<tr class="separator:a5e1d42f0027236f47467e25c525e66ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58187073914efa18eca897c6ec203b71"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">ip_lambert_conf_grid_mod::lambert_conf_vect_rot</a> (DLON, CROT, SROT)</td></tr>
+<tr class="memdesc:a58187073914efa18eca897c6ec203b71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector rotation fields for lambert conformal conical.  <a href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">More...</a><br /></td></tr>
+<tr class="separator:a58187073914efa18eca897c6ec203b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a82b75fe2d8495aab75b225c6309e61c8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">ip_lambert_conf_grid_mod::an</a></td></tr>
+<tr class="memdesc:a82b75fe2d8495aab75b225c6309e61c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cone factor.  <a href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">More...</a><br /></td></tr>
+<tr class="separator:a82b75fe2d8495aab75b225c6309e61c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a196e94b5a2add34133c87f845394fa81"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">ip_lambert_conf_grid_mod::dxs</a></td></tr>
+<tr class="memdesc:a196e94b5a2add34133c87f845394fa81"><td class="mdescLeft">&#160;</td><td class="mdescRight">x-direction grid length adjusted for scan mode.  <a href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">More...</a><br /></td></tr>
+<tr class="separator:a196e94b5a2add34133c87f845394fa81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad8b04b77b0920dbf9ed3827e2e8cfd7"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">ip_lambert_conf_grid_mod::dys</a></td></tr>
+<tr class="memdesc:aad8b04b77b0920dbf9ed3827e2e8cfd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">y-direction grid length adjusted for scan model.  <a href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">More...</a><br /></td></tr>
+<tr class="separator:aad8b04b77b0920dbf9ed3827e2e8cfd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa91572e8b5ba3559c041f1750b6696c6"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">ip_lambert_conf_grid_mod::h</a></td></tr>
+<tr class="memdesc:aa91572e8b5ba3559c041f1750b6696c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hemisphere flag.  <a href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">More...</a><br /></td></tr>
+<tr class="separator:aa91572e8b5ba3559c041f1750b6696c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dea876ed4206c5ecc0444aadb7d6acd"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">ip_lambert_conf_grid_mod::irot</a></td></tr>
+<tr class="memdesc:a7dea876ed4206c5ecc0444aadb7d6acd"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector rotation flag.  <a href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">More...</a><br /></td></tr>
+<tr class="separator:a7dea876ed4206c5ecc0444aadb7d6acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f0538d092cd7d2829a5b98247eb560d"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">ip_lambert_conf_grid_mod::rerth</a></td></tr>
+<tr class="memdesc:a9f0538d092cd7d2829a5b98247eb560d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the earth.  <a href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">More...</a><br /></td></tr>
+<tr class="separator:a9f0538d092cd7d2829a5b98247eb560d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>GDS wizard for lambert conformal conical. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__lambert__conf__grid__mod_8F90.html">ip_lambert_conf_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__lambert__conf__grid__mod_8F90.js b/ver-4.4.0/ip__lambert__conf__grid__mod_8F90.js
new file mode 100644
index 00000000..87e405da
--- /dev/null
+++ b/ver-4.4.0/ip__lambert__conf__grid__mod_8F90.js
@@ -0,0 +1,16 @@
+var ip__lambert__conf__grid__mod_8F90 =
+[
+    [ "ip_lambert_conf_grid", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid" ],
+    [ "gdswzd_lambert_conf", "ip__lambert__conf__grid__mod_8F90.html#a5ebb9e4f1bd58caa254771b305c94f71", null ],
+    [ "init_grib1", "ip__lambert__conf__grid__mod_8F90.html#a5544708e893ffcfbe7d958fdec700eea", null ],
+    [ "init_grib2", "ip__lambert__conf__grid__mod_8F90.html#acb0339a9fff4fff6c2017d37f8bed0cf", null ],
+    [ "lambert_conf_grid_area", "ip__lambert__conf__grid__mod_8F90.html#a15c44b47172b926aea840caee9723b1c", null ],
+    [ "lambert_conf_map_jacob", "ip__lambert__conf__grid__mod_8F90.html#a5e1d42f0027236f47467e25c525e66ae", null ],
+    [ "lambert_conf_vect_rot", "ip__lambert__conf__grid__mod_8F90.html#a58187073914efa18eca897c6ec203b71", null ],
+    [ "an", "ip__lambert__conf__grid__mod_8F90.html#a82b75fe2d8495aab75b225c6309e61c8", null ],
+    [ "dxs", "ip__lambert__conf__grid__mod_8F90.html#a196e94b5a2add34133c87f845394fa81", null ],
+    [ "dys", "ip__lambert__conf__grid__mod_8F90.html#aad8b04b77b0920dbf9ed3827e2e8cfd7", null ],
+    [ "h", "ip__lambert__conf__grid__mod_8F90.html#aa91572e8b5ba3559c041f1750b6696c6", null ],
+    [ "irot", "ip__lambert__conf__grid__mod_8F90.html#a7dea876ed4206c5ecc0444aadb7d6acd", null ],
+    [ "rerth", "ip__lambert__conf__grid__mod_8F90.html#a9f0538d092cd7d2829a5b98247eb560d", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__lambert__conf__grid__mod_8F90_source.html b/ver-4.4.0/ip__lambert__conf__grid__mod_8F90_source.html
new file mode 100644
index 00000000..75d35ed5
--- /dev/null
+++ b/ver-4.4.0/ip__lambert__conf__grid__mod_8F90_source.html
@@ -0,0 +1,461 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_lambert_conf_grid_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__lambert__conf__grid__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_lambert_conf_grid_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__lambert__conf__grid__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html">   14</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__lambert__conf__grid__mod.html">ip_lambert_conf_grid_mod</a></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__constants__mod.html">ip_constants_mod</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">   24</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>) :: <a class="code" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a></div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932">   25</a></span>&#160;<span class="keywordtype">     real</span> :: rlat1</div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f">   26</a></span>&#160;<span class="keywordtype">     real</span> :: rlon1</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4">   27</a></span>&#160;<span class="keywordtype">     real</span> :: rlati1</div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b">   28</a></span>&#160;<span class="keywordtype">     real</span> :: rlati2</div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a">   29</a></span>&#160;<span class="keywordtype">     real</span> :: orient</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc">   30</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a></div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc">   31</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a></div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03">   32</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a></div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf">   33</a></span>&#160;     <span class="keywordtype">integer</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">irot</a></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370">   36</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">init_grib1</a></div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a">   38</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">init_grib2</a></div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc">   41</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a> =&gt; <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">gdswzd_lambert_conf</a></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">   44</a></span>&#160;  <span class="keywordtype">INTEGER</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">irot</a></div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">   45</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a></div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">   46</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a></div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">   47</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">   48</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a></div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">   49</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">rerth</a></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keywordtype">  REAL</span> :: tinyreal=tiny(1.0) </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">   60</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">init_grib1</a>(self, g1_desc)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordtype">    real</span> :: dx, dy, hi, hj</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordtype">integer</span> :: iproj, iscan, jscan</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    associate(kgds =&gt; g1_desc%gds)</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      self%rerth = 6.3712e6</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      self%eccen_squared = 0.0</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      self%IM=kgds(2)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      self%JM=kgds(3)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      self%RLAT1=kgds(4)*1.e-3</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      self%RLON1=kgds(5)*1.e-3</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      self%IROT=mod(kgds(6)/8,2)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      self%ORIENT=kgds(7)*1.e-3</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      dx=kgds(8)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      dy=kgds(9)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      iproj=mod(kgds(10)/128,2)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      iscan=mod(kgds(11)/128,2)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      jscan=mod(kgds(11)/64,2)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      self%RLATI1=kgds(12)*1.e-3</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      self%RLATI2=kgds(13)*1.e-3</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      self%H=(-1.)**iproj</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      hi=(-1.)**iscan</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      hj=(-1.)**(1-jscan)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      self%DXS=dx*hi</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      self%DYS=dy*hj</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      self%iwrap = 0</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      self%nscan = mod(kgds(11) / 32, 2)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">init_grib1</a></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
+<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">  112</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">init_grib2</a>(self, g2_desc)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keywordtype">type</span>(grib2_descriptor), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordtype">    real</span> :: dx, dy, hi, hj</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordtype">integer</span> :: iproj, iscan, jscan</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    associate(igdtmpl =&gt; g2_desc%gdt_tmpl, igdtlen =&gt; g2_desc%gdt_len)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      <span class="keyword">call </span>earth_radius(igdtmpl, igdtlen, self%rerth, self%eccen_squared)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      self%IM=igdtmpl(8)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      self%JM=igdtmpl(9)</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      self%RLAT1=float(igdtmpl(10))*1.0e-6</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      self%RLON1=float(igdtmpl(11))*1.0e-6</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      self%IROT=mod(igdtmpl(12)/8,2)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      self%ORIENT=float(igdtmpl(14))*1.0e-6</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      dx=float(igdtmpl(15))*1.0e-3</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      dy=float(igdtmpl(16))*1.0e-3</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      iproj=mod(igdtmpl(17)/128,2)</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      iscan=mod(igdtmpl(18)/128,2)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      jscan=mod(igdtmpl(18)/64,2)</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      self%RLATI1=float(igdtmpl(19))*1.0e-6</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      self%RLATI2=float(igdtmpl(20))*1.0e-6</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      self%H=(-1.)**iproj</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      hi=(-1.)**iscan</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      hj=(-1.)**(1-jscan)</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      self%DXS=dx*hi</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      self%DYS=dy*hj</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      self%nscan = mod(igdtmpl(18) / 32, 2)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      self%iwrap = 0</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">init_grib2</a></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
+<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">  219</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">gdswzd_lambert_conf</a>(self,IOPT,NPTS,FILL, &amp;</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;       XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>, <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: IM, JM, N</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordtype">LOGICAL</span>                       :: LROT, LMAP, LAREA</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">    REAL</span>                          :: ANTR, DI, DJ</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keywordtype">    REAL</span>                          :: DLON1</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keywordtype">    REAL</span>                          :: DE, DE2, DR2</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="keywordtype">    REAL</span>                          :: ORIENT, RLAT1, RLON1</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="keywordtype">    REAL</span>                          :: RLATI1, RLATI2</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keywordtype">    REAL</span>                          :: XMAX, XMIN, YMAX, YMIN, XP, YP</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">    REAL</span>                          :: DLON, DR</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot)) crot=fill</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(srot)) srot=fill</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon)) xlon=fill</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlat)) xlat=fill</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylon)) ylon=fill</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylat)) ylat=fill</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area)) area=fill</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    im=self%im</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    jm=self%jm</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160; </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    rlat1=self%rlat1</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    rlon1=self%rlon1</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160; </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">irot</a>=self%irot</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    orient=self%orient</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160; </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    rlati1=self%rlati1</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    rlati2=self%rlati2</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160; </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>=self%h</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a>=self%dxs</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <a class="code" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a>=self%dys</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160; </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">rerth</a> = self%rerth</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160; </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keywordflow">IF</span>(abs(rlati1-rlati2).LT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;       <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>=sin(rlati1/dpr)</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;       <a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>=log(cos(rlati1/dpr)/cos(rlati2/dpr))/ &amp;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            log(tan((90-rlati1)/2/dpr)/tan((90-rlati2)/2/dpr))</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    de=<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">rerth</a>*cos(rlati1/dpr)*tan((rlati1+90)/2/dpr)**<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>/<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <span class="keywordflow">IF</span>(abs(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*rlat1-90).LT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;       xp=1</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;       yp=1</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;       dr=de/tan((rlat1+90)/2/dpr)**<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;       dlon1=mod(rlon1-orient+180+3600,360.)-180</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;       xp=1-sin(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon1/dpr)*dr/<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;       yp=1+cos(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon1/dpr)*dr/<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    antr=1/(2*<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>)</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    de2=de**2</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    xmin=0</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    xmax=im+1</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    ymin=0</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    ymax=jm+1</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    nret=0</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot).AND.<span class="keyword">PRESENT</span>(srot))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;       lrot=.true.</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;       lrot=.false.</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon).AND.<span class="keyword">PRESENT</span>(xlat).AND.<span class="keyword">PRESENT</span>(ylon).AND.<span class="keyword">PRESENT</span>(ylat))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;       lmap=.true.</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;       lmap=.false.</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;       larea=.true.</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;       larea=.false.</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="comment">! TRANSLATE GRID COORDINATES TO EARTH COORDINATES</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <span class="keywordflow">IF</span>(iopt.EQ.0.OR.iopt.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N,DI,DJ,DR2,DR,DLON) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;          <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;               ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;             di=<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*(xpts(n)-xp)*<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;             dj=<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*(ypts(n)-yp)*<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;             dr2=di**2+dj**2</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;             dr=sqrt(dr2)</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;             <span class="keywordflow">IF</span>(dr2.LT.de2*1.e-6) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;                rlon(n)=0.</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                rlat(n)=<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*90.</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                rlon(n)=mod(orient+1./<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dpr*atan2(di,-dj)+3600,360.)</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;                rlat(n)=(2*dpr*atan((de2/dr2)**antr)-90)</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;             nret=nret+1</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;             dlon=mod(rlon(n)-orient+180+3600,360.)-180</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;             <span class="keywordflow">IF</span>(lrot)  <span class="keyword">CALL </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">lambert_conf_vect_rot</a>(dlon,crot(n),srot(n))</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;             <span class="keywordflow">IF</span>(lmap)  <span class="keyword">CALL </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">lambert_conf_map_jacob</a>(rlat(n),fill, dlon, dr, &amp;</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;                  xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;             <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">lambert_conf_grid_area</a>(rlat(n),fill,dr,area(n))</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;             rlon(n)=fill</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;             rlat(n)=fill</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;       <span class="comment">!  TRANSLATE EARTH COORDINATES TO GRID COORDINATES</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="keywordflow">ELSEIF</span>(iopt.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N,DR,DLON) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;          <span class="keywordflow">IF</span>(abs(rlon(n)).LT.(360.+tinyreal).AND.abs(rlat(n)).LT.(90.+tinyreal).AND. &amp;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;               abs(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*rlat(n)+90).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;             dr=<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*de*tan((90-rlat(n))/2/dpr)**<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;             dlon=mod(rlon(n)-orient+180+3600,360.)-180</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;             xpts(n)=xp+<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*sin(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon/dpr)*dr/<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;             ypts(n)=yp-<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*cos(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon/dpr)*dr/<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;             <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;                  ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;                nret=nret+1</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;                <span class="keywordflow">IF</span>(lrot)  <span class="keyword">CALL </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">lambert_conf_vect_rot</a>(dlon,crot(n),srot(n))</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;                <span class="keywordflow">IF</span>(lmap)  <span class="keyword">CALL </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">lambert_conf_map_jacob</a>(rlat(n),fill,dlon,dr, &amp;</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                     xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">lambert_conf_grid_area</a>(rlat(n),fill,dr,area(n))</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                xpts(n)=fill</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                ypts(n)=fill</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;             xpts(n)=fill</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;             ypts(n)=fill</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">gdswzd_lambert_conf</a></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160; </div>
+<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">  390</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">lambert_conf_vect_rot</a>(DLON,CROT,SROT)</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(   IN)</span> :: DLON</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(  OUT)</span> :: CROT, SROT</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160; </div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">irot</a>.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;       crot=cos(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon/dpr)</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;       srot=sin(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon/dpr)</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;       crot=1.</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;       srot=0.</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160; </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">lambert_conf_vect_rot</a></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160; </div>
+<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">  427</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">lambert_conf_map_jacob</a>(RLAT,FILL,DLON,DR,XLON,XLAT,YLON,YLAT)</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160; </div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: RLAT, FILL, DLON, DR</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(  OUT)</span> :: XLON, XLAT, YLON, YLAT</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160; </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="keywordtype">    REAL</span>                          :: CLAT</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160; </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    clat=cos(rlat/dpr)</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <span class="keywordflow">IF</span>(clat.LE.0.OR.dr.LE.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;       xlon=fill</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;       xlat=fill</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;       ylon=fill</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;       ylat=fill</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;       xlon=<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*cos(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon/dpr)*<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>/dpr*dr/<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;       xlat=-<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*sin(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon/dpr)*<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>/dpr*dr/<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a>/clat</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;       ylon=<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*sin(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon/dpr)*<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>/dpr*dr/<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;       ylat=<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a>*cos(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dlon/dpr)*<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>/dpr*dr/<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a>/clat</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160; </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">lambert_conf_map_jacob</a></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160; </div>
+<div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">  468</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">lambert_conf_grid_area</a>(RLAT,FILL,DR,AREA)</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160; </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: RLAT</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: DR</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(  OUT)</span> :: AREA</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160; </div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="keywordtype">    REAL</span>                          :: CLAT</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160; </div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    clat=cos(rlat/dpr)</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    <span class="keywordflow">IF</span>(clat.LE.0.OR.dr.LE.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;       area=fill</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;       area=<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">rerth</a>**2*clat**2*abs(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a>)*abs(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a>)/(<a class="code" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a>*dr)**2</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160; </div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">lambert_conf_grid_area</a></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160; </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__lambert__conf__grid__mod.html">ip_lambert_conf_grid_mod</a></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160; </div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html"><div class="ttname"><a href="namespaceearth__radius__mod.html">earth_radius_mod</a></div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00007">earth_radius_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html"><div class="ttname"><a href="namespaceip__constants__mod.html">ip_constants_mod</a></div><div class="ttdoc">Module containing common constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00009">ip_constants_mod.F90:9</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html">ip_lambert_conf_grid_mod</a></div><div class="ttdoc">Lambert conformal grib decoder and grid coordinate transformations.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00014">ip_lambert_conf_grid_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_a15c44b47172b926aea840caee9723b1c"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">ip_lambert_conf_grid_mod::lambert_conf_grid_area</a></div><div class="ttdeci">subroutine lambert_conf_grid_area(RLAT, FILL, DR, AREA)</div><div class="ttdoc">Grid box area for lambert conformal conical.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00468">ip_lambert_conf_grid_mod.F90:469</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_a196e94b5a2add34133c87f845394fa81"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">ip_lambert_conf_grid_mod::dxs</a></div><div class="ttdeci">real dxs</div><div class="ttdoc">x-direction grid length adjusted for scan mode.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00046">ip_lambert_conf_grid_mod.F90:46</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_a5544708e893ffcfbe7d958fdec700eea"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">ip_lambert_conf_grid_mod::init_grib1</a></div><div class="ttdeci">subroutine init_grib1(self, g1_desc)</div><div class="ttdoc">Initializes a Lambert Conformal grid given a grib1_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00060">ip_lambert_conf_grid_mod.F90:61</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_a58187073914efa18eca897c6ec203b71"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">ip_lambert_conf_grid_mod::lambert_conf_vect_rot</a></div><div class="ttdeci">subroutine lambert_conf_vect_rot(DLON, CROT, SROT)</div><div class="ttdoc">Vector rotation fields for lambert conformal conical.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00390">ip_lambert_conf_grid_mod.F90:391</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_a5e1d42f0027236f47467e25c525e66ae"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">ip_lambert_conf_grid_mod::lambert_conf_map_jacob</a></div><div class="ttdeci">subroutine lambert_conf_map_jacob(RLAT, FILL, DLON, DR, XLON, XLAT, YLON, YLAT)</div><div class="ttdoc">Map jacobians for lambert conformal conical.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00427">ip_lambert_conf_grid_mod.F90:428</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_a5ebb9e4f1bd58caa254771b305c94f71"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">ip_lambert_conf_grid_mod::gdswzd_lambert_conf</a></div><div class="ttdeci">subroutine gdswzd_lambert_conf(self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">GDS wizard for lambert conformal conical.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00219">ip_lambert_conf_grid_mod.F90:222</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_a7dea876ed4206c5ecc0444aadb7d6acd"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">ip_lambert_conf_grid_mod::irot</a></div><div class="ttdeci">integer irot</div><div class="ttdoc">vector rotation flag.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00044">ip_lambert_conf_grid_mod.F90:44</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_a82b75fe2d8495aab75b225c6309e61c8"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">ip_lambert_conf_grid_mod::an</a></div><div class="ttdeci">real an</div><div class="ttdoc">Cone factor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00045">ip_lambert_conf_grid_mod.F90:45</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_a9f0538d092cd7d2829a5b98247eb560d"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">ip_lambert_conf_grid_mod::rerth</a></div><div class="ttdeci">real rerth</div><div class="ttdoc">Radius of the earth.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00049">ip_lambert_conf_grid_mod.F90:49</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_aa91572e8b5ba3559c041f1750b6696c6"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">ip_lambert_conf_grid_mod::h</a></div><div class="ttdeci">real h</div><div class="ttdoc">Hemisphere flag.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00048">ip_lambert_conf_grid_mod.F90:48</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_aad8b04b77b0920dbf9ed3827e2e8cfd7"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">ip_lambert_conf_grid_mod::dys</a></div><div class="ttdeci">real dys</div><div class="ttdoc">y-direction grid length adjusted for scan model.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00047">ip_lambert_conf_grid_mod.F90:47</a></div></div>
+<div class="ttc" id="anamespaceip__lambert__conf__grid__mod_html_acb0339a9fff4fff6c2017d37f8bed0cf"><div class="ttname"><a href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">ip_lambert_conf_grid_mod::init_grib2</a></div><div class="ttdeci">subroutine init_grib2(self, g2_desc)</div><div class="ttdoc">Initializes a Lambert Conformal grid given a grib2_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00112">ip_lambert_conf_grid_mod.F90:113</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+<div class="ttc" id="astructip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid_html"><div class="ttname"><a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid_mod::ip_lambert_conf_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__lambert__conf__grid__mod_8F90_source.html#l00024">ip_lambert_conf_grid_mod.F90:24</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__lambert__conf__grid__mod_8F90.html">ip_lambert_conf_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__mercator__grid__mod_8F90.html b/ver-4.4.0/ip__mercator__grid__mod_8F90.html
new file mode 100644
index 00000000..4fb43d36
--- /dev/null
+++ b/ver-4.4.0/ip__mercator__grid__mod_8F90.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_mercator_grid_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__mercator__grid__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_mercator_grid_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>GDS wizard for mercator cylindrical.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__mercator__grid__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid_mod::ip_mercator_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__mercator__grid__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html">ip_mercator_grid_mod</a></td></tr>
+<tr class="memdesc:namespaceip__mercator__grid__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for mercator cylindrical. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:acc39017fa51125972ab8e755e16d339e"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">ip_mercator_grid_mod::gdswzd_mercator</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:acc39017fa51125972ab8e755e16d339e"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for mercator cylindrical.  <a href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">More...</a><br /></td></tr>
+<tr class="separator:acc39017fa51125972ab8e755e16d339e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4125dba8b09e9b69933e224b00f4758d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">ip_mercator_grid_mod::init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a4125dba8b09e9b69933e224b00f4758d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a mercator grid given a grib1_descriptor object.  <a href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">More...</a><br /></td></tr>
+<tr class="separator:a4125dba8b09e9b69933e224b00f4758d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad3b6fef6ee74b8df984c0159ff29c82"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">ip_mercator_grid_mod::init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:aad3b6fef6ee74b8df984c0159ff29c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init GRIB2.  <a href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">More...</a><br /></td></tr>
+<tr class="separator:aad3b6fef6ee74b8df984c0159ff29c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a952ab9add18587c4dbe54699feb8eafd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">ip_mercator_grid_mod::mercator_grid_area</a> (RLAT, AREA)</td></tr>
+<tr class="memdesc:a952ab9add18587c4dbe54699feb8eafd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid box area for mercator cylindrical grids.  <a href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">More...</a><br /></td></tr>
+<tr class="separator:a952ab9add18587c4dbe54699feb8eafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab93a0a6ae8c5f5056abece1dcffdc57a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">ip_mercator_grid_mod::mercator_map_jacob</a> (RLAT, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:ab93a0a6ae8c5f5056abece1dcffdc57a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map jacobians for mercator cylindrical grids.  <a href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">More...</a><br /></td></tr>
+<tr class="separator:ab93a0a6ae8c5f5056abece1dcffdc57a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea5e18faf7a18bf8d06c87ccb11f3e17"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">ip_mercator_grid_mod::mercator_vect_rot</a> (CROT, SROT)</td></tr>
+<tr class="memdesc:aea5e18faf7a18bf8d06c87ccb11f3e17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector rotation fields for mercator cylindrical grids.  <a href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">More...</a><br /></td></tr>
+<tr class="separator:aea5e18faf7a18bf8d06c87ccb11f3e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a14e1cb3f8c05d2de49d2aa8dc69d104f"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">ip_mercator_grid_mod::dlon</a></td></tr>
+<tr class="memdesc:a14e1cb3f8c05d2de49d2aa8dc69d104f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitudinal direction grid length.  <a href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">More...</a><br /></td></tr>
+<tr class="separator:a14e1cb3f8c05d2de49d2aa8dc69d104f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a156e638e2d1b93e388d674462ac3f732"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">ip_mercator_grid_mod::dphi</a></td></tr>
+<tr class="memdesc:a156e638e2d1b93e388d674462ac3f732"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitudinal direction grid length.  <a href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">More...</a><br /></td></tr>
+<tr class="separator:a156e638e2d1b93e388d674462ac3f732"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adaa27c5d41ee24185b6d020420ce9419"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">ip_mercator_grid_mod::rerth</a></td></tr>
+<tr class="memdesc:adaa27c5d41ee24185b6d020420ce9419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">More...</a><br /></td></tr>
+<tr class="separator:adaa27c5d41ee24185b6d020420ce9419"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>GDS wizard for mercator cylindrical. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__mercator__grid__mod_8F90.html">ip_mercator_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__mercator__grid__mod_8F90.js b/ver-4.4.0/ip__mercator__grid__mod_8F90.js
new file mode 100644
index 00000000..90631cb4
--- /dev/null
+++ b/ver-4.4.0/ip__mercator__grid__mod_8F90.js
@@ -0,0 +1,13 @@
+var ip__mercator__grid__mod_8F90 =
+[
+    [ "ip_mercator_grid", "structip__mercator__grid__mod_1_1ip__mercator__grid.html", "structip__mercator__grid__mod_1_1ip__mercator__grid" ],
+    [ "gdswzd_mercator", "ip__mercator__grid__mod_8F90.html#acc39017fa51125972ab8e755e16d339e", null ],
+    [ "init_grib1", "ip__mercator__grid__mod_8F90.html#a4125dba8b09e9b69933e224b00f4758d", null ],
+    [ "init_grib2", "ip__mercator__grid__mod_8F90.html#aad3b6fef6ee74b8df984c0159ff29c82", null ],
+    [ "mercator_grid_area", "ip__mercator__grid__mod_8F90.html#a952ab9add18587c4dbe54699feb8eafd", null ],
+    [ "mercator_map_jacob", "ip__mercator__grid__mod_8F90.html#ab93a0a6ae8c5f5056abece1dcffdc57a", null ],
+    [ "mercator_vect_rot", "ip__mercator__grid__mod_8F90.html#aea5e18faf7a18bf8d06c87ccb11f3e17", null ],
+    [ "dlon", "ip__mercator__grid__mod_8F90.html#a14e1cb3f8c05d2de49d2aa8dc69d104f", null ],
+    [ "dphi", "ip__mercator__grid__mod_8F90.html#a156e638e2d1b93e388d674462ac3f732", null ],
+    [ "rerth", "ip__mercator__grid__mod_8F90.html#adaa27c5d41ee24185b6d020420ce9419", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__mercator__grid__mod_8F90_source.html b/ver-4.4.0/ip__mercator__grid__mod_8F90_source.html
new file mode 100644
index 00000000..6efed12e
--- /dev/null
+++ b/ver-4.4.0/ip__mercator__grid__mod_8F90_source.html
@@ -0,0 +1,385 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_mercator_grid_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__mercator__grid__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_mercator_grid_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__mercator__grid__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html">   12</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__mercator__grid__mod.html">ip_mercator_grid_mod</a></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__constants__mod.html">ip_constants_mod</a>, <span class="keywordtype">only</span>: <a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>, <a class="code" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">   22</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>) :: <a class="code" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7">   23</a></span>&#160;<span class="keywordtype">     real</span> :: rlat1</div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723">   24</a></span>&#160;<span class="keywordtype">     real</span> :: rlon1</div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c">   25</a></span>&#160;<span class="keywordtype">     real</span> :: rlon2</div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef">   26</a></span>&#160;<span class="keywordtype">     real</span> :: rlati</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2">   27</a></span>&#160;<span class="keywordtype">     real</span> :: hi</div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee">   28</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">dlon</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5">   29</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">dphi</a></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c">   32</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">init_grib1</a></div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0">   34</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">init_grib2</a></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a">   37</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a> =&gt; <a class="code" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">gdswzd_mercator</a> </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">   40</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">dlon</a></div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">   41</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">dphi</a></div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">   42</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">rerth</a></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">CONTAINS</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">   52</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">init_grib1</a>(self, g1_desc)</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordtype">integer</span> :: iscan, jscan</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keywordtype">    real</span> :: dy, hj</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    associate(kgds =&gt; g1_desc%gds)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      self%rerth = 6.3712e6</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      self%eccen_squared = 0.0</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      self%IM=kgds(2)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      self%JM=kgds(3)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      self%RLAT1=kgds(4)*1.e-3</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      self%RLON1=kgds(5)*1.e-3</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      self%RLON2=kgds(8)*1.e-3</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      self%RLATI=kgds(9)*1.e-3</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      iscan=mod(kgds(11)/128,2)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      jscan=mod(kgds(11)/64,2)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      dy=kgds(13)</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      self%HI=(-1.)**iscan</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      hj=(-1.)**(1-jscan)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      self%DLON=self%HI*(mod(self%HI*(self%RLON2-self%RLON1)-1+3600,360.)+1)/(self%IM-1)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      self%DPHI=hj*dy/(self%RERTH*cos(self%RLATI/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>))</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      <span class="comment">! defaults</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      self%iwrap = 0</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      self%nscan = mod(kgds(11) / 32, 2)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      self%iwrap = nint(360 / abs(self%dlon))</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      <span class="keywordflow">if</span> (self%im &lt; self%iwrap) self%iwrap = 0</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">init_grib1</a></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">  100</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">init_grib2</a>(self, g2_desc)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keywordtype">type</span>(grib2_descriptor), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">integer</span> :: iscan, jscan</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">    real</span> :: hj, dy</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    associate(igdtmpl =&gt; g2_desc%gdt_tmpl, igdtlen =&gt; g2_desc%gdt_len)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      <span class="keyword">call </span>earth_radius(igdtmpl, igdtlen, self%rerth, self%eccen_squared)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      self%IM=igdtmpl(8)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      self%JM=igdtmpl(9)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      self%RLAT1=float(igdtmpl(10))*1.0e-6</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      self%RLON1=float(igdtmpl(11))*1.0e-6</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      self%RLON2=float(igdtmpl(15))*1.0e-6</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      self%RLATI=float(igdtmpl(13))*1.0e-6</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      iscan=mod(igdtmpl(16)/128,2)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      jscan=mod(igdtmpl(16)/64,2)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      dy=float(igdtmpl(19))*1.0e-3</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      self%HI=(-1.)**iscan</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      hj=(-1.)**(1-jscan)</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      self%DLON=self%HI*(mod(self%HI*(self%RLON2-self%RLON1)-1+3600,360.)+1)/(self%IM-1)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      self%DPHI=hj*dy/(self%RERTH*cos(self%RLATI/dpr))</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      self%nscan=mod(igdtmpl(16) / 32,2)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      self%iwrap = nint(360 / abs(self%dlon))</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;      <span class="keywordflow">if</span>(self%im &lt; self%iwrap) self%iwrap = 0</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">init_grib2</a></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">  198</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">gdswzd_mercator</a>(self,IOPT,NPTS,FILL, &amp;</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;       XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="keywordtype">INTEGER</span>,           <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keywordtype">INTEGER</span>,           <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keywordtype">    REAL</span>,              <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keywordtype">    REAL</span>,              <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">    REAL</span>,              <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keywordtype">INTEGER</span>                          :: IM, JM, N</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keywordtype">LOGICAL</span>                          :: LROT, LMAP, LAREA</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keywordtype">    REAL</span>                             :: HI</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keywordtype">    REAL</span>                             :: RLAT1, RLON1, RLON2, RLATI</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keywordtype">    REAL</span>                             :: XMAX, XMIN, YMAX, YMIN</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="keywordtype">    REAL</span>                             :: YE</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot)) crot=fill</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(srot)) srot=fill</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon)) xlon=fill</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlat)) xlat=fill</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylon)) ylon=fill</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylat)) ylat=fill</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area)) area=fill</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160; </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    im=self%im</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    jm=self%jm</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160; </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    rlat1=self%rlat1</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    rlon1=self%rlon1</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    rlon2=self%rlon2</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    rlati=self%rlati</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160; </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    hi=self%hi</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160; </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <a class="code" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">dlon</a>=self%dlon</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <a class="code" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">dphi</a>=self%dphi</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <a class="code" href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">rerth</a> = self%rerth</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160; </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    ye=1-log(tan((rlat1+90)/2/dpr))/<a class="code" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">dphi</a></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    xmin=0</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    xmax=im+1</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <span class="keywordflow">IF</span>(im.EQ.nint(360/abs(<a class="code" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">dlon</a>))) xmax=im+2</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    ymin=0</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    ymax=jm+1</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    nret=0</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot).AND.<span class="keyword">PRESENT</span>(srot))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;       lrot=.true.</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;       lrot=.false.</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon).AND.<span class="keyword">PRESENT</span>(xlat).AND.<span class="keyword">PRESENT</span>(ylon).AND.<span class="keyword">PRESENT</span>(ylat))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;       lmap=.true.</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;       lmap=.false.</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;       larea=.true.</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;       larea=.false.</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="comment">!  TRANSLATE GRID COORDINATES TO EARTH COORDINATES</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordflow">IF</span>(iopt.EQ.0.OR.iopt.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;          <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;               ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;             rlon(n)=mod(rlon1+<a class="code" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">dlon</a>*(xpts(n)-1)+3600,360.)</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;             rlat(n)=2*atan(exp(<a class="code" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">dphi</a>*(ypts(n)-ye)))*dpr-90</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;             nret=nret+1</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;             <span class="keywordflow">IF</span>(lrot)  <span class="keyword">CALL </span><a class="code" href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">mercator_vect_rot</a>(crot(n),srot(n))</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;             <span class="keywordflow">IF</span>(lmap)  <span class="keyword">CALL </span><a class="code" href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">mercator_map_jacob</a>(rlat(n),xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;             <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">mercator_grid_area</a>(rlat(n),area(n))</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;             rlon(n)=fill</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;             rlat(n)=fill</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;       <span class="comment">!  TRANSLATE EARTH COORDINATES TO GRID COORDINATES</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <span class="keywordflow">ELSEIF</span>(iopt.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;          <span class="keywordflow">IF</span>(abs(rlon(n)).LE.360.AND.abs(rlat(n)).LT.90) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;             xpts(n)=1+hi*mod(hi*(rlon(n)-rlon1)+3600,360.)/<a class="code" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">dlon</a></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;             ypts(n)=ye+log(tan((rlat(n)+90)/2/dpr))/<a class="code" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">dphi</a></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;             <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                  ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;                nret=nret+1</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                <span class="keywordflow">IF</span>(lrot)  <span class="keyword">CALL </span><a class="code" href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">mercator_vect_rot</a>(crot(n),srot(n))</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                <span class="keywordflow">IF</span>(lmap)  <span class="keyword">CALL </span><a class="code" href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">mercator_map_jacob</a>(rlat(n),xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;                <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">mercator_grid_area</a>(rlat(n),area(n))</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                xpts(n)=fill</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                ypts(n)=fill</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;             xpts(n)=fill</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;             ypts(n)=fill</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">gdswzd_mercator</a></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
+<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">  331</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">mercator_vect_rot</a>(CROT,SROT)</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160; </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(  OUT)</span> :: CROT, SROT</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160; </div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    crot=1.0</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    srot=0.0</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">mercator_vect_rot</a></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160; </div>
+<div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">  359</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">mercator_map_jacob</a>(RLAT,XLON,XLAT,YLON,YLAT)</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160; </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(IN   )</span> :: RLAT</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="keywordtype">    REAL</span>,                <span class="keywordtype">INTENT(  OUT)</span> :: XLON, XLAT, YLON, YLAT</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160; </div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    xlon=1./<a class="code" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">dlon</a></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    xlat=0.</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    ylon=0.</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    ylat=1./<a class="code" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">dphi</a>/cos(rlat/dpr)/dpr</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160; </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">mercator_map_jacob</a></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160; </div>
+<div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">  387</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">mercator_grid_area</a>(RLAT,AREA)</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160; </div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="keywordtype">    REAL</span>,              <span class="keywordtype">INTENT(IN   )</span> :: RLAT</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="keywordtype">    REAL</span>,              <span class="keywordtype">INTENT(  OUT)</span> :: AREA</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160; </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    area=<a class="code" href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">rerth</a>**2*cos(rlat/dpr)**2*<a class="code" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">dphi</a>*<a class="code" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">dlon</a>/dpr</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160; </div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">mercator_grid_area</a></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160; </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__mercator__grid__mod.html">ip_mercator_grid_mod</a></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160; </div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html"><div class="ttname"><a href="namespaceearth__radius__mod.html">earth_radius_mod</a></div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00007">earth_radius_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html"><div class="ttname"><a href="namespaceip__constants__mod.html">ip_constants_mod</a></div><div class="ttdoc">Module containing common constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00009">ip_constants_mod.F90:9</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_a47f83a2267da693170054c958c401cd4"><div class="ttname"><a href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">ip_constants_mod::pi</a></div><div class="ttdeci">real, parameter pi</div><div class="ttdoc">PI.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00014">ip_constants_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_ae6b74489db06341b78c3088b3f207011"><div class="ttname"><a href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">ip_constants_mod::dpr</a></div><div class="ttdeci">real, parameter dpr</div><div class="ttdoc">Radians to degrees.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00015">ip_constants_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html">ip_mercator_grid_mod</a></div><div class="ttdoc">GDS wizard for mercator cylindrical.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00012">ip_mercator_grid_mod.F90:12</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html_a14e1cb3f8c05d2de49d2aa8dc69d104f"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">ip_mercator_grid_mod::dlon</a></div><div class="ttdeci">real dlon</div><div class="ttdoc">Longitudinal direction grid length.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00040">ip_mercator_grid_mod.F90:40</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html_a156e638e2d1b93e388d674462ac3f732"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">ip_mercator_grid_mod::dphi</a></div><div class="ttdeci">real dphi</div><div class="ttdoc">Latitudinal direction grid length.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00041">ip_mercator_grid_mod.F90:41</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html_a4125dba8b09e9b69933e224b00f4758d"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">ip_mercator_grid_mod::init_grib1</a></div><div class="ttdeci">subroutine init_grib1(self, g1_desc)</div><div class="ttdoc">Initializes a mercator grid given a grib1_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00052">ip_mercator_grid_mod.F90:53</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html_a952ab9add18587c4dbe54699feb8eafd"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">ip_mercator_grid_mod::mercator_grid_area</a></div><div class="ttdeci">subroutine mercator_grid_area(RLAT, AREA)</div><div class="ttdoc">Grid box area for mercator cylindrical grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00387">ip_mercator_grid_mod.F90:388</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html_aad3b6fef6ee74b8df984c0159ff29c82"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">ip_mercator_grid_mod::init_grib2</a></div><div class="ttdeci">subroutine init_grib2(self, g2_desc)</div><div class="ttdoc">Init GRIB2.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00100">ip_mercator_grid_mod.F90:101</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html_ab93a0a6ae8c5f5056abece1dcffdc57a"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">ip_mercator_grid_mod::mercator_map_jacob</a></div><div class="ttdeci">subroutine mercator_map_jacob(RLAT, XLON, XLAT, YLON, YLAT)</div><div class="ttdoc">Map jacobians for mercator cylindrical grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00359">ip_mercator_grid_mod.F90:360</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html_acc39017fa51125972ab8e755e16d339e"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">ip_mercator_grid_mod::gdswzd_mercator</a></div><div class="ttdeci">subroutine gdswzd_mercator(self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">GDS wizard for mercator cylindrical.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00198">ip_mercator_grid_mod.F90:201</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html_adaa27c5d41ee24185b6d020420ce9419"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">ip_mercator_grid_mod::rerth</a></div><div class="ttdeci">real rerth</div><div class="ttdoc">Radius of the Earth.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00042">ip_mercator_grid_mod.F90:42</a></div></div>
+<div class="ttc" id="anamespaceip__mercator__grid__mod_html_aea5e18faf7a18bf8d06c87ccb11f3e17"><div class="ttname"><a href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">ip_mercator_grid_mod::mercator_vect_rot</a></div><div class="ttdeci">subroutine mercator_vect_rot(CROT, SROT)</div><div class="ttdoc">Vector rotation fields for mercator cylindrical grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00331">ip_mercator_grid_mod.F90:332</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+<div class="ttc" id="astructip__mercator__grid__mod_1_1ip__mercator__grid_html"><div class="ttname"><a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid_mod::ip_mercator_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__mercator__grid__mod_8F90_source.html#l00022">ip_mercator_grid_mod.F90:22</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__mercator__grid__mod_8F90.html">ip_mercator_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__mod_8F90.html b/ver-4.4.0/ip__mod_8F90.html
new file mode 100644
index 00000000..57f3c867
--- /dev/null
+++ b/ver-4.4.0/ip__mod_8F90.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Top-level module for the ip library.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mod.html">ip_mod</a></td></tr>
+<tr class="memdesc:namespaceip__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top-level module for the ip library which re-exports public routines such as ipolates, ipolatev, and gdswzd. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Top-level module for the ip library. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__mod_8F90_source.html">ip_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__mod_8F90.html">ip_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__mod_8F90_source.html b/ver-4.4.0/ip__mod_8F90_source.html
new file mode 100644
index 00000000..c45c1b5a
--- /dev/null
+++ b/ver-4.4.0/ip__mod_8F90_source.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="namespaceip__mod.html">    6</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__mod.html">ip_mod</a></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160; </div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;  <span class="comment">! Make these constants public to everyone instead of</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  <span class="comment">! using numbers directly</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a>, <span class="keywordtype">only</span>: <a class="code" href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">bilinear_interp_id</a>, &amp;</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;       <a class="code" href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">bicubic_interp_id</a>, &amp;</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;       <a class="code" href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">neighbor_interp_id</a>, &amp;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;       <a class="code" href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">budget_interp_id</a>, &amp;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;       <a class="code" href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">spectral_interp_id</a>, &amp;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;       <a class="code" href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">neighbor_budget_interp_id</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;       </div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceipolates__mod.html">ipolates_mod</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceipolatev__mod.html">ipolatev_mod</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__mod.html">ip_mod</a></div>
+<div class="ttc" id="anamespacegdswzd__mod_html"><div class="ttname"><a href="namespacegdswzd__mod.html">gdswzd_mod</a></div><div class="ttdoc">Driver module for gdswzd routines.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00025">gdswzd_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html"><div class="ttname"><a href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></div><div class="ttdoc">Top-level module to export interpolation routines and constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00007">ip_interpolators_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a35e5fe3a2dd79d205c0503f550388258"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">ip_interpolators_mod::neighbor_interp_id</a></div><div class="ttdeci">integer, parameter, public neighbor_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00021">ip_interpolators_mod.F90:21</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a753e4b6c113a9a8b226c3c834786f3e1"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">ip_interpolators_mod::bilinear_interp_id</a></div><div class="ttdeci">integer, parameter, public bilinear_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00017">ip_interpolators_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a7df843ca4a64e3178f448aebf7dad359"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">ip_interpolators_mod::budget_interp_id</a></div><div class="ttdeci">integer, parameter, public budget_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00023">ip_interpolators_mod.F90:23</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a83ba2963a0b686c6ae67b53f9c385851"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">ip_interpolators_mod::spectral_interp_id</a></div><div class="ttdeci">integer, parameter, public spectral_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00025">ip_interpolators_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_adfdc7760718083d85618df85320c495e"><div class="ttname"><a href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">ip_interpolators_mod::bicubic_interp_id</a></div><div class="ttdeci">integer, parameter, public bicubic_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00019">ip_interpolators_mod.F90:19</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_ae77a1da241f5de94f1874004ee8e715c"><div class="ttname"><a href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">ip_interpolators_mod::neighbor_budget_interp_id</a></div><div class="ttdeci">integer, parameter, public neighbor_budget_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00027">ip_interpolators_mod.F90:27</a></div></div>
+<div class="ttc" id="anamespaceip__mod_html"><div class="ttname"><a href="namespaceip__mod.html">ip_mod</a></div><div class="ttdoc">Top-level module for the ip library which re-exports public routines such as ipolates,...</div><div class="ttdef"><b>Definition:</b> <a href="ip__mod_8F90_source.html#l00006">ip_mod.F90:6</a></div></div>
+<div class="ttc" id="anamespaceipolates__mod_html"><div class="ttname"><a href="namespaceipolates__mod.html">ipolates_mod</a></div><div class="ttdoc">Top-level driver for scalar interpolation interpolation routine ipolates().</div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00012">ipolates.F90:12</a></div></div>
+<div class="ttc" id="anamespaceipolatev__mod_html"><div class="ttname"><a href="namespaceipolatev__mod.html">ipolatev_mod</a></div><div class="ttdoc">Top-level driver for vector interpolation interpolation routine ipolatev().</div><div class="ttdef"><b>Definition:</b> <a href="ipolatev_8F90_source.html#l00010">ipolatev.F90:10</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__mod_8F90.html">ip_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__polar__stereo__grid__mod_8F90.html b/ver-4.4.0/ip__polar__stereo__grid__mod_8F90.html
new file mode 100644
index 00000000..67193574
--- /dev/null
+++ b/ver-4.4.0/ip__polar__stereo__grid__mod_8F90.html
@@ -0,0 +1,175 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_polar_stereo_grid_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__polar__stereo__grid__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_polar_stereo_grid_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>GDS wizard for polar stereographic azimuthal.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__polar__stereo__grid__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__polar__stereo__grid__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html">ip_polar_stereo_grid_mod</a></td></tr>
+<tr class="memdesc:namespaceip__polar__stereo__grid__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for polar stereographic azimuthal. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ae2694d90ab514a131e083dfba3b173c5"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">ip_polar_stereo_grid_mod::gdswzd_polar_stereo</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:ae2694d90ab514a131e083dfba3b173c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for polar stereographic azimuthal.  <a href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">More...</a><br /></td></tr>
+<tr class="separator:ae2694d90ab514a131e083dfba3b173c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ed76f58f30993cd7be84b7e03cf4d6f"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">ip_polar_stereo_grid_mod::init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a6ed76f58f30993cd7be84b7e03cf4d6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polar stereographic grid given a grib1_descriptor object.  <a href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">More...</a><br /></td></tr>
+<tr class="separator:a6ed76f58f30993cd7be84b7e03cf4d6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5210b986366b503683ae966519d501e7"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">ip_polar_stereo_grid_mod::init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:a5210b986366b503683ae966519d501e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polar stereographic grid given a grib2_descriptor object.  <a href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">More...</a><br /></td></tr>
+<tr class="separator:a5210b986366b503683ae966519d501e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a2e0854e5c129e320924a811cbd08e2"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">ip_polar_stereo_grid_mod::polar_stereo_grid_area</a> (RLAT, DR2, AREA)</td></tr>
+<tr class="memdesc:a2a2e0854e5c129e320924a811cbd08e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid box area for polar stereographic grids.  <a href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">More...</a><br /></td></tr>
+<tr class="separator:a2a2e0854e5c129e320924a811cbd08e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a386933f7e52c348b9d742df423e0e223"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">ip_polar_stereo_grid_mod::polar_stereo_map_jacob</a> (RLON, RLAT, DR2, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a386933f7e52c348b9d742df423e0e223"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map jacobians for polar stereographic grids.  <a href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">More...</a><br /></td></tr>
+<tr class="separator:a386933f7e52c348b9d742df423e0e223"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe4d416201e986421a8e325a9b00e462"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">ip_polar_stereo_grid_mod::polar_stereo_vect_rot</a> (RLON, CROT, SROT)</td></tr>
+<tr class="memdesc:abe4d416201e986421a8e325a9b00e462"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector rotation fields for polar stereographic grids.  <a href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">More...</a><br /></td></tr>
+<tr class="separator:abe4d416201e986421a8e325a9b00e462"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a605d287e34e60f553521a5de2da22962"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">ip_polar_stereo_grid_mod::de2</a></td></tr>
+<tr class="memdesc:a605d287e34e60f553521a5de2da22962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square of DE.  <a href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">More...</a><br /></td></tr>
+<tr class="separator:a605d287e34e60f553521a5de2da22962"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf60181f89954e2ff31b08bb1b345354"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">ip_polar_stereo_grid_mod::dxs</a></td></tr>
+<tr class="memdesc:acf60181f89954e2ff31b08bb1b345354"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dxs.  <a href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">More...</a><br /></td></tr>
+<tr class="separator:acf60181f89954e2ff31b08bb1b345354"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea7950530d06d9c59ff61bf706df0a0f"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">ip_polar_stereo_grid_mod::dys</a></td></tr>
+<tr class="memdesc:aea7950530d06d9c59ff61bf706df0a0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dys.  <a href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">More...</a><br /></td></tr>
+<tr class="separator:aea7950530d06d9c59ff61bf706df0a0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf3a34d9bb00c39dac5225798aea4d5b"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">ip_polar_stereo_grid_mod::e2</a></td></tr>
+<tr class="memdesc:abf3a34d9bb00c39dac5225798aea4d5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity squared.  <a href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">More...</a><br /></td></tr>
+<tr class="separator:abf3a34d9bb00c39dac5225798aea4d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a63da5168a1432a1af42c0b668f0645"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">ip_polar_stereo_grid_mod::h</a></td></tr>
+<tr class="memdesc:a5a63da5168a1432a1af42c0b668f0645"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of h.  <a href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">More...</a><br /></td></tr>
+<tr class="separator:a5a63da5168a1432a1af42c0b668f0645"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1269037aaecd12e75e17d8aac8e20c8c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">ip_polar_stereo_grid_mod::irot</a></td></tr>
+<tr class="memdesc:a1269037aaecd12e75e17d8aac8e20c8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of irot.  <a href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">More...</a><br /></td></tr>
+<tr class="separator:a1269037aaecd12e75e17d8aac8e20c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4a88f48d7b78cfdfc54754882195d18"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">ip_polar_stereo_grid_mod::orient</a></td></tr>
+<tr class="memdesc:aa4a88f48d7b78cfdfc54754882195d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of orient.  <a href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">More...</a><br /></td></tr>
+<tr class="separator:aa4a88f48d7b78cfdfc54754882195d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3315b2efb5cb9aebc0b2cb2773aa20b5"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">ip_polar_stereo_grid_mod::rerth</a></td></tr>
+<tr class="memdesc:a3315b2efb5cb9aebc0b2cb2773aa20b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">More...</a><br /></td></tr>
+<tr class="separator:a3315b2efb5cb9aebc0b2cb2773aa20b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>GDS wizard for polar stereographic azimuthal. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__polar__stereo__grid__mod_8F90.html">ip_polar_stereo_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__polar__stereo__grid__mod_8F90.js b/ver-4.4.0/ip__polar__stereo__grid__mod_8F90.js
new file mode 100644
index 00000000..79171727
--- /dev/null
+++ b/ver-4.4.0/ip__polar__stereo__grid__mod_8F90.js
@@ -0,0 +1,18 @@
+var ip__polar__stereo__grid__mod_8F90 =
+[
+    [ "ip_polar_stereo_grid", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid" ],
+    [ "gdswzd_polar_stereo", "ip__polar__stereo__grid__mod_8F90.html#ae2694d90ab514a131e083dfba3b173c5", null ],
+    [ "init_grib1", "ip__polar__stereo__grid__mod_8F90.html#a6ed76f58f30993cd7be84b7e03cf4d6f", null ],
+    [ "init_grib2", "ip__polar__stereo__grid__mod_8F90.html#a5210b986366b503683ae966519d501e7", null ],
+    [ "polar_stereo_grid_area", "ip__polar__stereo__grid__mod_8F90.html#a2a2e0854e5c129e320924a811cbd08e2", null ],
+    [ "polar_stereo_map_jacob", "ip__polar__stereo__grid__mod_8F90.html#a386933f7e52c348b9d742df423e0e223", null ],
+    [ "polar_stereo_vect_rot", "ip__polar__stereo__grid__mod_8F90.html#abe4d416201e986421a8e325a9b00e462", null ],
+    [ "de2", "ip__polar__stereo__grid__mod_8F90.html#a605d287e34e60f553521a5de2da22962", null ],
+    [ "dxs", "ip__polar__stereo__grid__mod_8F90.html#acf60181f89954e2ff31b08bb1b345354", null ],
+    [ "dys", "ip__polar__stereo__grid__mod_8F90.html#aea7950530d06d9c59ff61bf706df0a0f", null ],
+    [ "e2", "ip__polar__stereo__grid__mod_8F90.html#abf3a34d9bb00c39dac5225798aea4d5b", null ],
+    [ "h", "ip__polar__stereo__grid__mod_8F90.html#a5a63da5168a1432a1af42c0b668f0645", null ],
+    [ "irot", "ip__polar__stereo__grid__mod_8F90.html#a1269037aaecd12e75e17d8aac8e20c8c", null ],
+    [ "orient", "ip__polar__stereo__grid__mod_8F90.html#aa4a88f48d7b78cfdfc54754882195d18", null ],
+    [ "rerth", "ip__polar__stereo__grid__mod_8F90.html#a3315b2efb5cb9aebc0b2cb2773aa20b5", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__polar__stereo__grid__mod_8F90_source.html b/ver-4.4.0/ip__polar__stereo__grid__mod_8F90_source.html
new file mode 100644
index 00000000..fd3b2534
--- /dev/null
+++ b/ver-4.4.0/ip__polar__stereo__grid__mod_8F90_source.html
@@ -0,0 +1,557 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_polar_stereo_grid_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__polar__stereo__grid__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_polar_stereo_grid_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__polar__stereo__grid__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html">   13</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__polar__stereo__grid__mod.html">ip_polar_stereo_grid_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__constants__mod.html">ip_constants_mod</a>, <span class="keywordtype">only</span>: <a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>, <a class="code" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a>, <a class="code" href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">pi2</a>, <a class="code" href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">pi4</a>, <a class="code" href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">rerth_wgs84</a>, <a class="code" href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">e2_wgs84</a></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">   23</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>) :: <a class="code" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f">   24</a></span>&#160;     <span class="keywordtype">logical</span> :: elliptical</div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640">   25</a></span>&#160;<span class="keywordtype">     real</span> :: rlat1</div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728">   26</a></span>&#160;<span class="keywordtype">     real</span> :: rlon1</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4">   27</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a></div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f">   28</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1">   29</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b">   30</a></span>&#160;<span class="keywordtype">     real</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b">   31</a></span>&#160;<span class="keywordtype">     real</span> :: slatr</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10">   35</a></span>&#160;     <span class="keywordtype">integer</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">irot</a></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce">   37</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">init_grib1</a></div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c">   38</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">init_grib2</a></div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21">   41</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a> =&gt; <a class="code" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">gdswzd_polar_stereo</a></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">   44</a></span>&#160;  <span class="keywordtype">INTEGER</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">irot</a></div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">   45</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a></div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">   46</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">   47</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">   48</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">e2</a></div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">   49</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">rerth</a></div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">   50</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a></div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">   51</a></span>&#160;<span class="keywordtype">  REAL</span> :: <a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">  REAL</span> :: tinyreal=tiny(1.0) </div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">CONTAINS</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">   63</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">init_grib1</a>(self, g1_desc)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">PARAMETER</span> :: SLAT=60.0  <span class="comment">! standard latitude according grib1 standard</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keywordtype">    real</span> :: dx, dy, hi, hj</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordtype">integer</span> :: iproj, iscan, jscan</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    associate(kgds =&gt; g1_desc%gds)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      self%ELLIPTICAL=mod(kgds(6)/64,2).EQ.1</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keywordflow">if</span> (.not. self%elliptical) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;         self%rerth = 6.3712e6</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;         self%eccen_squared = 0d0</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;      <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;         self%rerth = <a class="code" href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">rerth_wgs84</a></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;         self%eccen_squared = <a class="code" href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">e2_wgs84</a> <span class="comment">!wgs84 datum</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordflow">      end if</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      self%IM=kgds(2)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      self%JM=kgds(3)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      self%RLAT1=kgds(4)*1.e-3</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      self%RLON1=kgds(5)*1.e-3</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      self%IROT=mod(kgds(6)/8,2)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      self%SLATR=slat/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      self%ORIENT=kgds(7)*1.e-3</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      dx=kgds(8)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      dy=kgds(9)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      iproj=mod(kgds(10)/128,2)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      iscan=mod(kgds(11)/128,2)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      jscan=mod(kgds(11)/64,2)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      self%H=(-1.)**iproj</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      hi=(-1.)**iscan</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      hj=(-1.)**(1-jscan)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keywordflow">IF</span>(abs(self%H+1.).LT.tinyreal) self%ORIENT=self%ORIENT+180.</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      self%DXS=dx*hi</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      self%DYS=dy*hj</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      self%iwrap= 0</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      self%nscan = mod(kgds(11) / 32, 2)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">init_grib1</a></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">  128</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">init_grib2</a>(self, g2_desc)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordtype">type</span>(grib2_descriptor), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordtype">    real</span> :: slat, dx, dy, hi, hj</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordtype">integer</span> :: iproj, iscan, jscan</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    associate(igdtmpl =&gt; g2_desc%gdt_tmpl, igdtlen =&gt; g2_desc%gdt_len)</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      <span class="keyword">call </span>earth_radius(igdtmpl, igdtlen, self%rerth, self%eccen_squared)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      self%ELLIPTICAL = self%eccen_squared &gt; 0.0</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      self%IM=igdtmpl(8)</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      self%JM=igdtmpl(9)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      self%RLAT1=float(igdtmpl(10))*1.e-6</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      self%RLON1=float(igdtmpl(11))*1.e-6</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      self%IROT=mod(igdtmpl(12)/8,2)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      slat=float(abs(igdtmpl(13)))*1.e-6</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      self%SLATR=slat/dpr</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      self%ORIENT=float(igdtmpl(14))*1.e-6</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      dx=float(igdtmpl(15))*1.e-3</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      dy=float(igdtmpl(16))*1.e-3</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      iproj=mod(igdtmpl(17)/128,2)</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;      iscan=mod(igdtmpl(18)/128,2)</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      jscan=mod(igdtmpl(18)/64,2)</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;      self%H=(-1.)**iproj</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      hi=(-1.)**iscan</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;      hj=(-1.)**(1-jscan)</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;      self%DXS=dx*hi</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      self%DYS=dy*hj</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      self%nscan = mod(igdtmpl(18) / 32, 2)</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;      self%iwrap = 0</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">init_grib2</a></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">  239</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">gdswzd_polar_stereo</a>(self,IOPT,NPTS, &amp;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;       FILL,XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160; </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,   <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,   <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,   <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IM, JM</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ITER, N</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keywordtype">LOGICAL</span>                         :: ELLIPTICAL, LROT, LMAP, LAREA</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="keywordtype">    REAL</span>                            :: ALAT, ALAT1, ALONG, DIFF</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keywordtype">    REAL</span>                            :: DI, DJ, DE</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="keywordtype">    REAL</span>                            :: DR, E, E_OVER_2</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keywordtype">    REAL</span>                            :: MC, SLATR</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordtype">    REAL</span>                            :: RLAT1, RLON1, RHO, T, TC</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">    REAL</span>                            :: XMAX, XMIN, YMAX, YMIN</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keywordtype">    REAL</span>                            :: XP, YP, DR2</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot)) crot=fill</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(srot)) srot=fill</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon)) xlon=fill</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlat)) xlat=fill</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylon)) ylon=fill</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylat)) ylat=fill</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area)) area=fill</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160; </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    elliptical = self%elliptical</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    im=self%im</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    jm=self%jm</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    rlat1=self%rlat1</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    rlon1=self%rlon1</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">irot</a>=self%irot</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    slatr=self%slatr</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>=self%orient</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>=self%h</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a>=self%dxs</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a>=self%dys</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160; </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">rerth</a> = self%rerth</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <a class="code" href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">e2</a> = self%eccen_squared</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="comment">! FIND X/Y OF POLE</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordflow">IF</span> (.NOT.elliptical) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;       de=(1.+sin(slatr))*<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">rerth</a></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;       dr=de*cos(rlat1/dpr)/(1+<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*sin(rlat1/dpr))</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;       xp=1-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*sin((rlon1-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)*dr/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;       yp=1+cos((rlon1-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)*dr/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;       <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a>=de**2</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;       e=sqrt(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">e2</a>)</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;       e_over_2=e*0.5</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;       alat=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*rlat1/dpr</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;       along = (rlon1-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;       t=tan(pi4-alat/2.)/((1.-e*sin(alat))/  &amp;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;            (1.+e*sin(alat)))**(e_over_2)</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;       tc=tan(pi4-slatr/2.)/((1.-e*sin(slatr))/  &amp;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;            (1.+e*sin(slatr)))**(e_over_2)</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;       mc=cos(slatr)/sqrt(1.0-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">e2</a>*(sin(slatr)**2))</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;       rho=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">rerth</a>*mc*t/tc</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;       yp = 1.0 + rho*cos(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*along)/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;       xp = 1.0 - rho*sin(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*along)/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="keywordflow">    ENDIF</span> <span class="comment">! ELLIPTICAL</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    xmin=0</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    xmax=im+1</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    ymin=0</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    ymax=jm+1</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    nret=0</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot).AND.<span class="keyword">PRESENT</span>(srot))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;       lrot=.true.</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;       lrot=.false.</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon).AND.<span class="keyword">PRESENT</span>(xlat).AND.<span class="keyword">PRESENT</span>(ylon).AND.<span class="keyword">PRESENT</span>(ylat))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;       lmap=.true.</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;       lmap=.false.</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;       larea=.true.</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;       larea=.false.</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="comment">!  TRANSLATE GRID COORDINATES TO EARTH COORDINATES</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <span class="keywordflow">IF</span>(iopt.EQ.0.OR.iopt.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;       <span class="keywordflow">IF</span>(.NOT.elliptical)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,DI,DJ,DR2) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;          <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;             <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;                  ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;                di=(xpts(n)-xp)*<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                dj=(ypts(n)-yp)*<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                dr2=di**2+dj**2</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;                <span class="keywordflow">IF</span>(dr2.LT.<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a>*1.e-6) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;                   rlon(n)=0.</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;                   rlat(n)=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*90.</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;                <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;                   rlon(n)=mod(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>+<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*dpr*atan2(di,-dj)+3600,360.)</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;                   rlat(n)=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*dpr*asin((<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a>-dr2)/(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a>+dr2))</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;                nret=nret+1</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;                <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">polar_stereo_vect_rot</a>(rlon(n),crot(n),srot(n))</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                <span class="keywordflow">IF</span>(lmap) <span class="keyword">CALL </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">polar_stereo_map_jacob</a>(rlon(n),rlat(n),dr2, &amp;</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                     xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;                <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">polar_stereo_grid_area</a>(rlat(n),dr2,area(n))</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                rlon(n)=fill</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;                rlat(n)=fill</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;       <span class="keywordflow">ELSE</span> <span class="comment">! ELLIPTICAL</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,DI,DJ,RHO,T,ALONG,ALAT1,ALAT,DIFF) &amp;</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;          <span class="comment">!$OMP&amp; REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;          <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;             <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND.  &amp;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;                  ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;                di=(xpts(n)-xp)*<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;                dj=(ypts(n)-yp)*<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                rho=sqrt(di*di+dj*dj)</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;                t=(rho*tc)/(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">rerth</a>*mc)</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;                <span class="keywordflow">IF</span>(abs(ypts(n)-yp)&lt;0.01)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;                   <span class="keywordflow">IF</span>(di&gt;0.0) along=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>+<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*90.0</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;                   <span class="keywordflow">IF</span>(di&lt;=0.0) along=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*90.0</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;                <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;                   along=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>+<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*atan(di/(-dj))*dpr</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;                   <span class="keywordflow">IF</span>(dj&gt;0) along=along+180.</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keywordflow">                END IF</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;                alat1=pi2-2.0*atan(t)</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;                <span class="keywordflow">DO</span> iter=1,10</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;                   alat = pi2 - 2.0*atan(t*(((1.0-e*sin(alat1))/  &amp;</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;                        (1.0+e*sin(alat1)))**(e_over_2)))</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;                   diff = abs(alat-alat1)*dpr</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;                   <span class="keywordflow">IF</span> (diff &lt; 0.000001) <span class="keywordflow">EXIT</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;                   alat1=alat</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;                rlat(n)=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*alat*dpr</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;                rlon(n)=along</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;                <span class="keywordflow">IF</span>(rlon(n)&lt;0.0) rlon(n)=rlon(n)+360.</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;                <span class="keywordflow">IF</span>(rlon(n)&gt;360.0) rlon(n)=rlon(n)-360.0</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;                nret=nret+1</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;                <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">polar_stereo_vect_rot</a>(rlon(n),crot(n),srot(n))</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;                rlon(n)=fill</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;                rlat(n)=fill</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="keywordflow">       ENDIF</span> <span class="comment">! ELLIPTICAL</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;       <span class="comment">!  TRANSLATE EARTH COORDINATES TO GRID COORDINATES</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="keywordflow">ELSEIF</span>(iopt.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;       <span class="keywordflow">IF</span>(.NOT.elliptical)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,DR,DR2) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;          <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;             <span class="keywordflow">IF</span>(abs(rlon(n)).LT.(360.+tinyreal).AND.abs(rlat(n)).LT.(90.+tinyreal).AND. &amp;</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;                  abs(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*rlat(n)+90).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;                dr=de*tan((90-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*rlat(n))/2/dpr)</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;                dr2=dr**2</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;                xpts(n)=xp+<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*sin((rlon(n)-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)*dr/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;                ypts(n)=yp-cos((rlon(n)-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)*dr/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;                <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;                     ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;                   nret=nret+1</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;                   <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">polar_stereo_vect_rot</a>(rlon(n),crot(n),srot(n))</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;                   <span class="keywordflow">IF</span>(lmap) <span class="keyword">CALL </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">polar_stereo_map_jacob</a>(rlon(n),rlat(n),dr2, &amp;</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;                        xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;                   <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">polar_stereo_grid_area</a>(rlat(n),dr2,area(n))</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;                <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;                   xpts(n)=fill</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;                   ypts(n)=fill</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;                xpts(n)=fill</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;                ypts(n)=fill</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;       <span class="keywordflow">ELSE</span>  <span class="comment">! ELLIPTICAL CASE</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,ALAT,ALONG,T,RHO) REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;          <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;             <span class="keywordflow">IF</span>(abs(rlon(n)).LT.(360+tinyreal).AND.abs(rlat(n)).LT.(90+tinyreal).AND.  &amp;</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;                  abs(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*rlat(n)+90).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;                alat = <a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*rlat(n)/dpr</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                along = (rlon(n)-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;                t=tan(pi4-alat*0.5)/((1.-e*sin(alat))/  &amp;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;                     (1.+e*sin(alat)))**(e_over_2)</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;                rho=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">rerth</a>*mc*t/tc</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;                xpts(n)= xp + rho*sin(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*along) / <a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;                ypts(n)= yp - rho*cos(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*along) / <a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;                <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND.  &amp;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;                     ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;                   nret=nret+1</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;                   <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">polar_stereo_vect_rot</a>(rlon(n),crot(n),srot(n))</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;                <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;                   xpts(n)=fill</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;                   ypts(n)=fill</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;                xpts(n)=fill</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;                ypts(n)=fill</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">gdswzd_polar_stereo</a></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160; </div>
+<div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">  482</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">polar_stereo_vect_rot</a>(RLON, CROT, SROT)</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160; </div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: RLON</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: CROT, SROT</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160; </div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">irot</a>.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;       crot=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*cos((rlon-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;       srot=sin((rlon-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;       crot=1.</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;       srot=0.</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160; </div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">polar_stereo_vect_rot</a></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160; </div>
+<div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">  520</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">polar_stereo_map_jacob</a>(RLON,RLAT,DR2,XLON,XLAT,YLON,YLAT)</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160; </div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: RLON, RLAT, DR2</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: XLON, XLAT, YLON, YLAT</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160; </div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;<span class="keywordtype">    REAL</span>                            :: CLAT, DE, DR</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160; </div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;    <span class="keywordflow">IF</span>(dr2.LT.<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a>*1.e-6) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;       de=sqrt(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a>)</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;       xlon=0.</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;       xlat=-sin((rlon-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)/dpr*de/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a>/2</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;       ylon=0.</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;       ylat=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*cos((rlon-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)/dpr*de/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a>/2</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;       dr=sqrt(dr2)</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;       clat=cos(rlat/dpr)</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;       xlon=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*cos((rlon-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)/dpr*dr/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;       xlat=-sin((rlon-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)/dpr*dr/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a>/clat</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;       ylon=sin((rlon-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)/dpr*dr/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;       ylat=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a>*cos((rlon-<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a>)/dpr)/dpr*dr/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a>/clat</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160; </div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">polar_stereo_map_jacob</a></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160; </div>
+<div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">  563</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">polar_stereo_grid_area</a>(RLAT, DR2, AREA)</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160; </div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: RLAT, DR2</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: AREA</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160; </div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="keywordtype">    REAL</span>                            :: CLAT</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160; </div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    <span class="keywordflow">IF</span>(dr2.LT.<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a>*1.e-6) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;       area=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">rerth</a>**2*abs(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a>)*abs(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a>)*4/<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a></div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;       clat=cos(rlat/dpr)</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;       area=<a class="code" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">rerth</a>**2*clat**2*abs(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a>)*abs(<a class="code" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a>)/dr2</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160; </div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">polar_stereo_grid_area</a></div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160; </div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__polar__stereo__grid__mod.html">ip_polar_stereo_grid_mod</a></div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html"><div class="ttname"><a href="namespaceearth__radius__mod.html">earth_radius_mod</a></div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00007">earth_radius_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html"><div class="ttname"><a href="namespaceip__constants__mod.html">ip_constants_mod</a></div><div class="ttdoc">Module containing common constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00009">ip_constants_mod.F90:9</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_a309f7e3b1f83b6b272b12ce4fff501c5"><div class="ttname"><a href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">ip_constants_mod::pi2</a></div><div class="ttdeci">real, parameter pi2</div><div class="ttdoc">PI / 2.0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00016">ip_constants_mod.F90:16</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_a47f83a2267da693170054c958c401cd4"><div class="ttname"><a href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">ip_constants_mod::pi</a></div><div class="ttdeci">real, parameter pi</div><div class="ttdoc">PI.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00014">ip_constants_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_a5fe7cdd86b44487666dc37f655d9ff15"><div class="ttname"><a href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">ip_constants_mod::pi4</a></div><div class="ttdeci">real, parameter pi4</div><div class="ttdoc">PI / 4.0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00017">ip_constants_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_ac6a501512f426673f064edbecd7a62fb"><div class="ttname"><a href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">ip_constants_mod::rerth_wgs84</a></div><div class="ttdeci">real, parameter rerth_wgs84</div><div class="ttdoc">Radius of the Earth defined by WGS-84.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00018">ip_constants_mod.F90:18</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_ae6b74489db06341b78c3088b3f207011"><div class="ttname"><a href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">ip_constants_mod::dpr</a></div><div class="ttdeci">real, parameter dpr</div><div class="ttdoc">Radians to degrees.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00015">ip_constants_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_af7783a977fa10c54d85282dc6ac5f545"><div class="ttname"><a href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">ip_constants_mod::e2_wgs84</a></div><div class="ttdeci">real, parameter e2_wgs84</div><div class="ttdoc">Eccentricity squared of Earth defined by WGS-84.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00019">ip_constants_mod.F90:19</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html">ip_polar_stereo_grid_mod</a></div><div class="ttdoc">GDS wizard for polar stereographic azimuthal.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00013">ip_polar_stereo_grid_mod.F90:13</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_a1269037aaecd12e75e17d8aac8e20c8c"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">ip_polar_stereo_grid_mod::irot</a></div><div class="ttdeci">integer irot</div><div class="ttdoc">Local copy of irot.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00044">ip_polar_stereo_grid_mod.F90:44</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_a2a2e0854e5c129e320924a811cbd08e2"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">ip_polar_stereo_grid_mod::polar_stereo_grid_area</a></div><div class="ttdeci">subroutine polar_stereo_grid_area(RLAT, DR2, AREA)</div><div class="ttdoc">Grid box area for polar stereographic grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00563">ip_polar_stereo_grid_mod.F90:564</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_a3315b2efb5cb9aebc0b2cb2773aa20b5"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">ip_polar_stereo_grid_mod::rerth</a></div><div class="ttdeci">real rerth</div><div class="ttdoc">Radius of the Earth.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00049">ip_polar_stereo_grid_mod.F90:49</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_a386933f7e52c348b9d742df423e0e223"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">ip_polar_stereo_grid_mod::polar_stereo_map_jacob</a></div><div class="ttdeci">subroutine polar_stereo_map_jacob(RLON, RLAT, DR2, XLON, XLAT, YLON, YLAT)</div><div class="ttdoc">Map jacobians for polar stereographic grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00520">ip_polar_stereo_grid_mod.F90:521</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_a5210b986366b503683ae966519d501e7"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">ip_polar_stereo_grid_mod::init_grib2</a></div><div class="ttdeci">subroutine init_grib2(self, g2_desc)</div><div class="ttdoc">Initializes a polar stereographic grid given a grib2_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00128">ip_polar_stereo_grid_mod.F90:129</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_a5a63da5168a1432a1af42c0b668f0645"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">ip_polar_stereo_grid_mod::h</a></div><div class="ttdeci">real h</div><div class="ttdoc">Local copy of h.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00050">ip_polar_stereo_grid_mod.F90:50</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_a605d287e34e60f553521a5de2da22962"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">ip_polar_stereo_grid_mod::de2</a></div><div class="ttdeci">real de2</div><div class="ttdoc">Square of DE.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00045">ip_polar_stereo_grid_mod.F90:45</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_a6ed76f58f30993cd7be84b7e03cf4d6f"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">ip_polar_stereo_grid_mod::init_grib1</a></div><div class="ttdeci">subroutine init_grib1(self, g1_desc)</div><div class="ttdoc">Initializes a polar stereographic grid given a grib1_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00063">ip_polar_stereo_grid_mod.F90:64</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_aa4a88f48d7b78cfdfc54754882195d18"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">ip_polar_stereo_grid_mod::orient</a></div><div class="ttdeci">real orient</div><div class="ttdoc">Local copy of orient.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00051">ip_polar_stereo_grid_mod.F90:51</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_abe4d416201e986421a8e325a9b00e462"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">ip_polar_stereo_grid_mod::polar_stereo_vect_rot</a></div><div class="ttdeci">subroutine polar_stereo_vect_rot(RLON, CROT, SROT)</div><div class="ttdoc">Vector rotation fields for polar stereographic grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00482">ip_polar_stereo_grid_mod.F90:483</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_abf3a34d9bb00c39dac5225798aea4d5b"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">ip_polar_stereo_grid_mod::e2</a></div><div class="ttdeci">real e2</div><div class="ttdoc">Eccentricity squared.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00048">ip_polar_stereo_grid_mod.F90:48</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_acf60181f89954e2ff31b08bb1b345354"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">ip_polar_stereo_grid_mod::dxs</a></div><div class="ttdeci">real dxs</div><div class="ttdoc">Local copy of dxs.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00046">ip_polar_stereo_grid_mod.F90:46</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_ae2694d90ab514a131e083dfba3b173c5"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">ip_polar_stereo_grid_mod::gdswzd_polar_stereo</a></div><div class="ttdeci">subroutine gdswzd_polar_stereo(self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">GDS wizard for polar stereographic azimuthal.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00239">ip_polar_stereo_grid_mod.F90:242</a></div></div>
+<div class="ttc" id="anamespaceip__polar__stereo__grid__mod_html_aea7950530d06d9c59ff61bf706df0a0f"><div class="ttname"><a href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">ip_polar_stereo_grid_mod::dys</a></div><div class="ttdeci">real dys</div><div class="ttdoc">Local copy of dys.</div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00047">ip_polar_stereo_grid_mod.F90:47</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+<div class="ttc" id="astructip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid_html"><div class="ttname"><a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid_mod::ip_polar_stereo_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__polar__stereo__grid__mod_8F90_source.html#l00023">ip_polar_stereo_grid_mod.F90:23</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__polar__stereo__grid__mod_8F90.html">ip_polar_stereo_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90.html b/ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90.html
new file mode 100644
index 00000000..7206d72c
--- /dev/null
+++ b/ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_rot_equid_cylind_egrid_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__rot__equid__cylind__egrid__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_rot_equid_cylind_egrid_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__rot__equid__cylind__egrid__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html">ip_rot_equid_cylind_egrid_mod</a></td></tr>
+<tr class="memdesc:namespaceip__rot__equid__cylind__egrid__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a9ad11a599fc0bdc4a9ece86a3b1cc399"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">ip_rot_equid_cylind_egrid_mod::gdswzd_rot_equid_cylind_egrid</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a9ad11a599fc0bdc4a9ece86a3b1cc399"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for rotated equidistant cylindrical grids.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">More...</a><br /></td></tr>
+<tr class="separator:a9ad11a599fc0bdc4a9ece86a3b1cc399"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa65616b97df9c89893161ff802e16eab"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">ip_rot_equid_cylind_egrid_mod::init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:aa65616b97df9c89893161ff802e16eab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a rotated equidistant cylindrical grid given a grib1_descriptor object.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">More...</a><br /></td></tr>
+<tr class="separator:aa65616b97df9c89893161ff802e16eab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3cbc17f27800bc67135feacb2c1c3e0"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">ip_rot_equid_cylind_egrid_mod::init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:af3cbc17f27800bc67135feacb2c1c3e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a rotated equidistant cylindrical grid given a grib2_descriptor object.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">More...</a><br /></td></tr>
+<tr class="separator:af3cbc17f27800bc67135feacb2c1c3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69d4e473a1a276b855d37518dc6f1d48"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_error</a> (IOPT, FILL, RLAT, RLON, XPTS, YPTS, NPTS)</td></tr>
+<tr class="memdesc:a69d4e473a1a276b855d37518dc6f1d48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error handler.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">More...</a><br /></td></tr>
+<tr class="separator:a69d4e473a1a276b855d37518dc6f1d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e6c3a758f9a6474d3e499fabeac0640"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_grid_area</a> (FILL, AREA)</td></tr>
+<tr class="memdesc:a4e6c3a758f9a6474d3e499fabeac0640"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the grid box area for a rotated equidistant cylindrical grid.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">More...</a><br /></td></tr>
+<tr class="separator:a4e6c3a758f9a6474d3e499fabeac0640"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45b87f77888d428ca0f551edae8da94e"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_map_jacob</a> (FILL, RLON, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a45b87f77888d428ca0f551edae8da94e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the map jacobians for a rotated equidistant cylindrical grid.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">More...</a><br /></td></tr>
+<tr class="separator:a45b87f77888d428ca0f551edae8da94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ac1f76f515981c464e8391d8c941888"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_vect_rot</a> (RLON, CROT, SROT)</td></tr>
+<tr class="memdesc:a9ac1f76f515981c464e8391d8c941888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the vector rotation sines and cosines for a rotated equidistant cylindrical grid.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">More...</a><br /></td></tr>
+<tr class="separator:a9ac1f76f515981c464e8391d8c941888"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:aac1018f3ca1b7ad4b5d33f245678d416"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">ip_rot_equid_cylind_egrid_mod::clat</a></td></tr>
+<tr class="memdesc:aac1018f3ca1b7ad4b5d33f245678d416"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cosine of the latitude.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">More...</a><br /></td></tr>
+<tr class="separator:aac1018f3ca1b7ad4b5d33f245678d416"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83649d02b55d6252d59514aec4eb3142"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">ip_rot_equid_cylind_egrid_mod::clat0</a></td></tr>
+<tr class="memdesc:a83649d02b55d6252d59514aec4eb3142"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of clat0.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">More...</a><br /></td></tr>
+<tr class="separator:a83649d02b55d6252d59514aec4eb3142"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad4e673a94976b2b5a9bfad9de9e6e30"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">ip_rot_equid_cylind_egrid_mod::clatr</a></td></tr>
+<tr class="memdesc:aad4e673a94976b2b5a9bfad9de9e6e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cosine of the rotated latitude.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">More...</a><br /></td></tr>
+<tr class="separator:aad4e673a94976b2b5a9bfad9de9e6e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a557d49c609fc8c5c564a3a5f10174eec"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">ip_rot_equid_cylind_egrid_mod::clon</a></td></tr>
+<tr class="memdesc:a557d49c609fc8c5c564a3a5f10174eec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cosine of the difference between rlon and rlon0.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">More...</a><br /></td></tr>
+<tr class="separator:a557d49c609fc8c5c564a3a5f10174eec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b2faca2325b413e1f3207778d4c4c68"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">ip_rot_equid_cylind_egrid_mod::dlats</a></td></tr>
+<tr class="memdesc:a0b2faca2325b413e1f3207778d4c4c68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dlats.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">More...</a><br /></td></tr>
+<tr class="separator:a0b2faca2325b413e1f3207778d4c4c68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af04f8a1044f4d9a7e0d13d38887adcbc"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">ip_rot_equid_cylind_egrid_mod::dlons</a></td></tr>
+<tr class="memdesc:af04f8a1044f4d9a7e0d13d38887adcbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dlons.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">More...</a><br /></td></tr>
+<tr class="separator:af04f8a1044f4d9a7e0d13d38887adcbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93ed996cf2dc9569e356256ec946b571"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">ip_rot_equid_cylind_egrid_mod::irot</a></td></tr>
+<tr class="memdesc:a93ed996cf2dc9569e356256ec946b571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of irot.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">More...</a><br /></td></tr>
+<tr class="separator:a93ed996cf2dc9569e356256ec946b571"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50497d277c347a2991b0e34e85f1787e"><td class="memItemLeft" align="right" valign="top">integer, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">ip_rot_equid_cylind_egrid_mod::kd</a> = real64</td></tr>
+<tr class="memdesc:a50497d277c347a2991b0e34e85f1787e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kind of reals.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">More...</a><br /></td></tr>
+<tr class="separator:a50497d277c347a2991b0e34e85f1787e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed7a425f4d300fe14ac1b48d76378edb"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">ip_rot_equid_cylind_egrid_mod::rerth</a></td></tr>
+<tr class="memdesc:aed7a425f4d300fe14ac1b48d76378edb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">More...</a><br /></td></tr>
+<tr class="separator:aed7a425f4d300fe14ac1b48d76378edb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a134acf8ab7f40ff49ce8e03daad900e6"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">ip_rot_equid_cylind_egrid_mod::rlon0</a></td></tr>
+<tr class="memdesc:a134acf8ab7f40ff49ce8e03daad900e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of rlon0.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">More...</a><br /></td></tr>
+<tr class="separator:a134acf8ab7f40ff49ce8e03daad900e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1f8503816477fb685fbadc7a9e50f0b"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">ip_rot_equid_cylind_egrid_mod::slat</a></td></tr>
+<tr class="memdesc:ae1f8503816477fb685fbadc7a9e50f0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sine of the latitude.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">More...</a><br /></td></tr>
+<tr class="separator:ae1f8503816477fb685fbadc7a9e50f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72199c827ab3218b7f2aba35ad30b94d"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">ip_rot_equid_cylind_egrid_mod::slat0</a></td></tr>
+<tr class="memdesc:a72199c827ab3218b7f2aba35ad30b94d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of slat0.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">More...</a><br /></td></tr>
+<tr class="separator:a72199c827ab3218b7f2aba35ad30b94d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccccb64d3e7236d8cac19c279aab900"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">ip_rot_equid_cylind_egrid_mod::slatr</a></td></tr>
+<tr class="memdesc:a4ccccb64d3e7236d8cac19c279aab900"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sine of the rotated latitude.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">More...</a><br /></td></tr>
+<tr class="separator:a4ccccb64d3e7236d8cac19c279aab900"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90.html">ip_rot_equid_cylind_egrid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90.js b/ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90.js
new file mode 100644
index 00000000..2854a1d9
--- /dev/null
+++ b/ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90.js
@@ -0,0 +1,24 @@
+var ip__rot__equid__cylind__egrid__mod_8F90 =
+[
+    [ "ip_rot_equid_cylind_egrid", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid" ],
+    [ "gdswzd_rot_equid_cylind_egrid", "ip__rot__equid__cylind__egrid__mod_8F90.html#a9ad11a599fc0bdc4a9ece86a3b1cc399", null ],
+    [ "init_grib1", "ip__rot__equid__cylind__egrid__mod_8F90.html#aa65616b97df9c89893161ff802e16eab", null ],
+    [ "init_grib2", "ip__rot__equid__cylind__egrid__mod_8F90.html#af3cbc17f27800bc67135feacb2c1c3e0", null ],
+    [ "rot_equid_cylind_egrid_error", "ip__rot__equid__cylind__egrid__mod_8F90.html#a69d4e473a1a276b855d37518dc6f1d48", null ],
+    [ "rot_equid_cylind_egrid_grid_area", "ip__rot__equid__cylind__egrid__mod_8F90.html#a4e6c3a758f9a6474d3e499fabeac0640", null ],
+    [ "rot_equid_cylind_egrid_map_jacob", "ip__rot__equid__cylind__egrid__mod_8F90.html#a45b87f77888d428ca0f551edae8da94e", null ],
+    [ "rot_equid_cylind_egrid_vect_rot", "ip__rot__equid__cylind__egrid__mod_8F90.html#a9ac1f76f515981c464e8391d8c941888", null ],
+    [ "clat", "ip__rot__equid__cylind__egrid__mod_8F90.html#aac1018f3ca1b7ad4b5d33f245678d416", null ],
+    [ "clat0", "ip__rot__equid__cylind__egrid__mod_8F90.html#a83649d02b55d6252d59514aec4eb3142", null ],
+    [ "clatr", "ip__rot__equid__cylind__egrid__mod_8F90.html#aad4e673a94976b2b5a9bfad9de9e6e30", null ],
+    [ "clon", "ip__rot__equid__cylind__egrid__mod_8F90.html#a557d49c609fc8c5c564a3a5f10174eec", null ],
+    [ "dlats", "ip__rot__equid__cylind__egrid__mod_8F90.html#a0b2faca2325b413e1f3207778d4c4c68", null ],
+    [ "dlons", "ip__rot__equid__cylind__egrid__mod_8F90.html#af04f8a1044f4d9a7e0d13d38887adcbc", null ],
+    [ "irot", "ip__rot__equid__cylind__egrid__mod_8F90.html#a93ed996cf2dc9569e356256ec946b571", null ],
+    [ "kd", "ip__rot__equid__cylind__egrid__mod_8F90.html#a50497d277c347a2991b0e34e85f1787e", null ],
+    [ "rerth", "ip__rot__equid__cylind__egrid__mod_8F90.html#aed7a425f4d300fe14ac1b48d76378edb", null ],
+    [ "rlon0", "ip__rot__equid__cylind__egrid__mod_8F90.html#a134acf8ab7f40ff49ce8e03daad900e6", null ],
+    [ "slat", "ip__rot__equid__cylind__egrid__mod_8F90.html#ae1f8503816477fb685fbadc7a9e50f0b", null ],
+    [ "slat0", "ip__rot__equid__cylind__egrid__mod_8F90.html#a72199c827ab3218b7f2aba35ad30b94d", null ],
+    [ "slatr", "ip__rot__equid__cylind__egrid__mod_8F90.html#a4ccccb64d3e7236d8cac19c279aab900", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90_source.html b/ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90_source.html
new file mode 100644
index 00000000..dc7db622
--- /dev/null
+++ b/ver-4.4.0/ip__rot__equid__cylind__egrid__mod_8F90_source.html
@@ -0,0 +1,588 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_rot_equid_cylind_egrid_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__rot__equid__cylind__egrid__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_rot_equid_cylind_egrid_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__rot__equid__cylind__egrid__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html">   24</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html">ip_rot_equid_cylind_egrid_mod</a></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;  <span class="keywordtype">use </span>iso_fortran_env, <span class="keywordtype">only</span>: real64</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__constants__mod.html">ip_constants_mod</a>, <span class="keywordtype">only</span>: <a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>, <a class="code" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">   35</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a> = real64 </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">   37</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>) :: <a class="code" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a></div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e">   38</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a></div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121">   39</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: rlon1</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08">   40</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: rlat1</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda">   41</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a></div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66">   42</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a></div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c">   43</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a></div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206">   44</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a></div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5">   45</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: hi</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e">   49</a></span>&#160;     <span class="keywordtype">integer</span> :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">irot</a> </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a">   53</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">init_grib1</a></div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4">   56</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">init_grib2</a></div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780">   59</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a> =&gt; <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">gdswzd_rot_equid_cylind_egrid</a></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">   62</a></span>&#160;  <span class="keywordtype">INTEGER</span> :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">irot</a></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">   64</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a> </div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">   65</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a> </div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">   66</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a> </div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">   67</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a> </div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">   68</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a> </div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">   69</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a> </div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">   70</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">rerth</a> </div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">   71</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a> </div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">   72</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a> </div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">   73</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a> </div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">   74</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">   86</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">init_grib1</a>(self, g1_desc)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordtype">integer</span> :: iscan</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordtype">    real</span>(kd) :: rlat0</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordtype">    real</span>(kd) :: rlat1, rlon1, rlon0, slat1, clat1, slat0, clat0, clon1</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordtype">    real</span>(kd) :: slatr, clatr, clonr, rlatr, rlonr, dlats, dlons, hs, hi</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordtype">integer</span> :: im, jm</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordtype">integer</span> :: is1, kscan,  irot</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    associate(kgds =&gt; g1_desc%gds)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      self%rerth = 6.3712e6_kd</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      self%eccen_squared = 0.0</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      im=kgds(2)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      jm=kgds(3)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      self%nscan_field_pos = 3</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      self%nscan = mod(kgds(11)/32,2)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      rlat1=kgds(4)*1.e-3_kd</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      rlon1=kgds(5)*1.e-3_kd</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      rlat0=kgds(7)*1.e-3_kd</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      rlon0=kgds(8)*1.e-3_kd</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      irot=mod(kgds(6)/8,2)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      kscan=mod(kgds(11)/256,2)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      iscan=mod(kgds(11)/128,2)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      hi=(-1.)**iscan</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      slat1=sin(rlat1/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      clat1=cos(rlat1/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      slat0=sin(rlat0/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;      clat0=cos(rlat0/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      hs=sign(1._kd,mod(rlon1-rlon0+180+3600,360._kd)-180)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      clon1=cos((rlon1-rlon0)/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      slatr=clat0*slat1-slat0*clat1*clon1</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      clatr=sqrt(1-slatr**2)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      clonr=(clat0*clat1*clon1+slat0*slat1)/clatr</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      rlatr=<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>*asin(slatr)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      rlonr=hs*<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>*acos(clonr)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      dlats=rlatr/(-(jm-1)/2)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      dlons=rlonr/(-((im * 2 - 1) -1)/2)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;      <span class="keywordflow">IF</span>(kscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;         is1=(jm+1)/2</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;         is1=jm/2</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keywordflow">      ENDIF</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      self%im = im</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      self%jm = jm</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      self%rlon0 = rlon0</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;      self%rlon1 = rlon1</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;      self%rlat1 = rlat1</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      self%clat0 = clat0</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;      self%slat0 = slat0</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;      self%dlats = dlats</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;      self%dlons = dlons</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      self%hi = hi</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      self%irot = irot</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      self%kscan = kscan</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">init_grib1</a></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
+<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">  163</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">init_grib2</a>(self, g2_desc)</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordtype">type</span>(grib2_descriptor), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keywordtype">integer</span> :: iscale, iscan</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keywordtype">    real</span>(kd) :: rlat0</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordtype">integer</span> :: i_offset_odd<span class="comment">!, i_offset_even</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    associate(igdtmpl =&gt; g2_desc%gdt_tmpl, igdtlen =&gt; g2_desc%gdt_len)</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      <span class="keyword">CALL </span>earth_radius(igdtmpl,igdtlen,self%rerth,self%eccen_squared)</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      <span class="comment">! ROUTINE ONLY WORKS FOR &quot;E&quot;-STAGGER GRIDS.</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      <span class="comment">!   &quot;V&quot; GRID WHEN BIT 5 IS &#39;1&#39; AND BIT 6 IS &#39;0&#39;.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      <span class="comment">!   &quot;H&quot; GRID WHEN BIT 5 IS &#39;0&#39; AND BIT 6 IS &#39;1&#39;.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;      <span class="comment">! I_OFFSET_ODD=MOD(IGDTMPL(19)/8,2)</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      <span class="comment">! I_OFFSET_EVEN=MOD(IGDTMPL(19)/4,2)</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      <span class="comment">! IF(I_OFFSET_ODD==I_OFFSET_EVEN) THEN</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <span class="comment">!    CALL ROT_EQUID_CYLIND_EGRID_ERROR(IOPT,FILL,RLAT,RLON,XPTS,YPTS,NPTS)</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      <span class="comment">!    RETURN</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="comment">! ENDIF</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;      <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;      self%IM=igdtmpl(8)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;      self%JM=igdtmpl(9)</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160; </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;      self%NSCAN=mod(igdtmpl(16)/32,2)</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;      self%nscan_field_pos = 3</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;      iscale=igdtmpl(10)*igdtmpl(11)</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160; </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;      self%RLON0=float(igdtmpl(21))/float(iscale)</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      self%DLATS=float(igdtmpl(18))/float(iscale)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;      <span class="comment">! THE GRIB2 CONVENTION FOR &quot;I&quot; RESOLUTION IS TWICE WHAT THIS ROUTINE ASSUMES.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;      self%DLONS=float(igdtmpl(17))/float(iscale) * 0.5_kd</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160; </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;      self%IROT=mod(igdtmpl(14)/8,2)</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;      i_offset_odd=mod(igdtmpl(19)/8,2)</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      self%KSCAN=i_offset_odd</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;      iscan=mod(igdtmpl(19)/128,2)</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160; </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;      self%HI=(-1.)**iscan</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160; </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;      rlat0=float(igdtmpl(20))/float(iscale)</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;      rlat0=rlat0+90.0_kd</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160; </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;      self%SLAT0=sin(rlat0/dpr)</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;      self%CLAT0=cos(rlat0/dpr)</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;      self%RLAT1=float(igdtmpl(12))/float(iscale)</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;      self%RLON1=float(igdtmpl(13))/float(iscale)</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">init_grib2</a></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
+<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">  267</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">gdswzd_rot_equid_cylind_egrid</a>(self,IOPT,NPTS,&amp;</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;       FILL,XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160; </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,  <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,  <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="keywordtype">    REAL</span>, <span class="keywordtype">OPTIONAL</span>,  <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: IM, JM, IS1, N</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: KSCAN</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="comment">!    INTEGER                        :: I_OFFSET_ODD, I_OFFSET_EVEN</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keywordtype">LOGICAL</span>                        :: LROT, LMAP, LAREA</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)                  :: rlat1, rlon1</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)                  :: clonr</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)                  :: rlatr, rlonr, sbd, wbd, hs, hi</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keywordtype">    REAL</span>                           :: XMAX, XMIN, YMAX, YMIN, XPTF, YPTF</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot)) crot=fill</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(srot)) srot=fill</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon)) xlon=fill</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlat)) xlat=fill</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylon)) ylon=fill</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylat)) ylat=fill</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area)) area=fill</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a>=self%rlon0</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">irot</a>=self%irot</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    im=self%im * 2 - 1</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    jm=self%jm</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a>=self%dlats</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a>=self%dlons</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    kscan=self%kscan</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    hi=self%hi</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>=self%slat0</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a>=self%clat0</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    rlat1=self%rlat1</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    rlon1=self%rlon1</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160; </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">rerth</a> = self%rerth</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160; </div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <span class="comment">! IS THE EARTH RADIUS DEFINED?</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">rerth</a>&lt;0.)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;       <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">rot_equid_cylind_egrid_error</a>(iopt,fill,rlat,rlon,xpts,ypts,npts)</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;       <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160; </div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    sbd=rlat1</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    wbd=rlon1</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160; </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    <span class="keywordflow">IF</span> (wbd &gt; 180.0) wbd = wbd - 360.0</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordflow">IF</span>(kscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;       is1=(jm+1)/2</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;       is1=jm/2</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160; </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    xmin=0</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    xmax=im+2</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    ymin=0</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    ymax=jm+1</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    nret=0</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160; </div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot).AND.<span class="keyword">PRESENT</span>(srot))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;       lrot=.true.</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;       lrot=.false.</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon).AND.<span class="keyword">PRESENT</span>(xlat).AND.<span class="keyword">PRESENT</span>(ylon).AND.<span class="keyword">PRESENT</span>(ylat))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;       lmap=.true.</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;       lmap=.false.</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;       larea=.true.</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;       larea=.false.</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160; </div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <span class="comment">!  TRANSLATE GRID COORDINATES TO EARTH COORDINATES</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keywordflow">IF</span>(iopt.EQ.0.OR.iopt.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;          xptf=ypts(n)+(xpts(n)-is1)</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;          yptf=ypts(n)-(xpts(n)-is1)+kscan</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;          <span class="keywordflow">IF</span>(xptf.GE.xmin.AND.xptf.LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;               yptf.GE.ymin.AND.yptf.LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;             hs=hi*sign(1.,xptf-(im+1)/2)</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;             <span class="keywordflow">select type</span>(desc =&gt; self%descriptor)</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keywordflow">             type is</span>(grib1_descriptor)</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;                rlonr=(xptf-(im+1)/2)*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;                rlatr=(yptf-(jm+1)/2)*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="keywordflow">             type is</span>(grib2_descriptor)</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;                rlonr=(xptf-1.0_kd)*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a> + wbd</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;                rlatr=(yptf-1.0_kd)*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a> + sbd </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="keywordflow">             end select</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;             clonr=cos(rlonr/dpr)</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;             <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a>=sin(rlatr/dpr)</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;             <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>=cos(rlatr/dpr)</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;             <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a>+<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>*clonr</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;             <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>.LE.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>=0.</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>=cos(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a>/dpr)</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;                rlon(n)=0</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;                rlat(n)=-90</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;             <span class="keywordflow">ELSEIF</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>.GE.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>=0.</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>=cos(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a>/dpr)</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;                rlon(n)=0</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;                rlat(n)=90</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>=sqrt(1-<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>**2)</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>=(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>*clonr-<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a>)/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>=min(max(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>,-1._kd),1._kd)</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;                rlon(n)=real(mod(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a>+hs*dpr*acos(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>)+3600,360._kd))</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;                rlat(n)=real(dpr*asin(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>))</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;             nret=nret+1</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;             <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">rot_equid_cylind_egrid_vect_rot</a>(rlon(n),crot(n),srot(n))</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;             <span class="keywordflow">IF</span>(lmap) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">rot_equid_cylind_egrid_map_jacob</a>(fill, rlon(n), &amp;</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;                  xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;             <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">rot_equid_cylind_egrid_grid_area</a>(fill, area(n))</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;             rlon(n)=fill</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;             rlat(n)=fill</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;       <span class="comment">!  TRANSLATE EARTH COORDINATES TO GRID COORDINATES</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="keywordflow">ELSEIF</span>(iopt.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;          <span class="keywordflow">IF</span>(abs(rlon(n)).LE.360.AND.abs(rlat(n)).LE.90) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;             hs=sign(1._kd,mod(rlon(n)-<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a>+180+3600,360._kd)-180)</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;             <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>=cos((rlon(n)-<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a>)/dpr)</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;             <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>=sin(rlat(n)/dpr)</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;             <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>=cos(rlat(n)/dpr)</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;             <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a>=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>-<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;             <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a>.LE.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>=0.</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;                rlonr=0</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;                rlatr=-90</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;             <span class="keywordflow">ELSEIF</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a>.GE.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>=0.</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;                rlonr=0</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;                rlatr=90</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;                <a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>=sqrt(1-<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a>**2)</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;                clonr=(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>+<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>)/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;                clonr=min(max(clonr,-1._kd),1._kd)</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;                rlonr=hs*dpr*acos(clonr)</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;                rlatr=dpr*asin(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a>)</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;             <span class="keywordflow">select type</span>(desc =&gt; self%descriptor)</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="keywordflow">             type is</span>(grib1_descriptor)</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;                xptf=real(((rlonr-wbd)/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a>)+1.0_kd)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;                yptf=real(((rlatr-sbd)/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a>)+1.0_kd)</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="keywordflow">             type is</span>(grib2_descriptor)</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;                xptf=real((im+1)/2+rlonr/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a>)</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;                yptf=real((jm+1)/2+rlatr/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a>)</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="keywordflow">             end select</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160; </div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;             <span class="keywordflow">IF</span>(xptf.GE.xmin.AND.xptf.LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;                  yptf.GE.ymin.AND.yptf.LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;                xpts(n)=is1+(xptf-(yptf-kscan))/2</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;                ypts(n)=(xptf+(yptf-kscan))/2</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;                nret=nret+1</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;                <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">rot_equid_cylind_egrid_vect_rot</a>(rlon(n),crot(n),srot(n))</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;                <span class="keywordflow">IF</span>(lmap) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">rot_equid_cylind_egrid_map_jacob</a>(fill, rlon(n), &amp;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;                     xlon(n),xlat(n),ylon(n),ylat(n))</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;                <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">rot_equid_cylind_egrid_grid_area</a>(fill, area(n))</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;                xpts(n)=fill</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;                ypts(n)=fill</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;             xpts(n)=fill</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;             ypts(n)=fill</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">gdswzd_rot_equid_cylind_egrid</a></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160; </div>
+<div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">  482</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">rot_equid_cylind_egrid_error</a>(IOPT,FILL,RLAT,RLON,XPTS,YPTS,NPTS)</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    <span class="keywordtype">INTEGER</span>, <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="keywordtype">    REAL</span>,    <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="keywordtype">    REAL</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: RLAT(NPTS),RLON(NPTS)</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="keywordtype">    REAL</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160; </div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keywordflow">IF</span>(iopt&gt;=0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;       rlon=fill</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;       rlat=fill</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <span class="keywordflow">IF</span>(iopt&lt;=0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;       xpts=fill</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;       ypts=fill</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">rot_equid_cylind_egrid_error</a></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160; </div>
+<div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">  514</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">rot_equid_cylind_egrid_vect_rot</a>(RLON, CROT, SROT)</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160; </div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;<span class="keywordtype">    REAL</span>         ,    <span class="keywordtype">INTENT(IN   )</span> :: RLON</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;<span class="keywordtype">    REAL</span>         ,    <span class="keywordtype">INTENT(  OUT)</span> :: CROT, SROT</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160; </div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)                   :: slon</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160; </div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">irot</a>.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;       <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>.LE.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;          crot=real(-sign(1._kd,<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>))</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;          srot=0.</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;          slon=sin((rlon-<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a>)/dpr)</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;          crot=real((<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>+<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>)/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>)</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;          srot=real(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>*slon/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>)</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;       crot=1.</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;       srot=0.</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160; </div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">rot_equid_cylind_egrid_vect_rot</a></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160; </div>
+<div class="line"><a name="l00549"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">  549</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">rot_equid_cylind_egrid_map_jacob</a>(FILL, RLON, &amp;</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;       XLON, XLAT, YLON, YLAT)</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160; </div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<span class="keywordtype">    REAL</span>         ,    <span class="keywordtype">INTENT(IN   )</span> :: FILL, RLON</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="keywordtype">    REAL</span>         ,    <span class="keywordtype">INTENT(  OUT)</span> :: XLON, XLAT, YLON, YLAT</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160; </div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)                   :: slon, term1, term2</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)                   :: xlatf, xlonf, ylatf, ylonf</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160; </div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>.LE.0._kd) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;       xlon=fill</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;       xlat=fill</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;       ylon=fill</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;       ylat=fill</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;       slon=sin((rlon-<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a>)/dpr)</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;       term1=(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>+<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a>)/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;       term2=<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a>*slon/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;       xlonf=term1*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>/(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>)</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;       xlatf=-term2/(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>)</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;       ylonf=term2*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a>/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a></div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;       ylatf=term1/<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a></div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;       xlon=real(xlonf-ylonf)</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;       xlat=real(xlatf-ylatf)</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;       ylon=real(xlonf+ylonf)</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;       ylat=real(xlatf+ylatf)</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160; </div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">rot_equid_cylind_egrid_map_jacob</a></div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160; </div>
+<div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">  587</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">rot_equid_cylind_egrid_grid_area</a>(FILL, AREA)</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160; </div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: AREA</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160; </div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>.LE.0._kd) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;       area=fill</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;       area=real(<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">rerth</a>**2*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a>*<a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a>)*2/dpr**2</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160; </div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">rot_equid_cylind_egrid_grid_area</a></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160; </div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__rot__equid__cylind__egrid__mod.html">ip_rot_equid_cylind_egrid_mod</a></div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160; </div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160; </div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html"><div class="ttname"><a href="namespaceearth__radius__mod.html">earth_radius_mod</a></div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00007">earth_radius_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html"><div class="ttname"><a href="namespaceip__constants__mod.html">ip_constants_mod</a></div><div class="ttdoc">Module containing common constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00009">ip_constants_mod.F90:9</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_a47f83a2267da693170054c958c401cd4"><div class="ttname"><a href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">ip_constants_mod::pi</a></div><div class="ttdeci">real, parameter pi</div><div class="ttdoc">PI.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00014">ip_constants_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_ae6b74489db06341b78c3088b3f207011"><div class="ttname"><a href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">ip_constants_mod::dpr</a></div><div class="ttdeci">real, parameter dpr</div><div class="ttdoc">Radians to degrees.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00015">ip_constants_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html">ip_rot_equid_cylind_egrid_mod</a></div><div class="ttdoc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00024">ip_rot_equid_cylind_egrid_mod.F90:24</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a0b2faca2325b413e1f3207778d4c4c68"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">ip_rot_equid_cylind_egrid_mod::dlats</a></div><div class="ttdeci">real(kind=kd) dlats</div><div class="ttdoc">Local copy of dlats.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00068">ip_rot_equid_cylind_egrid_mod.F90:68</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a134acf8ab7f40ff49ce8e03daad900e6"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">ip_rot_equid_cylind_egrid_mod::rlon0</a></div><div class="ttdeci">real(kind=kd) rlon0</div><div class="ttdoc">Local copy of rlon0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00071">ip_rot_equid_cylind_egrid_mod.F90:71</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a45b87f77888d428ca0f551edae8da94e"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_map_jacob</a></div><div class="ttdeci">subroutine rot_equid_cylind_egrid_map_jacob(FILL, RLON, XLON, XLAT, YLON, YLAT)</div><div class="ttdoc">Computes the map jacobians for a rotated equidistant cylindrical grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00549">ip_rot_equid_cylind_egrid_mod.F90:551</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a4ccccb64d3e7236d8cac19c279aab900"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">ip_rot_equid_cylind_egrid_mod::slatr</a></div><div class="ttdeci">real(kind=kd) slatr</div><div class="ttdoc">Sine of the rotated latitude.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00074">ip_rot_equid_cylind_egrid_mod.F90:74</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a4e6c3a758f9a6474d3e499fabeac0640"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_grid_area</a></div><div class="ttdeci">subroutine rot_equid_cylind_egrid_grid_area(FILL, AREA)</div><div class="ttdoc">Computes the grid box area for a rotated equidistant cylindrical grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00587">ip_rot_equid_cylind_egrid_mod.F90:588</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a50497d277c347a2991b0e34e85f1787e"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">ip_rot_equid_cylind_egrid_mod::kd</a></div><div class="ttdeci">integer, parameter kd</div><div class="ttdoc">Kind of reals.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00035">ip_rot_equid_cylind_egrid_mod.F90:35</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a557d49c609fc8c5c564a3a5f10174eec"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">ip_rot_equid_cylind_egrid_mod::clon</a></div><div class="ttdeci">real(kind=kd) clon</div><div class="ttdoc">Cosine of the difference between rlon and rlon0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00067">ip_rot_equid_cylind_egrid_mod.F90:67</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a69d4e473a1a276b855d37518dc6f1d48"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_error</a></div><div class="ttdeci">subroutine rot_equid_cylind_egrid_error(IOPT, FILL, RLAT, RLON, XPTS, YPTS, NPTS)</div><div class="ttdoc">Error handler.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00482">ip_rot_equid_cylind_egrid_mod.F90:483</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a72199c827ab3218b7f2aba35ad30b94d"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">ip_rot_equid_cylind_egrid_mod::slat0</a></div><div class="ttdeci">real(kind=kd) slat0</div><div class="ttdoc">Local copy of slat0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00073">ip_rot_equid_cylind_egrid_mod.F90:73</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a83649d02b55d6252d59514aec4eb3142"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">ip_rot_equid_cylind_egrid_mod::clat0</a></div><div class="ttdeci">real(kind=kd) clat0</div><div class="ttdoc">Local copy of clat0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00065">ip_rot_equid_cylind_egrid_mod.F90:65</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a93ed996cf2dc9569e356256ec946b571"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">ip_rot_equid_cylind_egrid_mod::irot</a></div><div class="ttdeci">integer irot</div><div class="ttdoc">Local copy of irot.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00062">ip_rot_equid_cylind_egrid_mod.F90:62</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a9ac1f76f515981c464e8391d8c941888"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_vect_rot</a></div><div class="ttdeci">subroutine rot_equid_cylind_egrid_vect_rot(RLON, CROT, SROT)</div><div class="ttdoc">Computes the vector rotation sines and cosines for a rotated equidistant cylindrical grid.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00514">ip_rot_equid_cylind_egrid_mod.F90:515</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_a9ad11a599fc0bdc4a9ece86a3b1cc399"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">ip_rot_equid_cylind_egrid_mod::gdswzd_rot_equid_cylind_egrid</a></div><div class="ttdeci">subroutine gdswzd_rot_equid_cylind_egrid(self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for rotated equidistant cylin...</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00267">ip_rot_equid_cylind_egrid_mod.F90:270</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_aa65616b97df9c89893161ff802e16eab"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">ip_rot_equid_cylind_egrid_mod::init_grib1</a></div><div class="ttdeci">subroutine init_grib1(self, g1_desc)</div><div class="ttdoc">Initializes a rotated equidistant cylindrical grid given a grib1_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00086">ip_rot_equid_cylind_egrid_mod.F90:87</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_aac1018f3ca1b7ad4b5d33f245678d416"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">ip_rot_equid_cylind_egrid_mod::clat</a></div><div class="ttdeci">real(kind=kd) clat</div><div class="ttdoc">Cosine of the latitude.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00064">ip_rot_equid_cylind_egrid_mod.F90:64</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_aad4e673a94976b2b5a9bfad9de9e6e30"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">ip_rot_equid_cylind_egrid_mod::clatr</a></div><div class="ttdeci">real(kind=kd) clatr</div><div class="ttdoc">Cosine of the rotated latitude.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00066">ip_rot_equid_cylind_egrid_mod.F90:66</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_ae1f8503816477fb685fbadc7a9e50f0b"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">ip_rot_equid_cylind_egrid_mod::slat</a></div><div class="ttdeci">real(kind=kd) slat</div><div class="ttdoc">Sine of the latitude.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00072">ip_rot_equid_cylind_egrid_mod.F90:72</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_aed7a425f4d300fe14ac1b48d76378edb"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">ip_rot_equid_cylind_egrid_mod::rerth</a></div><div class="ttdeci">real(kind=kd) rerth</div><div class="ttdoc">Radius of the Earth.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00070">ip_rot_equid_cylind_egrid_mod.F90:70</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_af04f8a1044f4d9a7e0d13d38887adcbc"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">ip_rot_equid_cylind_egrid_mod::dlons</a></div><div class="ttdeci">real(kind=kd) dlons</div><div class="ttdoc">Local copy of dlons.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00069">ip_rot_equid_cylind_egrid_mod.F90:69</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__egrid__mod_html_af3cbc17f27800bc67135feacb2c1c3e0"><div class="ttname"><a href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">ip_rot_equid_cylind_egrid_mod::init_grib2</a></div><div class="ttdeci">subroutine init_grib2(self, g2_desc)</div><div class="ttdoc">Initializes a rotated equidistant cylindrical grid given a grib2_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00163">ip_rot_equid_cylind_egrid_mod.F90:164</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+<div class="ttc" id="astructip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid_html"><div class="ttname"><a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00037">ip_rot_equid_cylind_egrid_mod.F90:37</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90.html">ip_rot_equid_cylind_egrid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90.html b/ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90.html
new file mode 100644
index 00000000..2e551d79
--- /dev/null
+++ b/ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_rot_equid_cylind_grid_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__rot__equid__cylind__grid__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_rot_equid_cylind_grid_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__rot__equid__cylind__grid__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__rot__equid__cylind__grid__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html">ip_rot_equid_cylind_grid_mod</a></td></tr>
+<tr class="memdesc:namespaceip__rot__equid__cylind__grid__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a55c153201e15205d3f75e4ffb717cc0b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">ip_rot_equid_cylind_grid_mod::gdswzd_rot_equid_cylind</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a55c153201e15205d3f75e4ffb717cc0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for rotated equidistant cylindrical.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">More...</a><br /></td></tr>
+<tr class="separator:a55c153201e15205d3f75e4ffb717cc0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb27dfdc6f03dea897d509910365afee"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">ip_rot_equid_cylind_grid_mod::init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:acb27dfdc6f03dea897d509910365afee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Rotated equidistant cylindrical grid given a grib1_descriptor object.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">More...</a><br /></td></tr>
+<tr class="separator:acb27dfdc6f03dea897d509910365afee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add3c6c1dad5748b452d291df6619867d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">ip_rot_equid_cylind_grid_mod::init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:add3c6c1dad5748b452d291df6619867d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Rotated equidistant cylindrical grid given a grib2_descriptor object.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">More...</a><br /></td></tr>
+<tr class="separator:add3c6c1dad5748b452d291df6619867d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cc09c83f9a3815d8c5f8ed2f239f53f"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">ip_rot_equid_cylind_grid_mod::rot_equid_cylind_error</a> (IOPT, FILL, RLAT, RLON, XPTS, YPTS, NPTS)</td></tr>
+<tr class="memdesc:a1cc09c83f9a3815d8c5f8ed2f239f53f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error handler.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">More...</a><br /></td></tr>
+<tr class="separator:a1cc09c83f9a3815d8c5f8ed2f239f53f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8f1133eb6809705c15337134eafe9fd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">ip_rot_equid_cylind_grid_mod::rot_equid_cylind_grid_area</a> (CLATR, FILL, AREA)</td></tr>
+<tr class="memdesc:ad8f1133eb6809705c15337134eafe9fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid box area for rotated equidistant cylindrical grids - non "e" stagger.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">More...</a><br /></td></tr>
+<tr class="separator:ad8f1133eb6809705c15337134eafe9fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a985f1dc1a20444cef706d4bb20e0841b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">ip_rot_equid_cylind_grid_mod::rot_equid_cylind_map_jacob</a> (FILL, RLON, CLATR, CLAT, SLAT, CLON, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a985f1dc1a20444cef706d4bb20e0841b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map jacobians for rotated equidistant cylindrical grids - non "e" stagger.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">More...</a><br /></td></tr>
+<tr class="separator:a985f1dc1a20444cef706d4bb20e0841b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3de472bfc18740a7d985f560f3541c10"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">ip_rot_equid_cylind_grid_mod::rot_equid_cylind_vect_rot</a> (RLON, CLATR, SLATR, CLAT, SLAT, CLON, CROT, SROT)</td></tr>
+<tr class="memdesc:a3de472bfc18740a7d985f560f3541c10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector rotation fields for rotated equidistant cylindrical grids - non "e" stagger.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">More...</a><br /></td></tr>
+<tr class="separator:a3de472bfc18740a7d985f560f3541c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:afeb699d0eaa8d157277e93fe8e8c5852"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">ip_rot_equid_cylind_grid_mod::clat0</a></td></tr>
+<tr class="memdesc:afeb699d0eaa8d157277e93fe8e8c5852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of clat0.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">More...</a><br /></td></tr>
+<tr class="separator:afeb699d0eaa8d157277e93fe8e8c5852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab43075e39d4e2dde4110e608931a392d"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">ip_rot_equid_cylind_grid_mod::dlats</a></td></tr>
+<tr class="memdesc:ab43075e39d4e2dde4110e608931a392d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dlats.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">More...</a><br /></td></tr>
+<tr class="separator:ab43075e39d4e2dde4110e608931a392d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0cf7bb2dd8be1239ae38c7220d29702"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">ip_rot_equid_cylind_grid_mod::dlons</a></td></tr>
+<tr class="memdesc:aa0cf7bb2dd8be1239ae38c7220d29702"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dlons.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">More...</a><br /></td></tr>
+<tr class="separator:aa0cf7bb2dd8be1239ae38c7220d29702"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb0c2acdbd71f0c07ffaf9db54ce06c1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">ip_rot_equid_cylind_grid_mod::irot</a></td></tr>
+<tr class="memdesc:abb0c2acdbd71f0c07ffaf9db54ce06c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of irot.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">More...</a><br /></td></tr>
+<tr class="separator:abb0c2acdbd71f0c07ffaf9db54ce06c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5dea0592cccce2de1c5c6a92d42cfd6"><td class="memItemLeft" align="right" valign="top">integer, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">ip_rot_equid_cylind_grid_mod::kd</a> = real64</td></tr>
+<tr class="memdesc:af5dea0592cccce2de1c5c6a92d42cfd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fortran kind for reals.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">More...</a><br /></td></tr>
+<tr class="separator:af5dea0592cccce2de1c5c6a92d42cfd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae08318392106d174ab36cf7dc05c570b"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">ip_rot_equid_cylind_grid_mod::rerth</a></td></tr>
+<tr class="memdesc:ae08318392106d174ab36cf7dc05c570b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">More...</a><br /></td></tr>
+<tr class="separator:ae08318392106d174ab36cf7dc05c570b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a620a55069afd33b301240533915387df"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">ip_rot_equid_cylind_grid_mod::rlon0</a></td></tr>
+<tr class="memdesc:a620a55069afd33b301240533915387df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of rlon0.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">More...</a><br /></td></tr>
+<tr class="separator:a620a55069afd33b301240533915387df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64831f92d5306513987a98e97a32aea1"><td class="memItemLeft" align="right" valign="top">real(kind=kd)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">ip_rot_equid_cylind_grid_mod::slat0</a></td></tr>
+<tr class="memdesc:a64831f92d5306513987a98e97a32aea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of slat0.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">More...</a><br /></td></tr>
+<tr class="separator:a64831f92d5306513987a98e97a32aea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__rot__equid__cylind__grid__mod_8F90.html">ip_rot_equid_cylind_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90.js b/ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90.js
new file mode 100644
index 00000000..e383063c
--- /dev/null
+++ b/ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90.js
@@ -0,0 +1,19 @@
+var ip__rot__equid__cylind__grid__mod_8F90 =
+[
+    [ "ip_rot_equid_cylind_grid", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid" ],
+    [ "gdswzd_rot_equid_cylind", "ip__rot__equid__cylind__grid__mod_8F90.html#a55c153201e15205d3f75e4ffb717cc0b", null ],
+    [ "init_grib1", "ip__rot__equid__cylind__grid__mod_8F90.html#acb27dfdc6f03dea897d509910365afee", null ],
+    [ "init_grib2", "ip__rot__equid__cylind__grid__mod_8F90.html#add3c6c1dad5748b452d291df6619867d", null ],
+    [ "rot_equid_cylind_error", "ip__rot__equid__cylind__grid__mod_8F90.html#a1cc09c83f9a3815d8c5f8ed2f239f53f", null ],
+    [ "rot_equid_cylind_grid_area", "ip__rot__equid__cylind__grid__mod_8F90.html#ad8f1133eb6809705c15337134eafe9fd", null ],
+    [ "rot_equid_cylind_map_jacob", "ip__rot__equid__cylind__grid__mod_8F90.html#a985f1dc1a20444cef706d4bb20e0841b", null ],
+    [ "rot_equid_cylind_vect_rot", "ip__rot__equid__cylind__grid__mod_8F90.html#a3de472bfc18740a7d985f560f3541c10", null ],
+    [ "clat0", "ip__rot__equid__cylind__grid__mod_8F90.html#afeb699d0eaa8d157277e93fe8e8c5852", null ],
+    [ "dlats", "ip__rot__equid__cylind__grid__mod_8F90.html#ab43075e39d4e2dde4110e608931a392d", null ],
+    [ "dlons", "ip__rot__equid__cylind__grid__mod_8F90.html#aa0cf7bb2dd8be1239ae38c7220d29702", null ],
+    [ "irot", "ip__rot__equid__cylind__grid__mod_8F90.html#abb0c2acdbd71f0c07ffaf9db54ce06c1", null ],
+    [ "kd", "ip__rot__equid__cylind__grid__mod_8F90.html#af5dea0592cccce2de1c5c6a92d42cfd6", null ],
+    [ "rerth", "ip__rot__equid__cylind__grid__mod_8F90.html#ae08318392106d174ab36cf7dc05c570b", null ],
+    [ "rlon0", "ip__rot__equid__cylind__grid__mod_8F90.html#a620a55069afd33b301240533915387df", null ],
+    [ "slat0", "ip__rot__equid__cylind__grid__mod_8F90.html#a64831f92d5306513987a98e97a32aea1", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90_source.html b/ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90_source.html
new file mode 100644
index 00000000..16cb6f37
--- /dev/null
+++ b/ver-4.4.0/ip__rot__equid__cylind__grid__mod_8F90_source.html
@@ -0,0 +1,561 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_rot_equid_cylind_grid_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__rot__equid__cylind__grid__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_rot_equid_cylind_grid_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__rot__equid__cylind__grid__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160; </div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html">   19</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html">ip_rot_equid_cylind_grid_mod</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  <span class="keywordtype">use </span>iso_fortran_env, <span class="keywordtype">only</span>: real64</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__constants__mod.html">ip_constants_mod</a>, <span class="keywordtype">only</span>: <a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>, <a class="code" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">   30</a></span>&#160;  <span class="keywordtype">integer</span>, <span class="keywordtype">parameter</span> :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a> = real64 </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">   32</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>) :: <a class="code" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a></div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5">   33</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a></div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6">   34</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">dlats</a></div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85">   35</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">dlons</a></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c">   36</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc">   37</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a></div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a">   38</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: wbd</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f">   39</a></span>&#160;<span class="keywordtype">     real</span>(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: sbd</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f">   43</a></span>&#160;     <span class="keywordtype">integer</span> :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">irot</a></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca">   47</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">init_grib1</a></div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634">   50</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">init_grib2</a></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4">   53</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a> =&gt; <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">gdswzd_rot_equid_cylind</a></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">   56</a></span>&#160;  <span class="keywordtype">INTEGER</span> :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">irot</a></div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">   57</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">rerth</a> </div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">   58</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a> </div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">   59</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">dlats</a> </div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">   60</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">dlons</a> </div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">   61</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a> </div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">   62</a></span>&#160;<span class="keywordtype">  REAL</span>(kind=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) :: <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a> </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">CONTAINS</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">   73</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">init_grib1</a>(self, g1_desc)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keywordtype">    real</span>(kd) :: rlat1, rlon1, rlat0, rlat2, rlon2, nbd, ebd</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">    real</span>(kd) :: hs, hs2, slat1, slat2, slatr, clon1, clon2, clat1, clat2, clatr, clonr, rlonr, rlatr</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160; </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    associate(kgds =&gt; g1_desc%gds)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;      self%rerth = 6.3712e6_kd</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      self%eccen_squared = 0d0</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      rlat1=kgds(4)*1.e-3_kd</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      rlon1=kgds(5)*1.e-3_kd</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      rlat0=kgds(7)*1.e-3_kd</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      self%RLON0=kgds(8)*1.e-3_kd</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;      rlat2=kgds(12)*1.e-3_kd</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;      rlon2=kgds(13)*1.e-3_kd</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      self%IROT=mod(kgds(6)/8,2)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      self%IM=kgds(2)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      self%JM=kgds(3)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      slat1=sin(rlat1/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      clat1=cos(rlat1/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      self%SLAT0=sin(rlat0/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      self%CLAT0=cos(rlat0/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      hs=sign(1._kd,mod(rlon1-self%RLON0+180+3600,360._kd)-180)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      clon1=cos((rlon1-self%RLON0)/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      slatr=self%CLAT0*slat1-self%SLAT0*clat1*clon1</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      clatr=sqrt(1-slatr**2)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      clonr=(self%CLAT0*clat1*clon1+self%SLAT0*slat1)/clatr</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      rlatr=<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>*asin(slatr)</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      rlonr=hs*<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>*acos(clonr)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      self%WBD=rlonr</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      self%SBD=rlatr</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;      slat2=sin(rlat2/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;      clat2=cos(rlat2/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;      hs2=sign(1._kd,mod(rlon2-self%RLON0+180+3600,360._kd)-180)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;      clon2=cos((rlon2-self%RLON0)/<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>)</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;      slatr=self%CLAT0*slat2-self%SLAT0*clat2*clon2</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      clatr=sqrt(1-slatr**2)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      clonr=(self%CLAT0*clat2*clon2+self%SLAT0*slat2)/clatr</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      nbd=<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>*asin(slatr)</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      ebd=hs2*<a class="code" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a>*acos(clonr)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;      self%DLATS=(nbd-self%SBD)/float(self%JM-1)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      self%DLONS=(ebd-self%WBD)/float(self%IM-1)</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;      self%iwrap = 0</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;      self%nscan = mod(kgds(11) / 32, 2)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">init_grib1</a></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">  139</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">init_grib2</a>(self, g2_desc)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordtype">type</span>(grib2_descriptor), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keywordtype">    real</span>(kd) :: rlat1, rlon1, rlat0, rlat2, rlon2, nbd, ebd</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordtype">integer</span> :: iscale</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordtype">integer</span> :: i_offset_odd, i_offset_even, j_offset</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    associate(igdtmpl =&gt; g2_desc%gdt_tmpl, igdtlen =&gt; g2_desc%gdt_len)</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160; </div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keyword">CALL </span>earth_radius(igdtmpl,igdtlen,self%rerth,self%eccen_squared)</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      i_offset_odd=mod(igdtmpl(19)/8,2)</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      i_offset_even=mod(igdtmpl(19)/4,2)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      j_offset=mod(igdtmpl(19)/2,2)</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;      iscale=igdtmpl(10)*igdtmpl(11)</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      rlat1=float(igdtmpl(12))/float(iscale)</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;      rlon1=float(igdtmpl(13))/float(iscale)</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;      rlat0=float(igdtmpl(20))/float(iscale)</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      rlat0=rlat0+90.0_kd</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; </div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      self%RLON0=float(igdtmpl(21))/float(iscale)</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;      rlat2=float(igdtmpl(15))/float(iscale)</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;      rlon2=float(igdtmpl(16))/float(iscale)</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;      self%IROT=mod(igdtmpl(14)/8,2)</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;      self%IM=igdtmpl(8)</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;      self%JM=igdtmpl(9)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160; </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;      self%SLAT0=sin(rlat0/dpr)</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      self%CLAT0=cos(rlat0/dpr)</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      self%WBD=rlon1</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      <span class="keywordflow">IF</span> (self%WBD &gt; 180.0) self%WBD = self%WBD - 360.0</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      self%SBD=rlat1</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      nbd=rlat2</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      ebd=rlon2</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160; </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;      self%DLATS=(nbd-self%SBD)/float(self%JM-1)</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      self%DLONS=(ebd-self%WBD)/float(self%IM-1)</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;      <span class="keywordflow">IF</span>(i_offset_odd==1) self%WBD=self%WBD+(0.5_kd*self%DLONS)</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;      <span class="keywordflow">IF</span>(j_offset==1) self%SBD=self%SBD+(0.5_kd*self%DLATS)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;      self%iwrap = 0</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;      self%jwrap1 = 0</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;      self%jwrap2 = 0</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;      self%kscan = 0</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;      self%nscan = mod(igdtmpl(19) / 32, 2)</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      self%nscan_field_pos = self%nscan</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keyword">end </span>associate</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">init_grib2</a></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160; </div>
+<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">  256</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">gdswzd_rot_equid_cylind</a>(self,IOPT,NPTS, &amp;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;       FILL,XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160; </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordtype">INTEGER</span>,                 <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keywordtype">INTEGER</span>,                 <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordtype">    REAL</span>,                    <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">    REAL</span>,                    <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keywordtype">    REAL</span>,                    <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keywordtype">    REAL</span>,  <span class="keywordtype">OPTIONAL</span>,         <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="keywordtype">    REAL</span>,  <span class="keywordtype">OPTIONAL</span>,         <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keywordtype">    REAL</span>,  <span class="keywordtype">OPTIONAL</span>,         <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keywordtype">INTEGER</span>                                :: IM,JM,N</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keywordtype">LOGICAL</span>                                :: LROT, LMAP, LAREA</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)                          :: hs</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)                          :: clonr,clatr,slatr</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)                          :: clat,slat,clon</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)                          :: rlatr,rlonr</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)                          :: wbd,sbd</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="keywordtype">    REAL</span>                                   :: XMIN,XMAX,YMIN,YMAX</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot)) crot=fill</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(srot)) srot=fill</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon)) xlon=fill</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlat)) xlat=fill</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylon)) ylon=fill</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(ylat)) ylat=fill</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area)) area=fill</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <span class="comment">! IS THE EARTH RADIUS DEFINED?</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <span class="comment">!  IS THIS AN &quot;E&quot;-STAGGER GRID?  ROUTINE CAN&#39;T PROCESS THOSE.</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="comment">! I_OFFSET_ODD=MOD(IGDTMPL(19)/8,2)</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="comment">! I_OFFSET_EVEN=MOD(IGDTMPL(19)/4,2)</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="comment">! J_OFFSET=MOD(IGDTMPL(19)/2,2)</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="comment">! IF(I_OFFSET_ODD/=I_OFFSET_EVEN) THEN</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="comment">!    CALL ROT_EQUID_CYLIND_ERROR(IOPT,FILL,RLAT,RLON,XPTS,YPTS,NPTS)</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="comment">!    RETURN</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="comment">! ENDIF</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160; </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a>=self%rlon0</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">irot</a>=self%irot</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    im=self%im</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    jm=self%jm</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160; </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>=self%slat0</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a>=self%clat0</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160; </div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    wbd=self%wbd</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    sbd=self%sbd</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160; </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">dlats</a>=self%dlats</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">dlons</a>=self%dlons</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    xmin=0</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    xmax=im+1</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    ymin=0</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    ymax=jm+1</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    nret=0</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160; </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    <a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">rerth</a> = self%rerth</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">rerth</a>&lt;0.)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;       <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">rot_equid_cylind_error</a>(iopt,fill,rlat,rlon,xpts,ypts,npts)</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;       <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160; </div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(crot).AND.<span class="keyword">PRESENT</span>(srot))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;       lrot=.true.</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;       lrot=.false.</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(xlon).AND.<span class="keyword">PRESENT</span>(xlat).AND.<span class="keyword">PRESENT</span>(ylon).AND.<span class="keyword">PRESENT</span>(ylat))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;       lmap=.true.</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;       lmap=.false.</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    <span class="keywordflow">IF</span>(<span class="keyword">PRESENT</span>(area))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;       larea=.true.</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;       larea=.false.</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="comment">!  TRANSLATE GRID COORDINATES TO EARTH COORDINATES</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <span class="keywordflow">IF</span>(iopt.EQ.0.OR.iopt.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N,RLONR,RLATR,HS,CLONR,SLATR,CLATR,SLAT,CLAT,CLON) &amp;</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;       <span class="comment">!$OMP&amp; REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;          <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;               ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;             rlonr=wbd+(xpts(n)-1._kd)*<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">dlons</a></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;             rlatr=sbd+(ypts(n)-1._kd)*<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">dlats</a></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;             <span class="keywordflow">IF</span>(rlonr &lt;= 0._kd) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                hs=-1.0_kd</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                hs=1.0_kd</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;             clonr=cos(rlonr/dpr)</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;             slatr=sin(rlatr/dpr)</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;             clatr=cos(rlatr/dpr)</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;             slat=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a>*slatr+<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>*clatr*clonr</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;             <span class="keywordflow">IF</span>(slat.LE.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;                clat=0.</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;                clon=cos(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a>/dpr)</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;                rlon(n)=0.</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;                rlat(n)=-90.</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;             <span class="keywordflow">ELSEIF</span>(slat.GE.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;                clat=0.</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;                clon=cos(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a>/dpr)</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                rlon(n)=0.</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;                rlat(n)=90.</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;                clat=sqrt(1-slat**2)</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;                clon=(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a>*clatr*clonr-<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>*slatr)/clat</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;                clon=min(max(clon,-1._kd),1._kd)</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;                rlon(n)=real(mod(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a>+hs*dpr*acos(clon)+3600,360._kd))</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;                rlat(n)=real(dpr*asin(slat))</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;             nret=nret+1</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;             <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">rot_equid_cylind_vect_rot</a>(rlon(n), clatr, slatr, &amp;</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;                  clat, slat, clon, crot(n), srot(n))</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;             <span class="keywordflow">IF</span>(lmap) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">rot_equid_cylind_map_jacob</a>(fill, rlon(n), clatr, &amp;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;                  clat, slat, clon, xlon(n), xlat(n), ylon(n), ylat(n))</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;             <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">rot_equid_cylind_grid_area</a>(clatr, fill, area(n))</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;             rlon(n)=fill</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;             rlat(n)=fill</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;       <span class="comment">!  TRANSLATE EARTH COORDINATES TO GRID COORDINATES</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;    <span class="keywordflow">ELSEIF</span>(iopt.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N,HS,CLON,SLAT,CLAT,SLATR,CLATR,CLONR,RLONR,RLATR) &amp;</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;       <span class="comment">!$OMP&amp; REDUCTION(+:NRET) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;       <span class="keywordflow">DO</span> n=1,npts</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;          <span class="keywordflow">IF</span>(abs(rlon(n)).LE.360.AND.abs(rlat(n)).LE.90) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;             hs=sign(1._kd,mod(rlon(n)-<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a>+180+3600,360._kd)-180)</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;             clon=cos((rlon(n)-<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a>)/dpr)</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;             slat=sin(rlat(n)/dpr)</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;             clat=cos(rlat(n)/dpr)</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;             slatr=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a>*slat-<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>*clat*clon</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;             <span class="keywordflow">IF</span>(slatr.LE.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;                clatr=0._kd</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;                rlonr=0.</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;                rlatr=-90.</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;             <span class="keywordflow">ELSEIF</span>(slatr.GE.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;                clatr=0._kd</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;                rlonr=0.</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;                rlatr=90.</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;                clatr=sqrt(1-slatr**2)</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;                clonr=(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a>*clat*clon+<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>*slat)/clatr</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;                clonr=min(max(clonr,-1._kd),1._kd)</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;                rlonr=hs*dpr*acos(clonr)</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;                rlatr=dpr*asin(slatr)</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;             xpts(n)=real((rlonr-wbd)/<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">dlons</a>+1._kd)</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;             ypts(n)=real((rlatr-sbd)/<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">dlats</a>+1._kd)</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;             <span class="keywordflow">IF</span>(xpts(n).GE.xmin.AND.xpts(n).LE.xmax.AND. &amp;</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;                  ypts(n).GE.ymin.AND.ypts(n).LE.ymax) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;                nret=nret+1</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;                <span class="keywordflow">IF</span>(lrot) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">rot_equid_cylind_vect_rot</a>(rlon(n), clatr, slatr, &amp;</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;                     clat, slat, clon, crot(n), srot(n))</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;                <span class="keywordflow">IF</span>(lmap) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">rot_equid_cylind_map_jacob</a>(fill, rlon(n), clatr, &amp;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;                     clat, slat, clon, xlon(n), xlat(n), ylon(n), ylat(n))</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;                <span class="keywordflow">IF</span>(larea) <span class="keyword">CALL </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">rot_equid_cylind_grid_area</a>(clatr, fill, area(n))</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;                xpts(n)=fill</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;                ypts(n)=fill</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;             xpts(n)=fill</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;             ypts(n)=fill</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">gdswzd_rot_equid_cylind</a></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160; </div>
+<div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">  462</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">rot_equid_cylind_error</a>(IOPT,FILL,RLAT,RLON,XPTS,YPTS,NPTS)</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="keywordtype">INTEGER</span>, <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="keywordtype">    REAL</span>,    <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="keywordtype">    REAL</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: RLAT(NPTS),RLON(NPTS)</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="keywordtype">    REAL</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    <span class="keywordflow">IF</span>(iopt&gt;=0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;       rlon=fill</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;       rlat=fill</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="keywordflow">IF</span>(iopt&lt;=0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;       xpts=fill</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;       ypts=fill</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">rot_equid_cylind_error</a></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160; </div>
+<div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">  507</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">rot_equid_cylind_vect_rot</a>(RLON, CLATR, SLATR, CLAT, SLAT, &amp;</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;       CLON, CROT, SROT)</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160; </div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>),    <span class="keywordtype">INTENT(IN   )</span> :: clat, clatr, clon, slat, slatr</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<span class="keywordtype">    REAL</span>         ,    <span class="keywordtype">INTENT(IN   )</span> :: RLON</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="keywordtype">    REAL</span>         ,    <span class="keywordtype">INTENT(  OUT)</span> :: CROT, SROT</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160; </div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)                   :: slon</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160; </div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    <span class="keywordflow">IF</span>(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">irot</a>.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;       <span class="keywordflow">IF</span>(clatr.LE.0._kd) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;          crot=real(-sign(1._kd,slatr*<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>))</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;          srot=0.</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;          slon=sin((rlon-<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a>)/dpr)</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;          crot=real((<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a>*clat+<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>*slat*clon)/clatr)</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;          srot=real(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>*slon/clatr)</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;       crot=1.</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;       srot=0.</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160; </div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">rot_equid_cylind_vect_rot</a></div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;  </div>
+<div class="line"><a name="l00558"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">  558</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">rot_equid_cylind_map_jacob</a>(FILL, RLON, CLATR, CLAT, &amp;</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;       SLAT, CLON, XLON, XLAT, YLON, YLAT)</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160; </div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>),    <span class="keywordtype">INTENT(IN   )</span> :: clatr, clat, slat, clon</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="keywordtype">    REAL</span>         ,    <span class="keywordtype">INTENT(IN   )</span> :: FILL, RLON</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="keywordtype">    REAL</span>         ,    <span class="keywordtype">INTENT(  OUT)</span> :: XLON, XLAT, YLON, YLAT</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160; </div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)                   :: slon, term1, term2</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160; </div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    <span class="keywordflow">IF</span>(clatr.LE.0._kd) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;       xlon=fill</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;       xlat=fill</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;       ylon=fill</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;       ylat=fill</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;       slon=sin((rlon-<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a>)/dpr)</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;       term1=(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a>*clat+<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>*slat*clon)/clatr</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;       term2=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a>*slon/clatr</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;       xlon=real(term1*clat/(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">dlons</a>*clatr))</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;       xlat=real(-term2/(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">dlons</a>*clatr))</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;       ylon=real(term2*clat/<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">dlats</a>)</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;       ylat=real(term1/<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">dlats</a>)</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160; </div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">rot_equid_cylind_map_jacob</a></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160; </div>
+<div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">  603</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">rot_equid_cylind_grid_area</a>(CLATR, FILL, AREA)</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160; </div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;<span class="keywordtype">    REAL</span>(KIND=<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>),    <span class="keywordtype">INTENT(IN   )</span> :: clatr</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: AREA</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160; </div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    <span class="keywordflow">IF</span>(clatr.LE.0._kd) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;       area=fill</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;       area=real(2._kd*(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">rerth</a>**2)*clatr*(<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">dlons</a>/dpr)*sin(0.5_kd*<a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">dlats</a>/dpr))</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160; </div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">rot_equid_cylind_grid_area</a></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160; </div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__rot__equid__cylind__grid__mod.html">ip_rot_equid_cylind_grid_mod</a></div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160; </div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html"><div class="ttname"><a href="namespaceearth__radius__mod.html">earth_radius_mod</a></div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00007">earth_radius_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html"><div class="ttname"><a href="namespaceip__constants__mod.html">ip_constants_mod</a></div><div class="ttdoc">Module containing common constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00009">ip_constants_mod.F90:9</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_a47f83a2267da693170054c958c401cd4"><div class="ttname"><a href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">ip_constants_mod::pi</a></div><div class="ttdeci">real, parameter pi</div><div class="ttdoc">PI.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00014">ip_constants_mod.F90:14</a></div></div>
+<div class="ttc" id="anamespaceip__constants__mod_html_ae6b74489db06341b78c3088b3f207011"><div class="ttname"><a href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">ip_constants_mod::dpr</a></div><div class="ttdeci">real, parameter dpr</div><div class="ttdoc">Radians to degrees.</div><div class="ttdef"><b>Definition:</b> <a href="ip__constants__mod_8F90_source.html#l00015">ip_constants_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html">ip_rot_equid_cylind_grid_mod</a></div><div class="ttdoc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A ...</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00019">ip_rot_equid_cylind_grid_mod.F90:19</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_a1cc09c83f9a3815d8c5f8ed2f239f53f"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">ip_rot_equid_cylind_grid_mod::rot_equid_cylind_error</a></div><div class="ttdeci">subroutine rot_equid_cylind_error(IOPT, FILL, RLAT, RLON, XPTS, YPTS, NPTS)</div><div class="ttdoc">Error handler.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00462">ip_rot_equid_cylind_grid_mod.F90:463</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_a3de472bfc18740a7d985f560f3541c10"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">ip_rot_equid_cylind_grid_mod::rot_equid_cylind_vect_rot</a></div><div class="ttdeci">subroutine rot_equid_cylind_vect_rot(RLON, CLATR, SLATR, CLAT, SLAT, CLON, CROT, SROT)</div><div class="ttdoc">Vector rotation fields for rotated equidistant cylindrical grids - non &quot;e&quot; stagger.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00507">ip_rot_equid_cylind_grid_mod.F90:509</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_a55c153201e15205d3f75e4ffb717cc0b"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">ip_rot_equid_cylind_grid_mod::gdswzd_rot_equid_cylind</a></div><div class="ttdeci">subroutine gdswzd_rot_equid_cylind(self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">GDS wizard for rotated equidistant cylindrical.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00256">ip_rot_equid_cylind_grid_mod.F90:259</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_a620a55069afd33b301240533915387df"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">ip_rot_equid_cylind_grid_mod::rlon0</a></div><div class="ttdeci">real(kind=kd) rlon0</div><div class="ttdoc">Local copy of rlon0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00061">ip_rot_equid_cylind_grid_mod.F90:61</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_a64831f92d5306513987a98e97a32aea1"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">ip_rot_equid_cylind_grid_mod::slat0</a></div><div class="ttdeci">real(kind=kd) slat0</div><div class="ttdoc">Local copy of slat0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00062">ip_rot_equid_cylind_grid_mod.F90:62</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_a985f1dc1a20444cef706d4bb20e0841b"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">ip_rot_equid_cylind_grid_mod::rot_equid_cylind_map_jacob</a></div><div class="ttdeci">subroutine rot_equid_cylind_map_jacob(FILL, RLON, CLATR, CLAT, SLAT, CLON, XLON, XLAT, YLON, YLAT)</div><div class="ttdoc">Map jacobians for rotated equidistant cylindrical grids - non &quot;e&quot; stagger.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00558">ip_rot_equid_cylind_grid_mod.F90:560</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_aa0cf7bb2dd8be1239ae38c7220d29702"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">ip_rot_equid_cylind_grid_mod::dlons</a></div><div class="ttdeci">real(kind=kd) dlons</div><div class="ttdoc">Local copy of dlons.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00060">ip_rot_equid_cylind_grid_mod.F90:60</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_ab43075e39d4e2dde4110e608931a392d"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">ip_rot_equid_cylind_grid_mod::dlats</a></div><div class="ttdeci">real(kind=kd) dlats</div><div class="ttdoc">Local copy of dlats.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00059">ip_rot_equid_cylind_grid_mod.F90:59</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_abb0c2acdbd71f0c07ffaf9db54ce06c1"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">ip_rot_equid_cylind_grid_mod::irot</a></div><div class="ttdeci">integer irot</div><div class="ttdoc">Local copy of irot.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00056">ip_rot_equid_cylind_grid_mod.F90:56</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_acb27dfdc6f03dea897d509910365afee"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">ip_rot_equid_cylind_grid_mod::init_grib1</a></div><div class="ttdeci">subroutine init_grib1(self, g1_desc)</div><div class="ttdoc">Initializes a Rotated equidistant cylindrical grid given a grib1_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00073">ip_rot_equid_cylind_grid_mod.F90:74</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_ad8f1133eb6809705c15337134eafe9fd"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">ip_rot_equid_cylind_grid_mod::rot_equid_cylind_grid_area</a></div><div class="ttdeci">subroutine rot_equid_cylind_grid_area(CLATR, FILL, AREA)</div><div class="ttdoc">Grid box area for rotated equidistant cylindrical grids - non &quot;e&quot; stagger.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00603">ip_rot_equid_cylind_grid_mod.F90:604</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_add3c6c1dad5748b452d291df6619867d"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">ip_rot_equid_cylind_grid_mod::init_grib2</a></div><div class="ttdeci">subroutine init_grib2(self, g2_desc)</div><div class="ttdoc">Initializes a Rotated equidistant cylindrical grid given a grib2_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00139">ip_rot_equid_cylind_grid_mod.F90:140</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_ae08318392106d174ab36cf7dc05c570b"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">ip_rot_equid_cylind_grid_mod::rerth</a></div><div class="ttdeci">real(kind=kd) rerth</div><div class="ttdoc">Radius of the Earth.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00057">ip_rot_equid_cylind_grid_mod.F90:57</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_af5dea0592cccce2de1c5c6a92d42cfd6"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">ip_rot_equid_cylind_grid_mod::kd</a></div><div class="ttdeci">integer, parameter kd</div><div class="ttdoc">Fortran kind for reals.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00030">ip_rot_equid_cylind_grid_mod.F90:30</a></div></div>
+<div class="ttc" id="anamespaceip__rot__equid__cylind__grid__mod_html_afeb699d0eaa8d157277e93fe8e8c5852"><div class="ttname"><a href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">ip_rot_equid_cylind_grid_mod::clat0</a></div><div class="ttdeci">real(kind=kd) clat0</div><div class="ttdoc">Local copy of clat0.</div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00058">ip_rot_equid_cylind_grid_mod.F90:58</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+<div class="ttc" id="astructip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid_html"><div class="ttname"><a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00032">ip_rot_equid_cylind_grid_mod.F90:32</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__rot__equid__cylind__grid__mod_8F90.html">ip_rot_equid_cylind_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__station__points__grid__mod_8F90.html b/ver-4.4.0/ip__station__points__grid__mod_8F90.html
new file mode 100644
index 00000000..86428144
--- /dev/null
+++ b/ver-4.4.0/ip__station__points__grid__mod_8F90.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_station_points_grid_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__station__points__grid__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_station_points_grid_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Interpolate gridded data to a series of station points.  
+<a href="#details">More...</a></p>
+
+<p><a href="ip__station__points__grid__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid_mod::ip_station_points_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceip__station__points__grid__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__station__points__grid__mod.html">ip_station_points_grid_mod</a></td></tr>
+<tr class="memdesc:namespaceip__station__points__grid__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate gridded data to a series of station points. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a8da297b45242279a497dbd7062a33197"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">ip_station_points_grid_mod::gdswzd_station_points</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a8da297b45242279a497dbd7062a33197"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate gridded data to a series of station points.  <a href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">More...</a><br /></td></tr>
+<tr class="separator:a8da297b45242279a497dbd7062a33197"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b28ebf2b4fe826c96af69db28e0a1ff"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">ip_station_points_grid_mod::init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a4b28ebf2b4fe826c96af69db28e0a1ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an IP Station grid given a grib1_descriptor object.  <a href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">More...</a><br /></td></tr>
+<tr class="separator:a4b28ebf2b4fe826c96af69db28e0a1ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17e6d245295803b62b146be984f874d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">ip_station_points_grid_mod::init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:ad17e6d245295803b62b146be984f874d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an IP Station grid given a grib2_descriptor object.  <a href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">More...</a><br /></td></tr>
+<tr class="separator:ad17e6d245295803b62b146be984f874d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interpolate gridded data to a series of station points. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>7/21/21 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ip__station__points__grid__mod_8F90_source.html">ip_station_points_grid_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__station__points__grid__mod_8F90.html">ip_station_points_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ip__station__points__grid__mod_8F90.js b/ver-4.4.0/ip__station__points__grid__mod_8F90.js
new file mode 100644
index 00000000..f83de141
--- /dev/null
+++ b/ver-4.4.0/ip__station__points__grid__mod_8F90.js
@@ -0,0 +1,7 @@
+var ip__station__points__grid__mod_8F90 =
+[
+    [ "ip_station_points_grid", "structip__station__points__grid__mod_1_1ip__station__points__grid.html", "structip__station__points__grid__mod_1_1ip__station__points__grid" ],
+    [ "gdswzd_station_points", "ip__station__points__grid__mod_8F90.html#a8da297b45242279a497dbd7062a33197", null ],
+    [ "init_grib1", "ip__station__points__grid__mod_8F90.html#a4b28ebf2b4fe826c96af69db28e0a1ff", null ],
+    [ "init_grib2", "ip__station__points__grid__mod_8F90.html#ad17e6d245295803b62b146be984f874d", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ip__station__points__grid__mod_8F90_source.html b/ver-4.4.0/ip__station__points__grid__mod_8F90_source.html
new file mode 100644
index 00000000..5786674f
--- /dev/null
+++ b/ver-4.4.0/ip__station__points__grid__mod_8F90_source.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_station_points_grid_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ip__station__points__grid__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_station_points_grid_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ip__station__points__grid__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="namespaceip__station__points__grid__mod.html">    9</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceip__station__points__grid__mod.html">ip_station_points_grid_mod</a></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="comment">! Not really a grid</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
+<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">   18</a></span>&#160;  <span class="keyword">type</span>, <span class="keyword">extends</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>) :: <a class="code" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;   <span class="keyword">contains</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32">   21</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">init_grib1</a> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e">   23</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">init_grib2</a></div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f">   26</a></span>&#160;     <span class="keywordtype">procedure</span> :: <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a> =&gt; <a class="code" href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">gdswzd_station_points</a> </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  <span class="keyword">end type </span><a class="code" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">   37</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">init_grib1</a>(self, g1_desc)</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g1_desc</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">init_grib1</a></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">   48</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">init_grib2</a>(self, g2_desc)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a>), <span class="keywordtype">intent(inout)</span> :: self</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), <span class="keywordtype">intent(in)</span> :: g2_desc</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">init_grib2</a></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">   75</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">gdswzd_station_points</a>(self,IOPT,NPTS, &amp;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;       FILL,XPTS,YPTS,RLON,RLAT,NRET, &amp;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;       CROT,SROT,XLON,XLAT,YLON,YLAT,AREA)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a>), <span class="keywordtype">intent(in)</span> :: self</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keywordtype">INTEGER</span>,                 <span class="keywordtype">INTENT(IN   )</span> :: IOPT, NPTS</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordtype">INTEGER</span>,                 <span class="keywordtype">INTENT(  OUT)</span> :: NRET</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keywordtype">    REAL</span>,                    <span class="keywordtype">INTENT(IN   )</span> :: FILL</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">    REAL</span>,                    <span class="keywordtype">INTENT(INOUT)</span> :: RLON(NPTS),RLAT(NPTS)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">    REAL</span>,                    <span class="keywordtype">INTENT(INOUT)</span> :: XPTS(NPTS),YPTS(NPTS)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keywordtype">    REAL</span>,  <span class="keywordtype">OPTIONAL</span>,         <span class="keywordtype">INTENT(  OUT)</span> :: CROT(NPTS),SROT(NPTS)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keywordtype">    REAL</span>,  <span class="keywordtype">OPTIONAL</span>,         <span class="keywordtype">INTENT(  OUT)</span> :: XLON(NPTS),XLAT(NPTS)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">    REAL</span>,  <span class="keywordtype">OPTIONAL</span>,         <span class="keywordtype">INTENT(  OUT)</span> :: YLON(NPTS),YLAT(NPTS),AREA(NPTS)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="comment">! This is all that needs to be done for GDSWZD for station points.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    nret = npts</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">gdswzd_station_points</a></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceip__station__points__grid__mod.html">ip_station_points_grid_mod</a></div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__station__points__grid__mod_html"><div class="ttname"><a href="namespaceip__station__points__grid__mod.html">ip_station_points_grid_mod</a></div><div class="ttdoc">Interpolate gridded data to a series of station points.</div><div class="ttdef"><b>Definition:</b> <a href="ip__station__points__grid__mod_8F90_source.html#l00009">ip_station_points_grid_mod.F90:9</a></div></div>
+<div class="ttc" id="anamespaceip__station__points__grid__mod_html_a4b28ebf2b4fe826c96af69db28e0a1ff"><div class="ttname"><a href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">ip_station_points_grid_mod::init_grib1</a></div><div class="ttdeci">subroutine init_grib1(self, g1_desc)</div><div class="ttdoc">Initializes an IP Station grid given a grib1_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__station__points__grid__mod_8F90_source.html#l00037">ip_station_points_grid_mod.F90:38</a></div></div>
+<div class="ttc" id="anamespaceip__station__points__grid__mod_html_a8da297b45242279a497dbd7062a33197"><div class="ttname"><a href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">ip_station_points_grid_mod::gdswzd_station_points</a></div><div class="ttdeci">subroutine gdswzd_station_points(self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</div><div class="ttdoc">Interpolate gridded data to a series of station points.</div><div class="ttdef"><b>Definition:</b> <a href="ip__station__points__grid__mod_8F90_source.html#l00075">ip_station_points_grid_mod.F90:78</a></div></div>
+<div class="ttc" id="anamespaceip__station__points__grid__mod_html_ad17e6d245295803b62b146be984f874d"><div class="ttname"><a href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">ip_station_points_grid_mod::init_grib2</a></div><div class="ttdeci">subroutine init_grib2(self, g2_desc)</div><div class="ttdoc">Initializes an IP Station grid given a grib2_descriptor object.</div><div class="ttdef"><b>Definition:</b> <a href="ip__station__points__grid__mod_8F90_source.html#l00048">ip_station_points_grid_mod.F90:49</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib2__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></div><div class="ttdoc">Grib-2 descriptor containing a grib2 GDT represented by an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00047">ip_grid_descriptor_mod.F90:47</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+<div class="ttc" id="astructip__station__points__grid__mod_1_1ip__station__points__grid_html"><div class="ttname"><a href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid_mod::ip_station_points_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__station__points__grid__mod_8F90_source.html#l00018">ip_station_points_grid_mod.F90:18</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ip__station__points__grid__mod_8F90.html">ip_station_points_grid_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/iplib__4_8h.html b/ver-4.4.0/iplib__4_8h.html
new file mode 100644
index 00000000..103931d9
--- /dev/null
+++ b/ver-4.4.0/iplib__4_8h.html
@@ -0,0 +1,516 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: iplib_4.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('iplib__4_8h.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">iplib_4.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>C interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> and <a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1" title="gdswzd_grib1() interface for C for the _4 build of the library.">gdswzd_grib1()</a> functions for '4' library build.  
+<a href="#details">More...</a></p>
+
+<p><a href="iplib__4_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a44daefd49c37e9bc59933d98e56efa53"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a> (int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</td></tr>
+<tr class="memdesc:a44daefd49c37e9bc59933d98e56efa53"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> interface for C for _4 build of library.  <a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">More...</a><br /></td></tr>
+<tr class="separator:a44daefd49c37e9bc59933d98e56efa53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f2f96041c0d42926e14cb0f40f336e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1">gdswzd_grib1</a> (int *kgds, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</td></tr>
+<tr class="memdesc:a7f2f96041c0d42926e14cb0f40f336e1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1" title="gdswzd_grib1() interface for C for the _4 build of the library.">gdswzd_grib1()</a> interface for C for the _4 build of the library.  <a href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1">More...</a><br /></td></tr>
+<tr class="separator:a7f2f96041c0d42926e14cb0f40f336e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>C interface to <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> and <a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1" title="gdswzd_grib1() interface for C for the _4 build of the library.">gdswzd_grib1()</a> functions for '4' library build. </p>
+<dl class="section author"><dt>Author</dt><dd>Jovic </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="iplib__4_8h_source.html">iplib_4.h</a>.</p>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a44daefd49c37e9bc59933d98e56efa53"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a44daefd49c37e9bc59933d98e56efa53">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void gdswzd </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>igdtnum</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>igdtmpl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>igdtlen</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>iopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>npts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&#160;</td>
+          <td class="paramname"><em>fill</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>xpts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>ypts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>nret</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>xlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>xlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>ylon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>ylat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>area</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> interface for C for _4 build of library. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">igdtnum</td><td>grid definition template number. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure.<ul>
+<li>00 equidistant cylindrical</li>
+<li>01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 mercator cyclindrical</li>
+<li>20 polar stereographic azimuthal</li>
+<li>30 lambert conformal conical</li>
+<li>40 gaussian equidistant cyclindrical </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">igdtmpl</td><td>(igdtlen) grid definition template array. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure for section three. all projections:<ul>
+<li>1 shape of earth, octet 15</li>
+<li>2 scale factor of spherical earth radius, octet 16</li>
+<li>3 scaled value of radius of spherical earth, octets 17-20</li>
+<li>4 scale factor of major axis of elliptical earth, octet 21</li>
+<li>5 scaled value of major axis of elliptical earth, octets 22-25</li>
+<li>6 scale factor of minor axis of elliptical earth, octet 26</li>
+<li>7 scaled value of minor axis of elliptical earth, octets 27-30 equidistant cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42.</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72 mercator cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 latitude of first point, octets 39-42</li>
+<li>11 longitude of first point, octets 43-46</li>
+<li>12 resolution and component flags, octet 47</li>
+<li>13 tangent latitude, octets 48-51</li>
+<li>14 latitude of last point, octets 52-55</li>
+<li>15 longitude of last point, octets 56-59</li>
+<li>16 scanning mode flags, octet 60</li>
+<li>17 orientation of grid, octets 61-64</li>
+<li>18 longitudinal grid length, octets 65-68</li>
+<li>19 latitudinal grid length, octets 69-72 Lambert conformal conical:</li>
+<li>8 number of points along x-axis, octs 31-34</li>
+<li>9 number of points along y-axis, octs 35-38</li>
+<li>10 latitude of first point, octets 39-42</li>
+<li>11 longitude of first point, octets 43-46</li>
+<li>12 resolution of component flag, octet 47</li>
+<li>13 latitude where grid lengths specified, octets 48-51</li>
+<li>14 longitude of meridian that is parallel to y-axis, octets 52-55</li>
+<li>15 x-direction grid length, octets 56-59</li>
+<li>16 y-direction grid length, octets 60-63</li>
+<li>17 projection center flag, octet 64</li>
+<li>18 scanning mode, octet 65</li>
+<li>19 first tangent latitude from pole, octets 66-69</li>
+<li>20 second tangent latitude from pole, octets 70-73</li>
+<li>21 latitude of south pole of projection, octets 74-77</li>
+<li>22 longitude of south pole of projection, octets 78-81 gaussian cylindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 number of parallels between pole and equator, octets 68-71</li>
+<li>19 scanning mode, octet 72 polar stereographic azimuthal:</li>
+<li>8 number of points along x-axis, octets 31-34</li>
+<li>9 number of points along y-axis, octets 35-38</li>
+<li>10 latitude of first grid point, octets 39-42</li>
+<li>11 longitude of first grid point, octets 43-46</li>
+<li>12 resolution and component flags, octet 47</li>
+<li>13 true latitude, octets 48-51</li>
+<li>14 orientation longitude, octets 52-55</li>
+<li>15 x-direction grid length, octets 56-59</li>
+<li>16 y-direction grid length, octets 60-63</li>
+<li>17 projection center flag, octet 64</li>
+<li>18 scanning mode flags, octet 65 rotated equidistant cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72</li>
+<li>20 latitude of southern pole of projection, octets 73-76</li>
+<li>21 longitude of southern pole of projection, octets 77-80</li>
+<li>22 angle of rotation of projection, octs 81-84 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">igdtlen</td><td>number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramname">iopt</td><td>option flag<ul>
+<li>0 to compute earth coords of all the grid points</li>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">npts</td><td>integer maximum number of coordinates </td></tr>
+    <tr><td class="paramname">fill</td><td>real fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramname">xpts</td><td>real (npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">ypts</td><td>real (npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">rlon</td><td>real (npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramname">rlat</td><td>real (npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramname">nret</td><td>number of valid points computed (-1 if projection unrecognized) </td></tr>
+    <tr><td class="paramname">crot</td><td>(npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramname">srot</td><td>(npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth, vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramname">xlon</td><td>(npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">xlat</td><td>(npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">ylon</td><td>(npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">ylat</td><td>(npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">area</td><td>(npts) area weights in m**2 (Proportional to the square of the map factor in the case of conformal projections.)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Jovic </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016 </dd></dl>
+
+</div>
+</div>
+<a id="a7f2f96041c0d42926e14cb0f40f336e1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f2f96041c0d42926e14cb0f40f336e1">&#9670;&nbsp;</a></span>gdswzd_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void gdswzd_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>kgds</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>iopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>npts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&#160;</td>
+          <td class="paramname"><em>fill</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>xpts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>ypts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>nret</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>xlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>xlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>ylon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>ylat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&#160;</td>
+          <td class="paramname"><em>area</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1" title="gdswzd_grib1() interface for C for the _4 build of the library.">gdswzd_grib1()</a> interface for C for the _4 build of the library. </p>
+<p>This is a C prototype to call the Fortran module subroutine <a class="el" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504" title="C wrapper for routine gdswzd.">gdswzd_c_grib1()</a> for the _4 version of the library.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">kgds</td><td>(200) gds parameters as decoded by <a href="https://noaa-emc.github.io/NCEPLIBS-w3emc/w3fi63_8f.html">w3fi63</a>. </td></tr>
+    <tr><td class="paramname">iopt</td><td>option flag<ul>
+<li>0 to compute earth coords of all the grid points</li>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">npts</td><td>maximum number of coordinates </td></tr>
+    <tr><td class="paramname">fill</td><td>fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramname">xpts</td><td>(npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">ypts</td><td>(npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">rlon</td><td>(npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramname">rlat</td><td>(npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramname">nret</td><td>number of valid points computed (-1 if projection unrecognized) </td></tr>
+    <tr><td class="paramname">crot</td><td>(npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramname">srot</td><td>(npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramname">xlon</td><td>(npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">xlat</td><td>(npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">ylon</td><td>(npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">ylat</td><td>(npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">area</td><td>(npts) area weights in m**2 (proportional to the square of the map factor in the case of conformal projections.)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Jovic </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016 </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="iplib__4_8h.html">iplib_4.h</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/iplib__4_8h.js b/ver-4.4.0/iplib__4_8h.js
new file mode 100644
index 00000000..a2de2916
--- /dev/null
+++ b/ver-4.4.0/iplib__4_8h.js
@@ -0,0 +1,5 @@
+var iplib__4_8h =
+[
+    [ "gdswzd", "iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53", null ],
+    [ "gdswzd_grib1", "iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/iplib__4_8h_source.html b/ver-4.4.0/iplib__4_8h_source.html
new file mode 100644
index 00000000..2a88fe41
--- /dev/null
+++ b/ver-4.4.0/iplib__4_8h_source.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: iplib_4.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('iplib__4_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">iplib_4.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="iplib__4_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#ifndef IPLIB</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define IPLIB</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">  146</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a>(<span class="keywordtype">int</span> igdtnum, <span class="keywordtype">int</span> *igdtmpl, <span class="keywordtype">int</span> igdtlen, <span class="keywordtype">int</span> iopt,</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;            <span class="keywordtype">int</span> npts, <span class="keywordtype">float</span> fill, <span class="keywordtype">float</span> *xpts, <span class="keywordtype">float</span> *ypts, </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;            <span class="keywordtype">float</span> *rlon, <span class="keywordtype">float</span> *rlat, <span class="keywordtype">int</span> *nret,</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            <span class="keywordtype">float</span> *crot, <span class="keywordtype">float</span> *srot, <span class="keywordtype">float</span> *xlon, <span class="keywordtype">float</span> *xlat,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;            <span class="keywordtype">float</span> *ylon, <span class="keywordtype">float</span> *ylat, <span class="keywordtype">float</span> *area);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1">  187</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1">gdswzd_grib1</a>(<span class="keywordtype">int</span> *kgds, <span class="keywordtype">int</span> iopt, <span class="keywordtype">int</span> npts, <span class="keywordtype">float</span> fill,</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          <span class="keywordtype">float</span> *xpts, <span class="keywordtype">float</span> *ypts, <span class="keywordtype">float</span> *rlon, <span class="keywordtype">float</span> *rlat,</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;          <span class="keywordtype">int</span> *nret, <span class="keywordtype">float</span> *crot, <span class="keywordtype">float</span> *srot,</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;          <span class="keywordtype">float</span> *xlon, <span class="keywordtype">float</span> *xlat, <span class="keywordtype">float</span> *ylon, <span class="keywordtype">float</span> *ylat, <span class="keywordtype">float</span> *area);</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+<div class="ttc" id="aiplib__4_8h_html_a7f2f96041c0d42926e14cb0f40f336e1"><div class="ttname"><a href="iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1">gdswzd_grib1</a></div><div class="ttdeci">void gdswzd_grib1(int *kgds, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd_grib1() interface for C for the _4 build of the library.</div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="iplib__4_8h.html">iplib_4.h</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/iplib__8_8h.html b/ver-4.4.0/iplib__8_8h.html
new file mode 100644
index 00000000..26b8f50c
--- /dev/null
+++ b/ver-4.4.0/iplib__8_8h.html
@@ -0,0 +1,516 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: iplib_8.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('iplib__8_8h.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">iplib_8.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>C interface to <a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4" title="gdswzd() interface for C for _8 build of library.">gdswzd()</a> and <a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93" title="gdswzd_grib1() interface for C for _8 build of the library.">gdswzd_grib1()</a> functions for '8' library build.  
+<a href="#details">More...</a></p>
+
+<p><a href="iplib__8_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:af41ad9a4b34f78d182a68b3d72b9bdf4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4">gdswzd</a> (long igdtnum, long *igdtmpl, long igdtlen, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area)</td></tr>
+<tr class="memdesc:af41ad9a4b34f78d182a68b3d72b9bdf4"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4" title="gdswzd() interface for C for _8 build of library.">gdswzd()</a> interface for C for _8 build of library.  <a href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4">More...</a><br /></td></tr>
+<tr class="separator:af41ad9a4b34f78d182a68b3d72b9bdf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8e46b623c66911913f66d314c15cc93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93">gdswzd_grib1</a> (long *kgds, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area)</td></tr>
+<tr class="memdesc:ab8e46b623c66911913f66d314c15cc93"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93" title="gdswzd_grib1() interface for C for _8 build of the library.">gdswzd_grib1()</a> interface for C for _8 build of the library.  <a href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93">More...</a><br /></td></tr>
+<tr class="separator:ab8e46b623c66911913f66d314c15cc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>C interface to <a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4" title="gdswzd() interface for C for _8 build of library.">gdswzd()</a> and <a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93" title="gdswzd_grib1() interface for C for _8 build of the library.">gdswzd_grib1()</a> functions for '8' library build. </p>
+<dl class="section author"><dt>Author</dt><dd>Jovic </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="iplib__8_8h_source.html">iplib_8.h</a>.</p>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="af41ad9a4b34f78d182a68b3d72b9bdf4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af41ad9a4b34f78d182a68b3d72b9bdf4">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void gdswzd </td>
+          <td>(</td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>igdtnum</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long *&#160;</td>
+          <td class="paramname"><em>igdtmpl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>igdtlen</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>iopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>npts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>fill</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xpts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ypts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long *&#160;</td>
+          <td class="paramname"><em>nret</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ylon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ylat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>area</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4" title="gdswzd() interface for C for _8 build of library.">gdswzd()</a> interface for C for _8 build of library. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">igdtnum</td><td>grid definition template number. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure.<ul>
+<li>00 equidistant cylindrical</li>
+<li>01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 mercator cyclindrical</li>
+<li>20 polar stereographic azimuthal</li>
+<li>30 lambert conformal conical</li>
+<li>40 gaussian equidistant cyclindrical </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">igdtmpl</td><td>(igdtlen) grid definition template array. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure for section three. all projections:<ul>
+<li>1 shape of earth, octet 15</li>
+<li>2 scale factor of spherical earth radius, octet 16</li>
+<li>3 scaled value of radius of spherical earth, octets 17-20</li>
+<li>4 scale factor of major axis of elliptical earth, octet 21</li>
+<li>5 scaled value of major axis of elliptical earth, octets 22-25</li>
+<li>6 scale factor of minor axis of elliptical earth, octet 26</li>
+<li>7 scaled value of minor axis of elliptical earth, octets 27-30 equidistant cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42.</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72 mercator cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 latitude of first point, octets 39-42</li>
+<li>11 longitude of first point, octets 43-46</li>
+<li>12 resolution and component flags, octet 47</li>
+<li>13 tangent latitude, octets 48-51</li>
+<li>14 latitude of last point, octets 52-55</li>
+<li>15 longitude of last point, octets 56-59</li>
+<li>16 scanning mode flags, octet 60</li>
+<li>17 orientation of grid, octets 61-64</li>
+<li>18 longitudinal grid length, octets 65-68</li>
+<li>19 latitudinal grid length, octets 69-72 Lambert conformal conical:</li>
+<li>8 number of points along x-axis, octs 31-34</li>
+<li>9 number of points along y-axis, octs 35-38</li>
+<li>10 latitude of first point, octets 39-42</li>
+<li>11 longitude of first point, octets 43-46</li>
+<li>12 resolution of component flag, octet 47</li>
+<li>13 latitude where grid lengths specified, octets 48-51</li>
+<li>14 longitude of meridian that is parallel to y-axis, octets 52-55</li>
+<li>15 x-direction grid length, octets 56-59</li>
+<li>16 y-direction grid length, octets 60-63</li>
+<li>17 projection center flag, octet 64</li>
+<li>18 scanning mode, octet 65</li>
+<li>19 first tangent latitude from pole, octets 66-69</li>
+<li>20 second tangent latitude from pole, octets 70-73</li>
+<li>21 latitude of south pole of projection, octets 74-77</li>
+<li>22 longitude of south pole of projection, octets 78-81 gaussian cylindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 number of parallels between pole and equator, octets 68-71</li>
+<li>19 scanning mode, octet 72 polar stereographic azimuthal:</li>
+<li>8 number of points along x-axis, octets 31-34</li>
+<li>9 number of points along y-axis, octets 35-38</li>
+<li>10 latitude of first grid point, octets 39-42</li>
+<li>11 longitude of first grid point, octets 43-46</li>
+<li>12 resolution and component flags, octet 47</li>
+<li>13 true latitude, octets 48-51</li>
+<li>14 orientation longitude, octets 52-55</li>
+<li>15 x-direction grid length, octets 56-59</li>
+<li>16 y-direction grid length, octets 60-63</li>
+<li>17 projection center flag, octet 64</li>
+<li>18 scanning mode flags, octet 65 rotated equidistant cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72</li>
+<li>20 latitude of southern pole of projection, octets 73-76</li>
+<li>21 longitude of southern pole of projection, octets 77-80</li>
+<li>22 angle of rotation of projection, octs 81-84 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">igdtlen</td><td>number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramname">iopt</td><td>option flag<ul>
+<li>0 to compute earth coords of all the grid points</li>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">npts</td><td>integer maximum number of coordinates </td></tr>
+    <tr><td class="paramname">fill</td><td>real fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramname">xpts</td><td>real (npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">ypts</td><td>real (npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">rlon</td><td>real (npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramname">rlat</td><td>real (npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramname">nret</td><td>number of valid points computed (-1 if projection unrecognized) </td></tr>
+    <tr><td class="paramname">crot</td><td>(npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramname">srot</td><td>(npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth, vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramname">xlon</td><td>(npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">xlat</td><td>(npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">ylon</td><td>(npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">ylat</td><td>(npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">area</td><td>(npts) area weights in m**2 (Proportional to the square of the map factor in the case of conformal projections.)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Jovic </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016 </dd></dl>
+
+</div>
+</div>
+<a id="ab8e46b623c66911913f66d314c15cc93"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab8e46b623c66911913f66d314c15cc93">&#9670;&nbsp;</a></span>gdswzd_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void gdswzd_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">long *&#160;</td>
+          <td class="paramname"><em>kgds</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>iopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>npts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>fill</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xpts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ypts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long *&#160;</td>
+          <td class="paramname"><em>nret</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ylon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ylat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>area</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93" title="gdswzd_grib1() interface for C for _8 build of the library.">gdswzd_grib1()</a> interface for C for _8 build of the library. </p>
+<p>This is a C prototype to call the Fortran module subroutine <a class="el" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504" title="C wrapper for routine gdswzd.">gdswzd_c_grib1()</a> for the _4 version of the library.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">kgds</td><td>(200) gds parameters as decoded by <a href="https://noaa-emc.github.io/NCEPLIBS-w3emc/w3fi63_8f.html">w3fi63</a>. </td></tr>
+    <tr><td class="paramname">iopt</td><td>option flag<ul>
+<li>0 to compute earth coords of all the grid points</li>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">npts</td><td>maximum number of coordinates </td></tr>
+    <tr><td class="paramname">fill</td><td>fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramname">xpts</td><td>(npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">ypts</td><td>(npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">rlon</td><td>(npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramname">rlat</td><td>(npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramname">nret</td><td>number of valid points computed (-1 if projection unrecognized) </td></tr>
+    <tr><td class="paramname">crot</td><td>(npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramname">srot</td><td>(npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramname">xlon</td><td>(npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">xlat</td><td>(npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">ylon</td><td>(npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">ylat</td><td>(npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">area</td><td>(npts) area weights in m**2 (proportional to the square of the map factor in the case of conformal projections.)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Jovic </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016 </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="iplib__8_8h.html">iplib_8.h</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/iplib__8_8h.js b/ver-4.4.0/iplib__8_8h.js
new file mode 100644
index 00000000..8ec13f88
--- /dev/null
+++ b/ver-4.4.0/iplib__8_8h.js
@@ -0,0 +1,5 @@
+var iplib__8_8h =
+[
+    [ "gdswzd", "iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4", null ],
+    [ "gdswzd_grib1", "iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/iplib__8_8h_source.html b/ver-4.4.0/iplib__8_8h_source.html
new file mode 100644
index 00000000..d9261117
--- /dev/null
+++ b/ver-4.4.0/iplib__8_8h_source.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: iplib_8.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('iplib__8_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">iplib_8.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="iplib__8_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#ifndef IPLIB</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define IPLIB</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4">  146</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4">gdswzd</a>(<span class="keywordtype">long</span> igdtnum, <span class="keywordtype">long</span> *igdtmpl, <span class="keywordtype">long</span> igdtlen, <span class="keywordtype">long</span> iopt,</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;            <span class="keywordtype">long</span> npts, <span class="keywordtype">double</span> fill, <span class="keywordtype">double</span> *xpts, <span class="keywordtype">double</span> *ypts, </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;            <span class="keywordtype">double</span> *rlon, <span class="keywordtype">double</span> *rlat, <span class="keywordtype">long</span> *nret,</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            <span class="keywordtype">double</span> *crot, <span class="keywordtype">double</span> *srot, <span class="keywordtype">double</span> *xlon, <span class="keywordtype">double</span> *xlat,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;            <span class="keywordtype">double</span> *ylon, <span class="keywordtype">double</span> *ylat, <span class="keywordtype">double</span> *area);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93">  187</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93">gdswzd_grib1</a>(<span class="keywordtype">long</span> *kgds, <span class="keywordtype">long</span> iopt, <span class="keywordtype">long</span> npts, <span class="keywordtype">double</span> fill,</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          <span class="keywordtype">double</span> *xpts, <span class="keywordtype">double</span> *ypts, <span class="keywordtype">double</span> *rlon, <span class="keywordtype">double</span> *rlat,</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;          <span class="keywordtype">long</span> *nret, <span class="keywordtype">double</span> *crot, <span class="keywordtype">double</span> *srot,</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;          <span class="keywordtype">double</span> *xlon, <span class="keywordtype">double</span> *xlat, <span class="keywordtype">double</span> *ylon, <span class="keywordtype">double</span> *ylat, <span class="keywordtype">double</span> *area);</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aiplib__8_8h_html_ab8e46b623c66911913f66d314c15cc93"><div class="ttname"><a href="iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93">gdswzd_grib1</a></div><div class="ttdeci">void gdswzd_grib1(long *kgds, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area)</div><div class="ttdoc">gdswzd_grib1() interface for C for _8 build of the library.</div></div>
+<div class="ttc" id="aiplib__8_8h_html_af41ad9a4b34f78d182a68b3d72b9bdf4"><div class="ttname"><a href="iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4">gdswzd</a></div><div class="ttdeci">void gdswzd(long igdtnum, long *igdtmpl, long igdtlen, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area)</div><div class="ttdoc">gdswzd() interface for C for _8 build of library.</div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="iplib__8_8h.html">iplib_8.h</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/iplib__d_8h.html b/ver-4.4.0/iplib__d_8h.html
new file mode 100644
index 00000000..8790e532
--- /dev/null
+++ b/ver-4.4.0/iplib__d_8h.html
@@ -0,0 +1,516 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: iplib_d.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('iplib__d_8h.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">iplib_d.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>C interface to <a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e" title="gdswzd() interface for C for _d build of library.">gdswzd()</a> and <a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691" title="gdswzd_grib1() interface for C for _d build of the library.">gdswzd_grib1()</a> functions for 'd' library build.  
+<a href="#details">More...</a></p>
+
+<p><a href="iplib__d_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ac919f31612096fd6a7547a425ab3d38e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e">gdswzd</a> (int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area)</td></tr>
+<tr class="memdesc:ac919f31612096fd6a7547a425ab3d38e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e" title="gdswzd() interface for C for _d build of library.">gdswzd()</a> interface for C for _d build of library.  <a href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e">More...</a><br /></td></tr>
+<tr class="separator:ac919f31612096fd6a7547a425ab3d38e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac33340cba2ac7b42dd9b9116fc28d691"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691">gdswzd_grib1</a> (int *kgds, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area)</td></tr>
+<tr class="memdesc:ac33340cba2ac7b42dd9b9116fc28d691"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691" title="gdswzd_grib1() interface for C for _d build of the library.">gdswzd_grib1()</a> interface for C for _d build of the library.  <a href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691">More...</a><br /></td></tr>
+<tr class="separator:ac33340cba2ac7b42dd9b9116fc28d691"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>C interface to <a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e" title="gdswzd() interface for C for _d build of library.">gdswzd()</a> and <a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691" title="gdswzd_grib1() interface for C for _d build of the library.">gdswzd_grib1()</a> functions for 'd' library build. </p>
+<dl class="section author"><dt>Author</dt><dd>Jovic </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="iplib__d_8h_source.html">iplib_d.h</a>.</p>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ac919f31612096fd6a7547a425ab3d38e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac919f31612096fd6a7547a425ab3d38e">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void gdswzd </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>igdtnum</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>igdtmpl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>igdtlen</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>iopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>npts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>fill</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xpts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ypts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>nret</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ylon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ylat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>area</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e" title="gdswzd() interface for C for _d build of library.">gdswzd()</a> interface for C for _d build of library. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">igdtnum</td><td>grid definition template number. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure.<ul>
+<li>00 equidistant cylindrical</li>
+<li>01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 mercator cyclindrical</li>
+<li>20 polar stereographic azimuthal</li>
+<li>30 lambert conformal conical</li>
+<li>40 gaussian equidistant cyclindrical </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">igdtmpl</td><td>(igdtlen) grid definition template array. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure for section three. all projections:<ul>
+<li>1 shape of earth, octet 15</li>
+<li>2 scale factor of spherical earth radius, octet 16</li>
+<li>3 scaled value of radius of spherical earth, octets 17-20</li>
+<li>4 scale factor of major axis of elliptical earth, octet 21</li>
+<li>5 scaled value of major axis of elliptical earth, octets 22-25</li>
+<li>6 scale factor of minor axis of elliptical earth, octet 26</li>
+<li>7 scaled value of minor axis of elliptical earth, octets 27-30 equidistant cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42.</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72 mercator cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 latitude of first point, octets 39-42</li>
+<li>11 longitude of first point, octets 43-46</li>
+<li>12 resolution and component flags, octet 47</li>
+<li>13 tangent latitude, octets 48-51</li>
+<li>14 latitude of last point, octets 52-55</li>
+<li>15 longitude of last point, octets 56-59</li>
+<li>16 scanning mode flags, octet 60</li>
+<li>17 orientation of grid, octets 61-64</li>
+<li>18 longitudinal grid length, octets 65-68</li>
+<li>19 latitudinal grid length, octets 69-72 Lambert conformal conical:</li>
+<li>8 number of points along x-axis, octs 31-34</li>
+<li>9 number of points along y-axis, octs 35-38</li>
+<li>10 latitude of first point, octets 39-42</li>
+<li>11 longitude of first point, octets 43-46</li>
+<li>12 resolution of component flag, octet 47</li>
+<li>13 latitude where grid lengths specified, octets 48-51</li>
+<li>14 longitude of meridian that is parallel to y-axis, octets 52-55</li>
+<li>15 x-direction grid length, octets 56-59</li>
+<li>16 y-direction grid length, octets 60-63</li>
+<li>17 projection center flag, octet 64</li>
+<li>18 scanning mode, octet 65</li>
+<li>19 first tangent latitude from pole, octets 66-69</li>
+<li>20 second tangent latitude from pole, octets 70-73</li>
+<li>21 latitude of south pole of projection, octets 74-77</li>
+<li>22 longitude of south pole of projection, octets 78-81 gaussian cylindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 number of parallels between pole and equator, octets 68-71</li>
+<li>19 scanning mode, octet 72 polar stereographic azimuthal:</li>
+<li>8 number of points along x-axis, octets 31-34</li>
+<li>9 number of points along y-axis, octets 35-38</li>
+<li>10 latitude of first grid point, octets 39-42</li>
+<li>11 longitude of first grid point, octets 43-46</li>
+<li>12 resolution and component flags, octet 47</li>
+<li>13 true latitude, octets 48-51</li>
+<li>14 orientation longitude, octets 52-55</li>
+<li>15 x-direction grid length, octets 56-59</li>
+<li>16 y-direction grid length, octets 60-63</li>
+<li>17 projection center flag, octet 64</li>
+<li>18 scanning mode flags, octet 65 rotated equidistant cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72</li>
+<li>20 latitude of southern pole of projection, octets 73-76</li>
+<li>21 longitude of southern pole of projection, octets 77-80</li>
+<li>22 angle of rotation of projection, octs 81-84 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">igdtlen</td><td>number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramname">iopt</td><td>option flag<ul>
+<li>0 to compute earth coords of all the grid points</li>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">npts</td><td>integer maximum number of coordinates </td></tr>
+    <tr><td class="paramname">fill</td><td>real fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramname">xpts</td><td>real (npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">ypts</td><td>real (npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">rlon</td><td>real (npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramname">rlat</td><td>real (npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramname">nret</td><td>number of valid points computed (-1 if projection unrecognized) </td></tr>
+    <tr><td class="paramname">crot</td><td>(npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramname">srot</td><td>(npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth, vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramname">xlon</td><td>(npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">xlat</td><td>(npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">ylon</td><td>(npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">ylat</td><td>(npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">area</td><td>(npts) area weights in m**2 (Proportional to the square of the map factor in the case of conformal projections.)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Jovic </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016 </dd></dl>
+
+</div>
+</div>
+<a id="ac33340cba2ac7b42dd9b9116fc28d691"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac33340cba2ac7b42dd9b9116fc28d691">&#9670;&nbsp;</a></span>gdswzd_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void gdswzd_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>kgds</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>iopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>npts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>fill</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xpts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ypts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>nret</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>xlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ylon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>ylat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>area</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691" title="gdswzd_grib1() interface for C for _d build of the library.">gdswzd_grib1()</a> interface for C for _d build of the library. </p>
+<p>This is a C prototype to call the Fortran module subroutine <a class="el" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504" title="C wrapper for routine gdswzd.">gdswzd_c_grib1()</a> for the _4 version of the library.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">kgds</td><td>(200) gds parameters as decoded by <a href="https://noaa-emc.github.io/NCEPLIBS-w3emc/w3fi63_8f.html">w3fi63</a>. </td></tr>
+    <tr><td class="paramname">iopt</td><td>option flag<ul>
+<li>0 to compute earth coords of all the grid points</li>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">npts</td><td>maximum number of coordinates </td></tr>
+    <tr><td class="paramname">fill</td><td>fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramname">xpts</td><td>(npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">ypts</td><td>(npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramname">rlon</td><td>(npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramname">rlat</td><td>(npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramname">nret</td><td>number of valid points computed (-1 if projection unrecognized) </td></tr>
+    <tr><td class="paramname">crot</td><td>(npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramname">srot</td><td>(npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramname">xlon</td><td>(npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">xlat</td><td>(npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">ylon</td><td>(npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramname">ylat</td><td>(npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramname">area</td><td>(npts) area weights in m**2 (proportional to the square of the map factor in the case of conformal projections.)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Jovic </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016 </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="iplib__d_8h.html">iplib_d.h</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/iplib__d_8h.js b/ver-4.4.0/iplib__d_8h.js
new file mode 100644
index 00000000..3bc76200
--- /dev/null
+++ b/ver-4.4.0/iplib__d_8h.js
@@ -0,0 +1,5 @@
+var iplib__d_8h =
+[
+    [ "gdswzd", "iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e", null ],
+    [ "gdswzd_grib1", "iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/iplib__d_8h_source.html b/ver-4.4.0/iplib__d_8h_source.html
new file mode 100644
index 00000000..10bf8ea7
--- /dev/null
+++ b/ver-4.4.0/iplib__d_8h_source.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: iplib_d.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('iplib__d_8h_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">iplib_d.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="iplib__d_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#ifndef IPLIB</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define IPLIB</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e">  146</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e">gdswzd</a>(<span class="keywordtype">int</span> igdtnum, <span class="keywordtype">int</span> *igdtmpl, <span class="keywordtype">int</span> igdtlen, <span class="keywordtype">int</span> iopt, </div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;            <span class="keywordtype">int</span> npts, <span class="keywordtype">double</span> fill, <span class="keywordtype">double</span> *xpts, <span class="keywordtype">double</span> *ypts,</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;            <span class="keywordtype">double</span> *rlon, <span class="keywordtype">double</span> *rlat, <span class="keywordtype">int</span> *nret,</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            <span class="keywordtype">double</span> *crot, <span class="keywordtype">double</span> *srot, <span class="keywordtype">double</span> *xlon, <span class="keywordtype">double</span> *xlat,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;            <span class="keywordtype">double</span> *ylon, <span class="keywordtype">double</span> *ylat, <span class="keywordtype">double</span> *area);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691">  187</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691">gdswzd_grib1</a>(<span class="keywordtype">int</span> *kgds, <span class="keywordtype">int</span> iopt, <span class="keywordtype">int</span> npts, <span class="keywordtype">double</span> fill,</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          <span class="keywordtype">double</span> *xpts, <span class="keywordtype">double</span> *ypts, <span class="keywordtype">double</span> *rlon, <span class="keywordtype">double</span> *rlat,</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;          <span class="keywordtype">int</span> *nret, <span class="keywordtype">double</span> *crot, <span class="keywordtype">double</span> *srot,</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;          <span class="keywordtype">double</span> *xlon, <span class="keywordtype">double</span> *xlat, <span class="keywordtype">double</span> *ylon, <span class="keywordtype">double</span> *ylat, <span class="keywordtype">double</span> *area);</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aiplib__d_8h_html_ac33340cba2ac7b42dd9b9116fc28d691"><div class="ttname"><a href="iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691">gdswzd_grib1</a></div><div class="ttdeci">void gdswzd_grib1(int *kgds, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area)</div><div class="ttdoc">gdswzd_grib1() interface for C for _d build of the library.</div></div>
+<div class="ttc" id="aiplib__d_8h_html_ac919f31612096fd6a7547a425ab3d38e"><div class="ttname"><a href="iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area)</div><div class="ttdoc">gdswzd() interface for C for _d build of library.</div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="iplib__d_8h.html">iplib_d.h</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipolates_8F90.html b/ver-4.4.0/ipolates_8F90.html
new file mode 100644
index 00000000..1ef53c81
--- /dev/null
+++ b/ver-4.4.0/ipolates_8F90.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipolates.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipolates_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ipolates.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Top-level driver for scalar interpolation routine ipolates().  
+<a href="#details">More...</a></p>
+
+<p><a href="ipolates_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolates__mod_1_1ipolates.html">ipolates_mod::ipolates</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceipolates__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html">ipolates_mod</a></td></tr>
+<tr class="memdesc:namespaceipolates__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top-level driver for scalar interpolation interpolation routine ipolates(). <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:acb5408cf5c3a0f50326edc183f9bd269"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">ipolates_mod::ipolates_grib1</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</td></tr>
+<tr class="memdesc:acb5408cf5c3a0f50326edc183f9bd269"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates scalar field from any grid to any grid given a grib1 Grid Descriptor Section.  <a href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">More...</a><br /></td></tr>
+<tr class="separator:acb5408cf5c3a0f50326edc183f9bd269"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70a9ca9871bb33e038782b036b7b53d"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">ipolates_mod::ipolates_grib1_single_field</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</td></tr>
+<tr class="memdesc:ae70a9ca9871bb33e038782b036b7b53d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special case of ipolates_grib1 when interpolating a single field.  <a href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">More...</a><br /></td></tr>
+<tr class="separator:ae70a9ca9871bb33e038782b036b7b53d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b2ea6d5b04d2a68baad261e7a409fac"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">ipolates_mod::ipolates_grib2</a> (IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a6b2ea6d5b04d2a68baad261e7a409fac"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates scalar field from any grid to any grid given a grib2 descriptor.  <a href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">More...</a><br /></td></tr>
+<tr class="separator:a6b2ea6d5b04d2a68baad261e7a409fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49541b2af75b7c037a863a4785726856"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">ipolates_mod::ipolates_grib2_single_field</a> (IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a49541b2af75b7c037a863a4785726856"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special case of ipolates_grib2 when interpolating a single field.  <a href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">More...</a><br /></td></tr>
+<tr class="separator:a49541b2af75b7c037a863a4785726856"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2761e20fab898e7fd9963f3e0eb5d104"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_mod::ipolates_grid</a> (ip, ipopt, grid_in, grid_out, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</td></tr>
+<tr class="memdesc:a2761e20fab898e7fd9963f3e0eb5d104"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolates scalar fields between grids given ip_grid objects.  <a href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">More...</a><br /></td></tr>
+<tr class="separator:a2761e20fab898e7fd9963f3e0eb5d104"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Top-level driver for scalar interpolation routine ipolates(). </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipolates_8F90.html">ipolates.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipolates_8F90.js b/ver-4.4.0/ipolates_8F90.js
new file mode 100644
index 00000000..7387fc3c
--- /dev/null
+++ b/ver-4.4.0/ipolates_8F90.js
@@ -0,0 +1,9 @@
+var ipolates_8F90 =
+[
+    [ "ipolates", "interfaceipolates__mod_1_1ipolates.html", "interfaceipolates__mod_1_1ipolates" ],
+    [ "ipolates_grib1", "ipolates_8F90.html#acb5408cf5c3a0f50326edc183f9bd269", null ],
+    [ "ipolates_grib1_single_field", "ipolates_8F90.html#ae70a9ca9871bb33e038782b036b7b53d", null ],
+    [ "ipolates_grib2", "ipolates_8F90.html#a6b2ea6d5b04d2a68baad261e7a409fac", null ],
+    [ "ipolates_grib2_single_field", "ipolates_8F90.html#a49541b2af75b7c037a863a4785726856", null ],
+    [ "ipolates_grid", "ipolates_8F90.html#a2761e20fab898e7fd9963f3e0eb5d104", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ipolates_8F90_source.html b/ver-4.4.0/ipolates_8F90_source.html
new file mode 100644
index 00000000..894c1b4e
--- /dev/null
+++ b/ver-4.4.0/ipolates_8F90_source.html
@@ -0,0 +1,398 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipolates.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipolates_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ipolates.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ipolates_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="namespaceipolates__mod.html">   12</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceipolates__mod.html">ipolates_mod</a></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a>, <span class="keywordtype">only</span>: <a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfaceipolates__mod_1_1ipolates.html">ipolates</a>, <a class="code" href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">ipolates_grib2</a>, <a class="code" href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">ipolates_grib1_single_field</a>, <a class="code" href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">ipolates_grib1</a>, <a class="code" href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">ipolates_grib2_single_field</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="interfaceipolates__mod_1_1ipolates.html">   23</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfaceipolates__mod_1_1ipolates.html">ipolates</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">ipolates_grib1</a></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">ipolates_grib1_single_field</a></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">ipolates_grib2</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">ipolates_grib2_single_field</a></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfaceipolates__mod_1_1ipolates.html">ipolates</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">   63</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_grid</a>(ip, ipopt, grid_in, grid_out, mi, mo, km,&amp;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;       &amp; ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keywordtype">INTEGER</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordtype">INTEGER</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM)</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordtype">INTEGER</span>,    <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordtype">INTEGER</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,  <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,  <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keywordflow">select case</span>(ip)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">bilinear_interp_id</a>)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;       <span class="keyword">CALL </span>interpolate_bilinear(ipopt,grid_in,grid_out,mi,mo,km,ibi&amp;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;            &amp;,li,gi,no,rlat,rlon,ibo,lo,go,iret)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">bicubic_interp_id</a>)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;       <span class="keyword">CALL </span>interpolate_bicubic(ipopt,grid_in,grid_out,mi,mo,km,ibi&amp;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;            &amp;,li,gi,no,rlat,rlon,ibo,lo,go,iret)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">neighbor_interp_id</a>)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;       <span class="keyword">CALL </span>interpolate_neighbor(ipopt,grid_in,grid_out,mi,mo,km,ibi&amp;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;            &amp;,li,gi,no,rlat,rlon,ibo,lo,go,iret)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">budget_interp_id</a>)</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;       <span class="keyword">CALL </span>interpolate_budget(ipopt,grid_in,grid_out,mi,mo,km,ibi,li&amp;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;            &amp;,gi,no,rlat,rlon,ibo,lo,go,iret)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">spectral_interp_id</a>)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;       <span class="keyword">CALL </span>interpolate_spectral(ipopt,grid_in,grid_out,mi,mo,km,ibi&amp;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;            &amp;,gi,no,rlat,rlon,ibo,lo,go,iret)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">neighbor_budget_interp_id</a>)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;       <span class="keyword">CALL </span>interpolate_neighbor_budget(ipopt,grid_in,grid_out,mi,mo&amp;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;            &amp;,km,ibi,li,gi,no,rlat,rlon,ibo,lo,go,iret)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordflow">    case default</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;       <span class="comment">! IF(KGDSO(1).GE.0) NO=0</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;       <span class="comment">! DO K=1,KM</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;       <span class="comment">!    IBO(K)=1</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;       <span class="comment">!    DO N=1,NO</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;       <span class="comment">!       LO(N,K)=.FALSE.</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;       <span class="comment">!       GO(N,K)=0.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;       <span class="comment">!    ENDDO</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;       <span class="comment">! ENDDO</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;       iret=1</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;       print *, <span class="stringliteral">&quot;Unrecognized interp option: &quot;</span>, ip</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;       error stop</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_grid</a></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d">  158</a></span>&#160;   <span class="keyword">subroutine </span><a class="code" href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">ipolates_grib1_single_field</a>(ip,ipopt,kgdsi,kgdso,mi,mo,km,ibi,li,gi, &amp;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;       no,rlat,rlon,ibo,lo,go,iret) <span class="keyword">bind(c)</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keywordtype">USE </span>iso_c_binding, <span class="keywordtype">ONLY</span>: c_int, c_float, c_double, c_bool, c_long</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_LONG)</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IBI, KGDSI(200), KGDSO(200)</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,    <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_INT)</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IBI, KGDSI(200), KGDSO(200)</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,    <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,  <span class="keywordtype">INTENT(IN   )</span> :: LI(MI)</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,  <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO)</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(IN   )</span> :: GI(MI)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO)</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(IN   )</span> :: GI(MI)</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO)</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordtype">integer</span> :: ibo_array(1)</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdsi)</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdso)</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160; </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="comment">! Can&#39;t pass expression (e.g. [ibo]) to intent(out) argument.</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="comment">! Initialize placeholder array of size 1 to make rank match.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    ibo_array(1) = ibo</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keyword">call </span><a class="code" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_grid</a>(ip, ipopt, grid_in, grid_out, mi, mo, km, [ibi], li, gi, no, rlat, rlon, ibo_array, lo, go, iret)</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160; </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    ibo = ibo_array(1)</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160; </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">ipolates_grib1_single_field</a></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160; </div>
+<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b">  293</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">ipolates_grib1</a>(ip,ipopt,kgdsi,kgdso,mi,mo,km,ibi,li,gi, &amp;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;       no,rlat,rlon,ibo,lo,go,iret) <span class="keyword">bind(c)</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordtype">USE </span>iso_c_binding, <span class="keywordtype">ONLY</span>: c_int, c_float, c_double, c_bool, c_long</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_LONG)</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM), KGDSI(200), KGDSO(200)</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,    <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_INT)</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,    <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM), KGDSI(200), KGDSO(200)</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,    <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,    <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,  <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,  <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160; </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160; </div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdsi)</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdso)</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160; </div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160; </div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    <span class="keyword">call </span><a class="code" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_grid</a>(ip, ipopt, grid_in, grid_out, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160; </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">ipolates_grib1</a></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  </div>
+<div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b">  587</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">ipolates_grib2</a>(IP,IPOPT,IGDTNUMI,IGDTMPLI,IGDTLENI, &amp;</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;       IGDTNUMO,IGDTMPLO,IGDTLENO, &amp;</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;       MI,MO,KM,IBI,LI,GI, &amp;</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;       NO,RLAT,RLON,IBO,LO,GO,IRET) <span class="keyword">bind(C)</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <span class="keywordtype">USE </span>iso_c_binding, <span class="keywordtype">ONLY</span>: c_int, c_float, c_double, c_bool, c_long</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IP, IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IBI(KM)</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(  OUT)</span>     :: NO</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(  OUT)</span>     :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IP, IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IBI(KM)</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(  OUT)</span>     :: NO</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(  OUT)</span>     :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,      <span class="keywordtype">INTENT(IN   )</span>     :: LI(MI,KM)</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,      <span class="keywordtype">INTENT(  OUT)</span>     :: LO(MO,KM)</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="preprocessor"></span> </div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160; </div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumi, igdtleni, igdtmpli)</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumo, igdtleno, igdtmplo)</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160; </div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160; </div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    <span class="keyword">CALL </span><a class="code" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_grid</a>(ip,ipopt,grid_in,grid_out,mi,mo,km,ibi,li,gi,no,rlat,rlon,ibo,lo,go,iret)</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160; </div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">ipolates_grib2</a></div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160; </div>
+<div class="line"><a name="l00808"></a><span class="lineno"><a class="line" href="interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240">  808</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">ipolates_grib2_single_field</a>(IP,IPOPT,IGDTNUMI,IGDTMPLI,IGDTLENI, &amp;</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;       IGDTNUMO,IGDTMPLO,IGDTLENO, &amp;</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;       MI,MO,KM,IBI,LI,GI, &amp;</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;       NO,RLAT,RLON,IBO,LO,GO,IRET) <span class="keyword">bind(C)</span></div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    <span class="keywordtype">USE </span>iso_c_binding, <span class="keywordtype">ONLY</span>: c_int, c_float, c_double, c_bool, c_long</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IP, IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IBI</div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(  OUT)</span>     :: NO</div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,        <span class="keywordtype">INTENT(  OUT)</span>     :: IRET, IBO</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IP, IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IBI</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(IN   )</span>     :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(  OUT)</span>     :: NO</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,        <span class="keywordtype">INTENT(  OUT)</span>     :: IRET, IBO</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,      <span class="keywordtype">INTENT(IN   )</span>     :: LI(MI)</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,      <span class="keywordtype">INTENT(  OUT)</span>     :: LO(MO)</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(IN   )</span> :: GI(MI)</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),       <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO)</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(IN   )</span> :: GI(MI)</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),       <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO)</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;<span class="preprocessor"></span> </div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keywordtype">integer</span> :: ibo_array(1)</div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160; </div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumi, igdtleni, igdtmpli)</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumo, igdtleno, igdtmplo)</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160; </div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160; </div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <span class="comment">! Can&#39;t pass expression (e.g. [ibo]) to intent(out) argument.</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;    <span class="comment">! Initialize placeholder array of size 1 to make rank match.</span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;    ibo_array(1) = ibo</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160; </div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;    <span class="keyword">call </span><a class="code" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_grid</a>(ip,ipopt,grid_in,grid_out,mi,mo,km,[ibi],li,gi,no,rlat,rlon,ibo_array,lo,go,iret)</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160; </div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    ibo = ibo_array(1)</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160; </div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">ipolates_grib2_single_field</a></div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160; </div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceipolates__mod.html">ipolates_mod</a></div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160; </div>
+<div class="ttc" id="ainterfaceip__grid__descriptor__mod_1_1init__descriptor_html"><div class="ttname"><a href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">ip_grid_descriptor_mod::init_descriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00060">ip_grid_descriptor_mod.F90:60</a></div></div>
+<div class="ttc" id="ainterfaceip__grid__factory__mod_1_1init__grid_html"><div class="ttname"><a href="interfaceip__grid__factory__mod_1_1init__grid.html">ip_grid_factory_mod::init_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00020">ip_grid_factory_mod.F90:20</a></div></div>
+<div class="ttc" id="ainterfaceipolates__mod_1_1ipolates_html"><div class="ttname"><a href="interfaceipolates__mod_1_1ipolates.html">ipolates_mod::ipolates</a></div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00023">ipolates.F90:23</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html"><div class="ttname"><a href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div><div class="ttdoc">Routines for creating an ip_grid given a Grib descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00011">ip_grid_factory_mod.F90:11</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html"><div class="ttname"><a href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></div><div class="ttdoc">Top-level module to export interpolation routines and constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00007">ip_interpolators_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a35e5fe3a2dd79d205c0503f550388258"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">ip_interpolators_mod::neighbor_interp_id</a></div><div class="ttdeci">integer, parameter, public neighbor_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00021">ip_interpolators_mod.F90:21</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a753e4b6c113a9a8b226c3c834786f3e1"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">ip_interpolators_mod::bilinear_interp_id</a></div><div class="ttdeci">integer, parameter, public bilinear_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00017">ip_interpolators_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a7df843ca4a64e3178f448aebf7dad359"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">ip_interpolators_mod::budget_interp_id</a></div><div class="ttdeci">integer, parameter, public budget_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00023">ip_interpolators_mod.F90:23</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a83ba2963a0b686c6ae67b53f9c385851"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">ip_interpolators_mod::spectral_interp_id</a></div><div class="ttdeci">integer, parameter, public spectral_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00025">ip_interpolators_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_adfdc7760718083d85618df85320c495e"><div class="ttname"><a href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">ip_interpolators_mod::bicubic_interp_id</a></div><div class="ttdeci">integer, parameter, public bicubic_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00019">ip_interpolators_mod.F90:19</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_ae77a1da241f5de94f1874004ee8e715c"><div class="ttname"><a href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">ip_interpolators_mod::neighbor_budget_interp_id</a></div><div class="ttdeci">integer, parameter, public neighbor_budget_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00027">ip_interpolators_mod.F90:27</a></div></div>
+<div class="ttc" id="anamespaceipolates__mod_html"><div class="ttname"><a href="namespaceipolates__mod.html">ipolates_mod</a></div><div class="ttdoc">Top-level driver for scalar interpolation interpolation routine ipolates().</div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00012">ipolates.F90:12</a></div></div>
+<div class="ttc" id="anamespaceipolates__mod_html_a2761e20fab898e7fd9963f3e0eb5d104"><div class="ttname"><a href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_mod::ipolates_grid</a></div><div class="ttdeci">subroutine ipolates_grid(ip, ipopt, grid_in, grid_out, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</div><div class="ttdoc">Interpolates scalar fields between grids given ip_grid objects.</div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00063">ipolates.F90:65</a></div></div>
+<div class="ttc" id="anamespaceipolates__mod_html_a49541b2af75b7c037a863a4785726856"><div class="ttname"><a href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">ipolates_mod::ipolates_grib2_single_field</a></div><div class="ttdeci">subroutine, public ipolates_grib2_single_field(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">Special case of ipolates_grib2 when interpolating a single field.</div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00808">ipolates.F90:812</a></div></div>
+<div class="ttc" id="anamespaceipolates__mod_html_a6b2ea6d5b04d2a68baad261e7a409fac"><div class="ttname"><a href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">ipolates_mod::ipolates_grib2</a></div><div class="ttdeci">subroutine, public ipolates_grib2(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">This subprogram interpolates scalar field from any grid to any grid given a grib2 descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00587">ipolates.F90:591</a></div></div>
+<div class="ttc" id="anamespaceipolates__mod_html_acb5408cf5c3a0f50326edc183f9bd269"><div class="ttname"><a href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">ipolates_mod::ipolates_grib1</a></div><div class="ttdeci">subroutine, public ipolates_grib1(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</div><div class="ttdoc">This subprogram interpolates scalar field from any grid to any grid given a grib1 Grid Descriptor Sec...</div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00293">ipolates.F90:295</a></div></div>
+<div class="ttc" id="anamespaceipolates__mod_html_ae70a9ca9871bb33e038782b036b7b53d"><div class="ttname"><a href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">ipolates_mod::ipolates_grib1_single_field</a></div><div class="ttdeci">subroutine, public ipolates_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</div><div class="ttdoc">Special case of ipolates_grib1 when interpolating a single field.</div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00158">ipolates.F90:160</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib2__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></div><div class="ttdoc">Grib-2 descriptor containing a grib2 GDT represented by an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00047">ip_grid_descriptor_mod.F90:47</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipolates_8F90.html">ipolates.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipolatev_8F90.html b/ver-4.4.0/ipolatev_8F90.html
new file mode 100644
index 00000000..fba8d8cb
--- /dev/null
+++ b/ver-4.4.0/ipolatev_8F90.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipolatev.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipolatev_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ipolatev.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Top-level driver for vector interpolation routine ipolates.  
+<a href="#details">More...</a></p>
+
+<p><a href="ipolatev_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html">ipolatev_mod::ipolatev</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceipolatev__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html">ipolatev_mod</a></td></tr>
+<tr class="memdesc:namespaceipolatev__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top-level driver for vector interpolation interpolation routine ipolatev(). <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:abddc4a9b00133b358443b118f1352d1f"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">ipolatev_mod::ipolatev_grib1</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:abddc4a9b00133b358443b118f1352d1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates vector field from any grid to any grid given a grib1 Grid Descriptor Section.  <a href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">More...</a><br /></td></tr>
+<tr class="separator:abddc4a9b00133b358443b118f1352d1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad535ffd159c46e770effd774aabede58"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">ipolatev_mod::ipolatev_grib1_single_field</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:ad535ffd159c46e770effd774aabede58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special case of ipolatev_grib1 when interpolating a single field.  <a href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">More...</a><br /></td></tr>
+<tr class="separator:ad535ffd159c46e770effd774aabede58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00fed53dd867a802b3adbc1141e8d272"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">ipolatev_mod::ipolatev_grib2</a> (ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:a00fed53dd867a802b3adbc1141e8d272"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor.  <a href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">More...</a><br /></td></tr>
+<tr class="separator:a00fed53dd867a802b3adbc1141e8d272"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71d7507e8f89e1229caaaacb37e0c9c7"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">ipolatev_mod::ipolatev_grib2_single_field</a> (ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:a71d7507e8f89e1229caaaacb37e0c9c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor.  <a href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">More...</a><br /></td></tr>
+<tr class="separator:a71d7507e8f89e1229caaaacb37e0c9c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f3bfec7495e13b75b2035e8e1f081a1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_mod::ipolatev_grid</a> (IP, IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a8f3bfec7495e13b75b2035e8e1f081a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolates vector fields between grids given ip_grid objects.  <a href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">More...</a><br /></td></tr>
+<tr class="separator:a8f3bfec7495e13b75b2035e8e1f081a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Top-level driver for vector interpolation routine ipolates. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipolatev_8F90.html">ipolatev.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipolatev_8F90.js b/ver-4.4.0/ipolatev_8F90.js
new file mode 100644
index 00000000..ecf26618
--- /dev/null
+++ b/ver-4.4.0/ipolatev_8F90.js
@@ -0,0 +1,9 @@
+var ipolatev_8F90 =
+[
+    [ "ipolatev", "interfaceipolatev__mod_1_1ipolatev.html", "interfaceipolatev__mod_1_1ipolatev" ],
+    [ "ipolatev_grib1", "ipolatev_8F90.html#abddc4a9b00133b358443b118f1352d1f", null ],
+    [ "ipolatev_grib1_single_field", "ipolatev_8F90.html#ad535ffd159c46e770effd774aabede58", null ],
+    [ "ipolatev_grib2", "ipolatev_8F90.html#a00fed53dd867a802b3adbc1141e8d272", null ],
+    [ "ipolatev_grib2_single_field", "ipolatev_8F90.html#a71d7507e8f89e1229caaaacb37e0c9c7", null ],
+    [ "ipolatev_grid", "ipolatev_8F90.html#a8f3bfec7495e13b75b2035e8e1f081a1", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ipolatev_8F90_source.html b/ver-4.4.0/ipolatev_8F90_source.html
new file mode 100644
index 00000000..db806d89
--- /dev/null
+++ b/ver-4.4.0/ipolatev_8F90_source.html
@@ -0,0 +1,451 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipolatev.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipolatev_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ipolatev.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ipolatev_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="namespaceipolatev__mod.html">   10</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceipolatev__mod.html">ipolatev_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfaceipolatev__mod_1_1ipolatev.html">ipolatev</a>, <a class="code" href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">ipolatev_grib2</a>, <a class="code" href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">ipolatev_grib1_single_field</a>, <a class="code" href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">ipolatev_grib1</a>, <a class="code" href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">ipolatev_grib2_single_field</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
+<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="interfaceipolatev__mod_1_1ipolatev.html">   21</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfaceipolatev__mod_1_1ipolatev.html">ipolatev</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">ipolatev_grib1</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">ipolatev_grib1_single_field</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">ipolatev_grib2</a></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">ipolatev_grib2_single_field</a></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfaceipolatev__mod_1_1ipolatev.html">ipolatev</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">   67</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_grid</a>(IP,IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;       MI,MO,KM,IBI,LI,UI,VI, &amp;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;       NO,RLAT,RLON,CROT,SROT,IBO,LO,UO,VO,IRET)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IBO(KM), IRET, NO</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,             <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordflow">select case</span>(ip)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">bilinear_interp_id</a>)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;       <span class="keyword">CALL </span>interpolate_bilinear(ipopt,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            mi,mo,km,ibi,li,ui,vi,&amp;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;            no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">bicubic_interp_id</a>)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;       <span class="keyword">CALL </span>interpolate_bicubic(ipopt,grid_in,grid_out,mi,mo,km,ibi,li,ui,vi,&amp;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;            no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">neighbor_interp_id</a>)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;       <span class="keyword">CALL </span>interpolate_neighbor(ipopt,grid_in,grid_out,mi,mo,km,ibi,li,ui,vi,&amp;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;            no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">budget_interp_id</a>)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;       <span class="keyword">CALL </span>interpolate_budget(ipopt,grid_in,grid_out,mi,mo,km,ibi,li,ui,vi,&amp;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;            no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">spectral_interp_id</a>)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;       <span class="keyword">CALL </span>interpolate_spectral(ipopt,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;            mi,mo,km,ibi,ui,vi,&amp;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;            no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordflow">case</span>(<a class="code" href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">neighbor_budget_interp_id</a>)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;       <span class="keyword">CALL </span>interpolate_neighbor_budget(ipopt,grid_in,grid_out,mi,mo,km,ibi,li,ui,vi,&amp;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;            no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keywordflow">    case default</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;       print *, <span class="stringliteral">&quot;unrecognized interpolation option: &quot;</span>, ip</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;       error stop</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;       <span class="comment">! IF(IGDTNUMO.GE.0) NO=0</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;       <span class="comment">! DO K=1,KM</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;       <span class="comment">!    IBO(K)=1</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;       <span class="comment">!    DO N=1,NO</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;       <span class="comment">!       LO(N,K)=.FALSE.</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;       <span class="comment">!       UO(N,K)=0.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;       <span class="comment">!       VO(N,K)=0.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;       <span class="comment">!    ENDDO</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;       <span class="comment">! ENDDO</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;       <span class="comment">! IRET=1</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_grid</a></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  </div>
+<div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe">  382</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">ipolatev_grib2</a>(ip,ipopt,igdtnumi,igdtmpli,igdtleni, &amp;</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;       igdtnumo,igdtmplo,igdtleno, &amp;</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;       mi,mo,km,ibi,li,ui,vi, &amp;</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;       no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret) <span class="keyword">bind(c)</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    <span class="keywordtype">USE </span>iso_c_binding, <span class="keywordtype">ONLY</span>: c_int, c_float, c_double, c_bool, c_long</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IBO(KM), IRET, NO</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IBO(KM), IRET, NO</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,             <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(INOUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(INOUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160; </div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160; </div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumi, igdtleni, igdtmpli)</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumo, igdtleno, igdtmplo)</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160; </div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160; </div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <span class="keyword">CALL </span><a class="code" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_grid</a>(ip,ipopt,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;         mi,mo,km,ibi,li,ui,vi,&amp;</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;         no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160; </div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">ipolatev_grib2</a></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160; </div>
+<div class="line"><a name="l00565"></a><span class="lineno"><a class="line" href="interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53">  565</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">ipolatev_grib1</a>(ip,ipopt,kgdsi,kgdso,mi,mo,km,ibi,li,ui,vi, &amp;</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;       no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret) <span class="keyword">bind(c)</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <span class="keywordtype">USE </span>iso_c_binding, <span class="keywordtype">ONLY</span>: c_int, c_float, c_double, c_bool, c_long</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span>:: IP, IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span>:: KM, MI, MO</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(INOUT)</span>:: KGDSI(200), KGDSO(200)</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(  OUT)</span>:: IBO(KM), IRET, NO</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span>:: IP, IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span>:: KM, MI, MO</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(INOUT)</span>:: KGDSI(200), KGDSO(200)</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(  OUT)</span>:: IBO(KM), IRET, NO</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,             <span class="keywordtype">INTENT(IN   )</span>:: LI(MI,KM)</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,             <span class="keywordtype">INTENT(  OUT)</span>:: LO(MO,KM)</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(IN   )</span>:: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(INOUT)</span>:: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(INOUT)</span>:: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(  OUT)</span>:: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(IN   )</span>:: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(INOUT)</span>:: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(INOUT)</span>:: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(  OUT)</span>:: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    <span class="keywordtype">INTEGER</span>                             :: KGDSI11, KGDSO11</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160; </div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160; </div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    <span class="keywordflow">IF</span>(kgdsi(1).EQ.203) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;       kgdsi11=kgdsi(11)</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;       kgdsi(11)=ior(kgdsi(11),256)</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    <span class="keywordflow">IF</span>(kgdso(1).EQ.203) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;       kgdso11=kgdso(11)</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;       kgdso(11)=ior(kgdso(11),256)</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160; </div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdsi)</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdso)</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160; </div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160; </div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    <span class="keyword">CALL </span><a class="code" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_grid</a>(ip,ipopt,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;         mi,mo,km,ibi,li,ui,vi,&amp;</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;         no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160; </div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;    <span class="keywordflow">IF</span>(kgdsi(1).EQ.203) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;       kgdsi(11)=kgdsi11</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;    <span class="keywordflow">IF</span>(kgdso(1).EQ.203) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;       kgdso(11)=kgdso11</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160; </div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">ipolatev_grib1</a></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160; </div>
+<div class="line"><a name="l00680"></a><span class="lineno"><a class="line" href="interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5">  680</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">ipolatev_grib1_single_field</a>(ip,ipopt,kgdsi,kgdso,mi,mo,km,ibi,li,ui,vi, &amp;</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;       no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret) <span class="keyword">bind(c)</span></div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    <span class="keywordtype">USE </span>iso_c_binding, <span class="keywordtype">ONLY</span>: c_int, c_float, c_double, c_bool, c_long</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span>:: IP, IPOPT(20), IBI</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span>:: KM, MI, MO</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(INOUT)</span>:: KGDSI(200), KGDSO(200)</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(  OUT)</span>:: IBO, IRET, NO</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span>:: IP, IPOPT(20), IBI</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span>:: KM, MI, MO</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(INOUT)</span>:: KGDSI(200), KGDSO(200)</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(  OUT)</span>:: IBO, IRET, NO</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,             <span class="keywordtype">INTENT(IN   )</span>:: LI(MI)</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,             <span class="keywordtype">INTENT(  OUT)</span>:: LO(MO)</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(IN   )</span>:: UI(MI),VI(MI)</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(INOUT)</span>:: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(INOUT)</span>:: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(  OUT)</span>:: UO(MO),VO(MO)</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(IN   )</span>:: UI(MI),VI(MI)</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(INOUT)</span>:: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(INOUT)</span>:: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(  OUT)</span>:: UO(MO),VO(MO)</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;    <span class="keywordtype">INTEGER</span>                             :: KGDSI11, KGDSO11</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160; </div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <span class="keywordtype">integer</span> :: ibo_array(1)</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160; </div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    <span class="comment">! Can&#39;t pass expression (e.g. [ibo]) to intent(out) argument.</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;    <span class="comment">! Initialize placeholder array of size 1 to make rank match.</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    ibo_array(1) = ibo</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160; </div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;    <span class="keywordflow">IF</span>(kgdsi(1).EQ.203) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;       kgdsi11=kgdsi(11)</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;       kgdsi(11)=ior(kgdsi(11),256)</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;    <span class="keywordflow">IF</span>(kgdso(1).EQ.203) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;       kgdso11=kgdso(11)</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;       kgdso(11)=ior(kgdso(11),256)</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160; </div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdsi)</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdso)</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160; </div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160; </div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    <span class="keyword">CALL </span><a class="code" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_grid</a>(ip,ipopt,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;         mi,mo,km,[ibi],li,ui,vi,&amp;</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;         no,rlat,rlon,crot,srot,ibo_array,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160; </div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;    ibo = ibo_array(1)</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160; </div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;    <span class="keywordflow">IF</span>(kgdsi(1).EQ.203) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;       kgdsi(11)=kgdsi11</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;    <span class="keywordflow">IF</span>(kgdso(1).EQ.203) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;       kgdso(11)=kgdso11</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160; </div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">ipolatev_grib1_single_field</a></div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160; </div>
+<div class="line"><a name="l00832"></a><span class="lineno"><a class="line" href="interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd">  832</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">ipolatev_grib2_single_field</a>(ip,ipopt,igdtnumi,igdtmpli,igdtleni, &amp;</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;       igdtnumo,igdtmplo,igdtleno, &amp;</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;       mi,mo,km,ibi,li,ui,vi, &amp;</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;       no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret) <span class="keyword">bind(c)</span></div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;    <span class="keywordtype">USE </span>iso_c_binding, <span class="keywordtype">ONLY</span>: c_int, c_float, c_double, c_bool, c_long</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;<span class="preprocessor">#if (LSIZE==8)</span></div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), IBI</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;    <span class="keywordtype">INTEGER(C_LONG)</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IBO, IRET, NO</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IP, IPOPT(20), IBI</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="keywordtype">INTEGER(C_INT)</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IBO, IRET, NO</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,             <span class="keywordtype">INTENT(IN   )</span> :: LI(MI)</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <span class="keywordtype">LOGICAL(C_BOOL)</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO)</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;<span class="preprocessor">#if (LSIZE==4)</span></div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(IN   )</span> :: UI(MI),VI(MI)</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(INOUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;<span class="keywordtype">    REAL</span>(C_FLOAT),                  <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO),VO(MO)</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;<span class="preprocessor"></span><span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(IN   )</span> :: UI(MI),VI(MI)</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(INOUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;<span class="keywordtype">    REAL</span>(C_DOUBLE),                  <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO),VO(MO)</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;<span class="preprocessor"></span>    <span class="comment">!</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160; </div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    <span class="keywordtype">integer</span> :: ibo_array(1)</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160; </div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;    <span class="comment">! Can&#39;t pass expression (e.g. [ibo]) to intent(out) argument.</span></div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;    <span class="comment">! Initialize placeholder array of size 1 to make rank match.</span></div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;    ibo_array(1) = ibo</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160; </div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumi, igdtleni, igdtmpli)</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumo, igdtleno, igdtmplo)</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160; </div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160; </div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;    <span class="keyword">CALL </span><a class="code" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_grid</a>(ip,ipopt,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;         mi,mo,km,[ibi],li,ui,vi,&amp;</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;         no,rlat,rlon,crot,srot,ibo_array,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160; </div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;    ibo = ibo_array(1)</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160; </div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">ipolatev_grib2_single_field</a></div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160; </div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceipolatev__mod.html">ipolatev_mod</a></div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160; </div>
+<div class="ttc" id="ainterfaceip__grid__descriptor__mod_1_1init__descriptor_html"><div class="ttname"><a href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">ip_grid_descriptor_mod::init_descriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00060">ip_grid_descriptor_mod.F90:60</a></div></div>
+<div class="ttc" id="ainterfaceip__grid__factory__mod_1_1init__grid_html"><div class="ttname"><a href="interfaceip__grid__factory__mod_1_1init__grid.html">ip_grid_factory_mod::init_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00020">ip_grid_factory_mod.F90:20</a></div></div>
+<div class="ttc" id="ainterfaceipolatev__mod_1_1ipolatev_html"><div class="ttname"><a href="interfaceipolatev__mod_1_1ipolatev.html">ipolatev_mod::ipolatev</a></div><div class="ttdef"><b>Definition:</b> <a href="ipolatev_8F90_source.html#l00021">ipolatev.F90:21</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html"><div class="ttname"><a href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div><div class="ttdoc">Routines for creating an ip_grid given a Grib descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00011">ip_grid_factory_mod.F90:11</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html"><div class="ttname"><a href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></div><div class="ttdoc">Top-level module to export interpolation routines and constants.</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00007">ip_interpolators_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a35e5fe3a2dd79d205c0503f550388258"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">ip_interpolators_mod::neighbor_interp_id</a></div><div class="ttdeci">integer, parameter, public neighbor_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00021">ip_interpolators_mod.F90:21</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a753e4b6c113a9a8b226c3c834786f3e1"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">ip_interpolators_mod::bilinear_interp_id</a></div><div class="ttdeci">integer, parameter, public bilinear_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00017">ip_interpolators_mod.F90:17</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a7df843ca4a64e3178f448aebf7dad359"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">ip_interpolators_mod::budget_interp_id</a></div><div class="ttdeci">integer, parameter, public budget_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00023">ip_interpolators_mod.F90:23</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_a83ba2963a0b686c6ae67b53f9c385851"><div class="ttname"><a href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">ip_interpolators_mod::spectral_interp_id</a></div><div class="ttdeci">integer, parameter, public spectral_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00025">ip_interpolators_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_adfdc7760718083d85618df85320c495e"><div class="ttname"><a href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">ip_interpolators_mod::bicubic_interp_id</a></div><div class="ttdeci">integer, parameter, public bicubic_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00019">ip_interpolators_mod.F90:19</a></div></div>
+<div class="ttc" id="anamespaceip__interpolators__mod_html_ae77a1da241f5de94f1874004ee8e715c"><div class="ttname"><a href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">ip_interpolators_mod::neighbor_budget_interp_id</a></div><div class="ttdeci">integer, parameter, public neighbor_budget_interp_id</div><div class="ttdef"><b>Definition:</b> <a href="ip__interpolators__mod_8F90_source.html#l00027">ip_interpolators_mod.F90:27</a></div></div>
+<div class="ttc" id="anamespaceipolatev__mod_html"><div class="ttname"><a href="namespaceipolatev__mod.html">ipolatev_mod</a></div><div class="ttdoc">Top-level driver for vector interpolation interpolation routine ipolatev().</div><div class="ttdef"><b>Definition:</b> <a href="ipolatev_8F90_source.html#l00010">ipolatev.F90:10</a></div></div>
+<div class="ttc" id="anamespaceipolatev__mod_html_a00fed53dd867a802b3adbc1141e8d272"><div class="ttname"><a href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">ipolatev_mod::ipolatev_grib2</a></div><div class="ttdeci">subroutine, public ipolatev_grib2(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</div><div class="ttdoc">This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ipolatev_8F90_source.html#l00382">ipolatev.F90:386</a></div></div>
+<div class="ttc" id="anamespaceipolatev__mod_html_a71d7507e8f89e1229caaaacb37e0c9c7"><div class="ttname"><a href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">ipolatev_mod::ipolatev_grib2_single_field</a></div><div class="ttdeci">subroutine, public ipolatev_grib2_single_field(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</div><div class="ttdoc">This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ipolatev_8F90_source.html#l00832">ipolatev.F90:836</a></div></div>
+<div class="ttc" id="anamespaceipolatev__mod_html_a8f3bfec7495e13b75b2035e8e1f081a1"><div class="ttname"><a href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_mod::ipolatev_grid</a></div><div class="ttdeci">subroutine ipolatev_grid(IP, IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">Interpolates vector fields between grids given ip_grid objects.</div><div class="ttdef"><b>Definition:</b> <a href="ipolatev_8F90_source.html#l00067">ipolatev.F90:70</a></div></div>
+<div class="ttc" id="anamespaceipolatev__mod_html_abddc4a9b00133b358443b118f1352d1f"><div class="ttname"><a href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">ipolatev_mod::ipolatev_grib1</a></div><div class="ttdeci">subroutine, public ipolatev_grib1(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</div><div class="ttdoc">This subprogram interpolates vector field from any grid to any grid given a grib1 Grid Descriptor Sec...</div><div class="ttdef"><b>Definition:</b> <a href="ipolatev_8F90_source.html#l00565">ipolatev.F90:567</a></div></div>
+<div class="ttc" id="anamespaceipolatev__mod_html_ad535ffd159c46e770effd774aabede58"><div class="ttname"><a href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">ipolatev_mod::ipolatev_grib1_single_field</a></div><div class="ttdeci">subroutine, public ipolatev_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</div><div class="ttdoc">Special case of ipolatev_grib1 when interpolating a single field.</div><div class="ttdef"><b>Definition:</b> <a href="ipolatev_8F90_source.html#l00680">ipolatev.F90:682</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib2__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></div><div class="ttdoc">Grib-2 descriptor containing a grib2 GDT represented by an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00047">ip_grid_descriptor_mod.F90:47</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipolatev_8F90.html">ipolatev.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipxetas_8F90.html b/ver-4.4.0/ipxetas_8F90.html
new file mode 100644
index 00000000..cd02eded
--- /dev/null
+++ b/ver-4.4.0/ipxetas_8F90.html
@@ -0,0 +1,290 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipxetas.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipxetas_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ipxetas.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Expand or contract eta grids using linear interpolation.  
+<a href="#details">More...</a></p>
+
+<p><a href="ipxetas_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a89ff34ee39b0da1895e9d8552bb462e1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">ipxetas</a> (IDIR, IGDTNUMI, IGDTLEN, IGDTMPLI, NPTS_INPUT, BITMAP_INPUT, DATA_INPUT, IGDTNUMO, IGDTMPLO, NPTS_OUTPUT, BITMAP_OUTPUT, DATA_OUTPUT, IRET)</td></tr>
+<tr class="memdesc:a89ff34ee39b0da1895e9d8552bb462e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand or contract eta grids using linear interpolation.  <a href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">More...</a><br /></td></tr>
+<tr class="separator:a89ff34ee39b0da1895e9d8552bb462e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Expand or contract eta grids using linear interpolation. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ipxetas_8F90_source.html">ipxetas.F90</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a89ff34ee39b0da1895e9d8552bb462e1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a89ff34ee39b0da1895e9d8552bb462e1">&#9670;&nbsp;</a></span>ipxetas()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipxetas </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IDIR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS_INPUT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(kind=1), dimension(npts_input), intent(in)&#160;</td>
+          <td class="paramname"><em>BITMAP_INPUT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts_input), intent(in)&#160;</td>
+          <td class="paramname"><em>DATA_INPUT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IGDTNUMO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(out)&#160;</td>
+          <td class="paramname"><em>IGDTMPLO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS_OUTPUT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(kind=1), dimension(npts_output), intent(out)&#160;</td>
+          <td class="paramname"><em>BITMAP_OUTPUT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts_output), intent(out)&#160;</td>
+          <td class="paramname"><em>DATA_OUTPUT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Expand or contract eta grids using linear interpolation. </p>
+<p>This subprogram transforms between the staggered eta grids as used in the eta model and for native grid transmission and their full expansion as used for general interpolation and graphics. The eta grids are rotated latitude-longitude grids staggered as defined by the arakawa e-grid, that is with mass data points alternating with wind data points.</p>
+<p>This is similar to:</p><ul>
+<li><a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894" title="Expand or contract wafs grids using linear interpolation and account for bitmapped data.">ipxwafs2()</a> which uses linear interpolation and accounts for</li>
+<li>bitmapped data.</li>
+<li><a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894" title="Expand or contract wafs grids using linear interpolation and account for bitmapped data.">ipxwafs2()</a> which uses neighbor interpolation and accounts for</li>
+<li>bitmapped data.</li>
+</ul>
+<h3><a class="anchor" id="autotoc_md33"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-14   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">Make grib 2 compliant. Replace 4-pt interpolation with call to ipolates.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2022-11-09   </td><td class="markdownTableBodyNone">Engle   </td><td class="markdownTableBodyNone">Made ibi and ibo scalars.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idir</td><td>integer transform option.<ul>
+<li>0 to expand staggered fields to full fields</li>
+<li>-1 to contract full mass fields to staggered fields</li>
+<li>-2 to contract full wind fields to staggered fields </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>integer grid definition template number - input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. Must be = 1 (for a rotated lat/lon grid.) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>integer number of elements of the grid definition template array - same for input and output grids (=22) which are both rotated lat/lon grids. corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>integer (igdtlen) grid definition template array - input grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info):<ul>
+<li>1 shape of earth, octet 15<ul>
+<li>2 scale factor of spherical earth radius, octet 16</li>
+<li>3 scaled value of radius of spherical earth, octets 17-20</li>
+<li>4 scale factor of major axis of elliptical earth, octet 21</li>
+<li>5 scaled value of major axis of elliptical earth, octets 22-25</li>
+<li>6 scale factor of minor axis of elliptical earth, octet 26</li>
+<li>7 scaled value of minor axis of elliptical earth, octets 27-30</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72</li>
+<li>20 latitude of southern pole of projection, octets 73-76</li>
+<li>21 longitude of southern pole of projection, octets 77-80</li>
+<li>22 angle of rotation of projection, octs 81-84 </li>
+</ul>
+</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts_input</td><td>integer number points input grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">bitmap_input</td><td>logical (npts_input) input grid bitmap </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">data_input</td><td>real (npts_input) input grid data </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">igdtnumo</td><td>integer grid definition template number - output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. Same as igdtnumi (=1 for a rotated lat/lon grid). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">igdtmplo</td><td>integer (igdtlen) grid definition template array - output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. Array definitions same as "igdtmpli". </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">npts_output</td><td>integer number points output grid. the j-dimension of the input and output grids are the same. When going from a staggered to a full grid the i-dimension increases to idim*2-1. When going from full to staggered the i-dimension decreases to (idim+1)/2. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">bitmap_output</td><td>logical (npts_outut) output grid bitmap </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">data_output</td><td>real (npts_output) output grid data </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>integer return code<ul>
+<li>0 successful transformation</li>
+<li>non-0 invalid grid specs or problem in ipolates(). </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ipxetas_8F90_source.html#l00090">90</a> of file <a class="el" href="ipxetas_8F90_source.html">ipxetas.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipxetas_8F90.html">ipxetas.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipxetas_8F90.js b/ver-4.4.0/ipxetas_8F90.js
new file mode 100644
index 00000000..d61378ad
--- /dev/null
+++ b/ver-4.4.0/ipxetas_8F90.js
@@ -0,0 +1,4 @@
+var ipxetas_8F90 =
+[
+    [ "ipxetas", "ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ipxetas_8F90_source.html b/ver-4.4.0/ipxetas_8F90_source.html
new file mode 100644
index 00000000..1e50abdf
--- /dev/null
+++ b/ver-4.4.0/ipxetas_8F90_source.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipxetas.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipxetas_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ipxetas.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ipxetas_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">! @author Iredell @date 96-04-10</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">   90</a></span>&#160; <span class="keyword">SUBROUTINE </span><a class="code" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">ipxetas</a>(IDIR, IGDTNUMI, IGDTLEN, IGDTMPLI, NPTS_INPUT,  &amp;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                    BITMAP_INPUT, DATA_INPUT, IGDTNUMO, IGDTMPLO, &amp;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                    NPTS_OUTPUT, BITMAP_OUTPUT, DATA_OUTPUT, IRET)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; <span class="keywordtype">USE </span><a class="code" href="namespaceipolates__mod.html">ipolates_mod</a></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(IN   )</span>    :: IDIR</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(IN   )</span>    :: IGDTNUMI, IGDTLEN</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(IN   )</span>    :: IGDTMPLI(IGDTLEN)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(IN   )</span>    :: NPTS_INPUT, NPTS_OUTPUT</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(  OUT)</span>    :: IGDTNUMO</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(  OUT)</span>    :: IGDTMPLO(IGDTLEN)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(  OUT)</span>    :: IRET</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; <span class="keywordtype">LOGICAL(KIND=1)</span>, <span class="keywordtype">INTENT(IN   )</span>    :: BITMAP_INPUT(NPTS_INPUT)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; <span class="keywordtype">LOGICAL(KIND=1)</span>, <span class="keywordtype">INTENT(  OUT)</span>    :: BITMAP_OUTPUT(NPTS_OUTPUT)</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordtype"> REAL</span>,            <span class="keywordtype">INTENT(IN   )</span>    :: DATA_INPUT(NPTS_INPUT)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keywordtype"> REAL</span>,            <span class="keywordtype">INTENT(  OUT)</span>    :: DATA_OUTPUT(NPTS_OUTPUT)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; <span class="keywordtype">INTEGER</span>                           :: SCAN_MODE, ISCALE, IP, IPOPT(20)</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; <span class="keywordtype">INTEGER</span>                           :: IBI, IBO, J, KM, NO</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keywordtype"> REAL</span>                              :: DLONS</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keywordtype"> REAL</span>, <span class="keywordtype">ALLOCATABLE</span>                 :: OUTPUT_RLAT(:), OUTPUT_RLON(:)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; iret = 0</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">! ROUTINE ONLY WORKS FOR ROTATED LAT/LON GRIDS.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; <span class="keywordflow">IF</span> (igdtnumi/=1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;   iret=1</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;   <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160; scan_mode=igdtmpli(19)</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; <span class="keywordflow">IF</span>((scan_mode==68.OR.scan_mode==72).AND.(idir&lt;-2.OR.idir&gt;-1))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;   igdtnumo=igdtnumi</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;   igdtmplo=igdtmpli</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;   igdtmplo(19)=64</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;   igdtmplo(8)=igdtmplo(8)*2-1</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;   <span class="keywordflow">IF</span>((igdtmplo(8)*igdtmplo(9))/=npts_output)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;     iret=3</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;     <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keywordflow">   ENDIF</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;   iscale=igdtmplo(10)*igdtmplo(11)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;   <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;   dlons=float(igdtmplo(17))/float(iscale)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;   dlons=dlons*0.5</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;   igdtmplo(17)=nint(dlons*float(iscale))</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; <span class="keywordflow">ELSEIF</span>(scan_mode==64.AND.idir==-1)<span class="keywordflow">THEN</span>  <span class="comment">! FULL TO H-GRID</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;   igdtnumo=igdtnumi</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;   igdtmplo=igdtmpli</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;   igdtmplo(19)=68</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;   igdtmplo(8)=(igdtmplo(8)+1)/2</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;   <span class="keywordflow">IF</span>((igdtmplo(8)*igdtmplo(9))/=npts_output)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;     iret=3</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;     <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keywordflow">   ENDIF</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;   iscale=igdtmplo(10)*igdtmplo(11)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;   <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;   dlons=float(igdtmplo(17))/float(iscale)</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;   dlons=dlons*2.0</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;   igdtmplo(17)=nint(dlons*float(iscale))</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; <span class="keywordflow">ELSEIF</span>(scan_mode==64.AND.idir==-2)<span class="keywordflow">THEN</span>  <span class="comment">! FULL TO V-GRID</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;   igdtnumo=igdtnumi</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;   igdtmplo=igdtmpli</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;   igdtmplo(19)=72</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;   igdtmplo(8)=(igdtmplo(8)+1)/2</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;   <span class="keywordflow">IF</span>((igdtmplo(8)*igdtmplo(9))/=npts_output)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;     iret=3</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;     <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keywordflow">   ENDIF</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;   iscale=igdtmplo(10)*igdtmplo(11)</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;   <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;   dlons=float(igdtmplo(17))/float(iscale)</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;   dlons=dlons*2.0</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;   igdtmplo(17)=nint(dlons*float(iscale))</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;   iret=2</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;   <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160; </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; km=1</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160; ip=0</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; ipopt=0</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; ibi=1</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; ibo=0</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; <span class="keyword">ALLOCATE</span>(output_rlat(npts_output))</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; <span class="keyword">ALLOCATE</span>(output_rlon(npts_output))</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160; <span class="keyword">CALL </span><a class="code" href="interfaceipolates__mod_1_1ipolates.html">ipolates</a>(ip, ipopt, igdtnumi, igdtmpli, igdtlen, &amp;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;               igdtnumo, igdtmplo, igdtlen, &amp;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;               npts_input, npts_output, km, ibi, bitmap_input, data_input, &amp;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;               no, output_rlat, output_rlon, ibo, bitmap_output, data_output, iret)</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; <span class="keyword">DEALLOCATE</span>(output_rlat, output_rlon)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160; <span class="keywordflow">IF</span>(iret /= 0)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;   print*,<span class="stringliteral">&#39;- PROBLEM IN IPOLATES: &#39;</span>, iret</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;   <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160; </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="comment">! REPLACE ANY UNDEFINED POINTS ALONG THE LEFT AND RIGHT EDGES.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160; <span class="keywordflow">DO</span> j=1, igdtmplo(9)</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;   bitmap_output(j*igdtmplo(8))=bitmap_output(j*igdtmplo(8)-1)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;   data_output(j*igdtmplo(8))=data_output(j*igdtmplo(8)-1)</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;   bitmap_output((j-1)*igdtmplo(8)+1)=bitmap_output((j-1)*igdtmplo(8)+2)</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;   data_output((j-1)*igdtmplo(8)+1)=data_output((j-1)*igdtmplo(8)+2)</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keywordflow"> ENDDO</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160; </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160; <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160; <span class="keyword">END SUBROUTINE </span><a class="code" href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">ipxetas</a></div>
+<div class="ttc" id="ainterfaceipolates__mod_1_1ipolates_html"><div class="ttname"><a href="interfaceipolates__mod_1_1ipolates.html">ipolates_mod::ipolates</a></div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00023">ipolates.F90:23</a></div></div>
+<div class="ttc" id="aipxetas_8F90_html_a89ff34ee39b0da1895e9d8552bb462e1"><div class="ttname"><a href="ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1">ipxetas</a></div><div class="ttdeci">subroutine ipxetas(IDIR, IGDTNUMI, IGDTLEN, IGDTMPLI, NPTS_INPUT, BITMAP_INPUT, DATA_INPUT, IGDTNUMO, IGDTMPLO, NPTS_OUTPUT, BITMAP_OUTPUT, DATA_OUTPUT, IRET)</div><div class="ttdoc">Expand or contract eta grids using linear interpolation.</div><div class="ttdef"><b>Definition:</b> <a href="ipxetas_8F90_source.html#l00090">ipxetas.F90:93</a></div></div>
+<div class="ttc" id="anamespaceipolates__mod_html"><div class="ttname"><a href="namespaceipolates__mod.html">ipolates_mod</a></div><div class="ttdoc">Top-level driver for scalar interpolation interpolation routine ipolates().</div><div class="ttdef"><b>Definition:</b> <a href="ipolates_8F90_source.html#l00012">ipolates.F90:12</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipxetas_8F90.html">ipxetas.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipxwafs2_8F90.html b/ver-4.4.0/ipxwafs2_8F90.html
new file mode 100644
index 00000000..f93ff6db
--- /dev/null
+++ b/ver-4.4.0/ipxwafs2_8F90.html
@@ -0,0 +1,308 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipxwafs2.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipxwafs2_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ipxwafs2.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Expand or contract wafs grids using linear interpolation and account for bitmapped data.  
+<a href="#details">More...</a></p>
+
+<p><a href="ipxwafs2_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ab602c9c04957836c0b8860560d442894"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894">ipxwafs2</a> (IDIR, NUMPTS_THIN, NUMPTS_FULL, KM, NUM_OPT, OPT_PTS, IGDTLEN, IGDTMPL_THIN, DATA_THIN, IB_THIN, BITMAP_THIN, IGDTMPL_FULL, DATA_FULL, IB_FULL, BITMAP_FULL, IRET)</td></tr>
+<tr class="memdesc:ab602c9c04957836c0b8860560d442894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand or contract wafs grids using linear interpolation and account for bitmapped data.  <a href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894">More...</a><br /></td></tr>
+<tr class="separator:ab602c9c04957836c0b8860560d442894"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Expand or contract wafs grids using linear interpolation and account for bitmapped data. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ipxwafs2_8F90_source.html">ipxwafs2.F90</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ab602c9c04957836c0b8860560d442894"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab602c9c04957836c0b8860560d442894">&#9670;&nbsp;</a></span>ipxwafs2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipxwafs2 </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IDIR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NUMPTS_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NUMPTS_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NUM_OPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(num_opt), intent(inout)&#160;</td>
+          <td class="paramname"><em>OPT_PTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(inout)&#160;</td>
+          <td class="paramname"><em>IGDTMPL_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(numpts_thin,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>DATA_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(inout)&#160;</td>
+          <td class="paramname"><em>IB_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(kind=1), dimension(numpts_thin,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>BITMAP_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(inout)&#160;</td>
+          <td class="paramname"><em>IGDTMPL_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(numpts_full,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>DATA_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(inout)&#160;</td>
+          <td class="paramname"><em>IB_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(kind=1), dimension(numpts_full,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>BITMAP_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Expand or contract wafs grids using linear interpolation and account for bitmapped data. </p>
+<p>This subprogram transforms between the thinned wafs grids used for transmitting to the aviation community and their full expansion as used for general interpolation and graphics. The thinned wafs grids are latitude-longitude grids where the number of points in each row decrease toward the pole. This information is stored in the grib 2 grid definition template (section 3) starting at octet 73.</p>
+<p>The full grid counterparts have an equal number of points per row.</p>
+<p>The transform between the full and thinned wafs wafs grid is done by linear interpolation and is not reversible. This routine works with bitmapped data.</p>
+<p>This subroutine is similar to:</p><ul>
+<li><a class="el" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12" title="Expand or contract wafs grids.">ipxwafs()</a> which uses linear interpolation.</li>
+<li><a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d" title="Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data.">ipxwafs3()</a> which uses neighbor interpolation and accounts for</li>
+<li>bitmapped data.</li>
+</ul>
+<h3><a class="anchor" id="autotoc_md35"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">99-01-25   </td><td class="markdownTableBodyNone">gilbert   </td><td class="markdownTableBodyNone">changed bitmap fields from logical to logical*1    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-jul   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">convert to grib 2   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idir</td><td>integer transform option<ul>
+<li>1 to expand thinned fields to full fields</li>
+<li>-1 to contract full fields to thinned fields </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">numpts_thin</td><td>integer number of grid points - thinned grid. Must be 3447. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">numpts_full</td><td>integer number of grid points - full grid. Must be 5329. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>integer number of fields to transform </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">num_opt</td><td>integer number of values to describe the thinned grid. must be 73. dimension of array opt_pts. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">opt_pts</td><td>integer (num_opt) number of grid points per row - thinned grid - if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>integer grid defintion template array length. must be 19 for lat/lon grids. corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. same for thin and full grids which are both lat/lon. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl_thin</td><td>integer (igdtlen) grid definition template array - thinned grid - if idir=+1. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info):<ul>
+<li>1 shape of earth, octet 15</li>
+<li>2 scale factor of spherical earth radius, octet 16</li>
+<li>3 scaled value of radius of spherical earth, octets 17-20</li>
+<li>4 scale factor of major axis of elliptical earth, octet 21</li>
+<li>5 scaled value of major axis of elliptical earth, octets 22-25</li>
+<li>6 scale factor of minor axis of elliptical earth, octet 26</li>
+<li>7 scaled value of minor axis of elliptical earth, octets 27-30</li>
+<li>8 set to missing for thinned grid., octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42.</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 set to missing for thinned grid, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">data_thin</td><td>real (numpts_thin,km) thinned grid fields if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ib_thin</td><td>integer (km) bitmap flags thinned grid - if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">bitmap_thin</td><td>logical (numpts_thin,km) bitmap fields thin grid - if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">igdtmpl_full</td><td>integer (igdtlen) grid definition template array - full grid - if idir=-1. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. same as igdtmpl_thin except: (8): number of points along a parallel, octs 31-34 (17): i-direction increment, octets 64-67 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">data_full</td><td>real (numpts_full,km) full grid fields if idir=-1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ib_full</td><td>integer (km) bitmap flags full grid - if idir=-1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">bitmap_full</td><td>logical (numpts_full,km) bitmap fields full grid - if idir=-1 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>integer return code<ul>
+<li>0 successful transformation</li>
+<li>1 improper grid specification</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipxwafs2_8F90_source.html#l00089">89</a> of file <a class="el" href="ipxwafs2_8F90_source.html">ipxwafs2.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipxwafs2_8F90.html">ipxwafs2.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipxwafs2_8F90.js b/ver-4.4.0/ipxwafs2_8F90.js
new file mode 100644
index 00000000..524b1d34
--- /dev/null
+++ b/ver-4.4.0/ipxwafs2_8F90.js
@@ -0,0 +1,4 @@
+var ipxwafs2_8F90 =
+[
+    [ "ipxwafs2", "ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ipxwafs2_8F90_source.html b/ver-4.4.0/ipxwafs2_8F90_source.html
new file mode 100644
index 00000000..0112e36a
--- /dev/null
+++ b/ver-4.4.0/ipxwafs2_8F90_source.html
@@ -0,0 +1,267 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipxwafs2.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipxwafs2_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ipxwafs2.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ipxwafs2_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894">   89</a></span>&#160;<span class="keyword">SUBROUTINE </span><a class="code" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894">ipxwafs2</a>(IDIR, NUMPTS_THIN, NUMPTS_FULL, KM, NUM_OPT, OPT_PTS, &amp;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;     IGDTLEN, IGDTMPL_THIN, DATA_THIN, IB_THIN, BITMAP_THIN,  &amp;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;     IGDTMPL_FULL, DATA_FULL, IB_FULL, BITMAP_FULL, IRET)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <span class="comment">!</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: NUM_OPT</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: OPT_PTS(NUM_OPT)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IDIR, KM, NUMPTS_THIN, NUMPTS_FULL</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTLEN</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: IGDTMPL_THIN(IGDTLEN)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: IGDTMPL_FULL(IGDTLEN)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: IB_THIN(KM), IB_FULL(KM)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IRET</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="comment">!</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="keywordtype">LOGICAL(KIND=1)</span>,       <span class="keywordtype">INTENT(INOUT)</span> :: BITMAP_THIN(NUMPTS_THIN,KM)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keywordtype">LOGICAL(KIND=1)</span>,       <span class="keywordtype">INTENT(INOUT)</span> :: BITMAP_FULL(NUMPTS_FULL,KM)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="comment">!</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">  REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: DATA_THIN(NUMPTS_THIN,KM)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordtype">  REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: DATA_FULL(NUMPTS_FULL,KM)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="comment">!</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">PARAMETER</span>     :: MISSING=-1</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="comment">!</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="keywordtype">INTEGER</span>                              :: SCAN_MODE, I, J, K, IDLAT, IDLON</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordtype">INTEGER</span>                              :: IA, IB, IM, IM1, IM2, NPWAFS(73)</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keywordtype">INTEGER</span>                              :: IS1, IS2, ISCAN, ISCALE</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="comment">!</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keywordtype">LOGICAL</span>                              :: TEST1, TEST2</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="comment">!</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keywordtype">  REAL</span>                                 :: DLON, HI</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keywordtype">  REAL</span>                                 :: RAT1, RAT2, RLON1, RLON2</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keywordtype">  REAL</span>                                 :: WA, WB, X1, X2</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">!</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="keyword">DATA</span> npwafs/ &amp;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;       73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 72, 71, 71, 71, 70,&amp;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;       70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 62, 61, 60, 60,&amp;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;       59, 58, 57, 56, 55, 54, 52, 51, 50, 49, 48, 47, 45, 44, 43,&amp;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;       42, 40, 39, 38, 36, 35, 33, 32, 30, 29, 28, 26, 25, 23, 22,&amp;</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;       20, 19, 17, 16, 14, 12, 11,  9,  8,  6,  5,  3,  2/</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="comment">!  TRANSFORM GDS</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  iret=0</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <span class="comment">!  REG LAT/LON GRIDS HAVE 19 GDT ELEMENTS.</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordflow">IF</span> (igdtlen /= 19 .OR. numpts_thin/=3447 .OR. numpts_full/=5329) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;     iret=1</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;     <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keywordflow">  ENDIF</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="comment">!  EXPAND THINNED GDS TO FULL GDS</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="keywordflow">IF</span>(idir.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;     scan_mode=igdtmpl_thin(19)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;     iscale=igdtmpl_thin(10)*igdtmpl_thin(11)</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;     <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;     idlat=nint(1.25*float(iscale))</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;     test1=all(opt_pts==npwafs)</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;     test2=all(opt_pts==npwafs(73:1:-1))</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;     <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;     <span class="comment">!  SOME CHECKS TO ENSURE THIS IS A WAFS GRID</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;     <span class="keywordflow">IF</span>(scan_mode==64 .AND. igdtmpl_thin(9)==73 .AND. &amp;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;          idlat==igdtmpl_thin(18) .AND. (test1 .OR. test2) ) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        igdtmpl_full=igdtmpl_thin</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        im=73</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        igdtmpl_full(8)=im</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        rlon1=float(igdtmpl_full(13))/float(iscale)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        rlon2=float(igdtmpl_full(16))/float(iscale)</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        iscan=mod(igdtmpl_full(19)/128,2)</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        hi=(-1.)**iscan</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        dlon=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        igdtmpl_full(17)=nint(dlon*float(iscale))</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;     <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        iret=1</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keywordflow">     ENDIF</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;     <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;     <span class="comment">!  CONTRACT FULL GDS TO THINNED GDS</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keywordflow">ELSEIF</span>(idir.LT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;     scan_mode=igdtmpl_full(19)</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;     iscale=igdtmpl_full(10)*igdtmpl_full(11)</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;     <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;     idlat=nint(1.25*float(iscale))</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;     idlon=idlat</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;     <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;     <span class="comment">!  SOME CHECKS TO ENSURE THIS IS A WAFS GRID</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;     <span class="keywordflow">IF</span>(scan_mode==64 .AND. igdtmpl_full(8)==73 .AND. igdtmpl_full(9)==73 .AND. &amp;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;          num_opt==73 .AND. idlat==igdtmpl_full(18) .AND. idlon==igdtmpl_full(17))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        igdtmpl_thin=igdtmpl_full</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        igdtmpl_thin(8)=missing</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        igdtmpl_thin(17)=missing</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        <span class="keywordflow">IF</span>(igdtmpl_thin(12)==0) <span class="keywordflow">THEN</span>  <span class="comment">! IS LATITUDE OF ROW 1 THE EQUATOR?</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;           opt_pts=npwafs</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;           opt_pts=npwafs(73:1:-1)</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordflow">        ENDIF</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;     <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        iret=1</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keywordflow">     ENDIF</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keywordflow">  ENDIF</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <span class="comment">!  TRANSFORM FIELDS</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;     <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;     <span class="comment">!  EXPAND THINNED FIELDS TO FULL FIELDS</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;     <span class="keywordflow">IF</span>(idir.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;           is1=0</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;           is2=0</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;           ib_full(k)=0</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;           <span class="keywordflow">DO</span> j=1,igdtmpl_full(9)</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;              im1=opt_pts(j)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;              im2=igdtmpl_full(8)</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;              rat1=float(im1-1)/float(im2-1)</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;              <span class="keywordflow">DO</span> i=1,im2</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;                 x1=(i-1)*rat1+1</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;                 ia=int(x1)</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;                 ia=min(max(ia,1),im1-1)</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;                 ib=ia+1</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;                 wa=ib-x1</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;                 wb=x1-ia</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;                 <span class="keywordflow">IF</span>(ib_thin(k)==0.OR.(bitmap_thin(is1+ia,k).AND.bitmap_thin(is1+ib,k))) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;                    data_full(is2+i,k)=wa*data_thin(is1+ia,k)+wb*data_thin(is1+ib,k)</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;                    bitmap_full(is2+i,k)=.true.</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                 <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;                    data_full(is2+i,k)=0.0</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                    bitmap_full(is2+i,k)=.false.</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                    ib_full(k)=1</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keywordflow">                 ENDIF</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="keywordflow">              ENDDO</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;              is1=is1+im1</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;              is2=is2+im2</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordflow">           ENDDO</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="comment">!  CONTRACT FULL FIELDS TO THINNED FIELDS</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;     <span class="keywordflow">ELSEIF</span>(idir.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;           is1=0</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;           is2=0</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;           ib_thin(k)=0</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;           <span class="keywordflow">DO</span> j=1,igdtmpl_full(9)</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;              im1=opt_pts(j)</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;              im2=igdtmpl_full(8)</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;              rat2=float(im2-1)/float(im1-1)</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;              <span class="keywordflow">DO</span> i=1,im1</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;                 x2=(i-1)*rat2+1</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                 ia=int(x2)</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                 ia=min(max(ia,1),im2-1)</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                 ib=ia+1</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;                 wa=ib-x2</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;                 wb=x2-ia</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;                 <span class="keywordflow">IF</span>(ib_full(k)==0.OR.(bitmap_full(is2+ia,k).AND.bitmap_full(is2+ib,k))) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;                    data_thin(is1+i,k)=wa*data_full(is2+ia,k)+wb*data_full(is2+ib,k)</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;                    bitmap_thin(is1+i,k)=.true.</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;                 <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;                    data_thin(is1+i,k)=0.0</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;                    bitmap_thin(is1+i,k)=.false.</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;                    ib_thin(k)=1</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keywordflow">                 ENDIF</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordflow">              ENDDO</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;              is1=is1+im1</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;              is2=is2+im2</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="keywordflow">           ENDDO</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="keywordflow">        ENDDO</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="keywordflow">     ENDIF</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keywordflow">  ENDIF</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keyword">END SUBROUTINE </span><a class="code" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894">ipxwafs2</a></div>
+<div class="ttc" id="aipxwafs2_8F90_html_ab602c9c04957836c0b8860560d442894"><div class="ttname"><a href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894">ipxwafs2</a></div><div class="ttdeci">subroutine ipxwafs2(IDIR, NUMPTS_THIN, NUMPTS_FULL, KM, NUM_OPT, OPT_PTS, IGDTLEN, IGDTMPL_THIN, DATA_THIN, IB_THIN, BITMAP_THIN, IGDTMPL_FULL, DATA_FULL, IB_FULL, BITMAP_FULL, IRET)</div><div class="ttdoc">Expand or contract wafs grids using linear interpolation and account for bitmapped data.</div><div class="ttdef"><b>Definition:</b> <a href="ipxwafs2_8F90_source.html#l00089">ipxwafs2.F90:92</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipxwafs2_8F90.html">ipxwafs2.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipxwafs3_8F90.html b/ver-4.4.0/ipxwafs3_8F90.html
new file mode 100644
index 00000000..4e5694f1
--- /dev/null
+++ b/ver-4.4.0/ipxwafs3_8F90.html
@@ -0,0 +1,306 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipxwafs3.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipxwafs3_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ipxwafs3.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data.  
+<a href="#details">More...</a></p>
+
+<p><a href="ipxwafs3_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:aae7be3c77cbe16d0219c86e443e6ec1d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">ipxwafs3</a> (IDIR, NUMPTS_THIN, NUMPTS_FULL, KM, NUM_OPT, OPT_PTS, IGDTLEN, IGDTMPL_THIN, DATA_THIN, IB_THIN, BITMAP_THIN, IGDTMPL_FULL, DATA_FULL, IB_FULL, BITMAP_FULL, IRET)</td></tr>
+<tr class="memdesc:aae7be3c77cbe16d0219c86e443e6ec1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data.  <a href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">More...</a><br /></td></tr>
+<tr class="separator:aae7be3c77cbe16d0219c86e443e6ec1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data. </p>
+<dl class="section author"><dt>Author</dt><dd>Trojan </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>7-7-13 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ipxwafs3_8F90_source.html">ipxwafs3.F90</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="aae7be3c77cbe16d0219c86e443e6ec1d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aae7be3c77cbe16d0219c86e443e6ec1d">&#9670;&nbsp;</a></span>ipxwafs3()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipxwafs3 </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IDIR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NUMPTS_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NUMPTS_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NUM_OPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(num_opt), intent(inout)&#160;</td>
+          <td class="paramname"><em>OPT_PTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(inout)&#160;</td>
+          <td class="paramname"><em>IGDTMPL_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(numpts_thin,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>DATA_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(inout)&#160;</td>
+          <td class="paramname"><em>IB_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(kind=1), dimension(numpts_thin,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>BITMAP_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(inout)&#160;</td>
+          <td class="paramname"><em>IGDTMPL_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(numpts_full,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>DATA_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(inout)&#160;</td>
+          <td class="paramname"><em>IB_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(kind=1), dimension(numpts_full,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>BITMAP_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data. </p>
+<p>This subprogram transforms between the thinned wafs grids used for transmitting to the aviation community and their full expansion as used for general interpolation and graphics. The thinned wafs grids are latitude-longitude grids where the number of points in each row decrease toward the pole. This information is stored in the grib 2 grid definition template (section 3) starting at octet 73.</p>
+<p>The full grid counterparts have an equal number of points per row.</p>
+<p>The transform between the full and thinned wafs wafs grid is done by linear interpolation and is not reversible. This routine works with bitmapped data.</p>
+<p>This subroutine is similar to:</p><ul>
+<li><a class="el" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12" title="Expand or contract wafs grids.">ipxwafs()</a> which uses linear interpolation.</li>
+<li><a class="el" href="ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894" title="Expand or contract wafs grids using linear interpolation and account for bitmapped data.">ipxwafs2()</a> which uses linear interpolation and accounts for</li>
+<li>bitmapped data.</li>
+</ul>
+<h3><a class="anchor" id="autotoc_md36"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">07-07-13   </td><td class="markdownTableBodyNone">Trojan   </td><td class="markdownTableBodyNone">initial version based on ipxwafs2    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-jul   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">convert to grib 2   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idir</td><td>integer transform option<ul>
+<li>1 to expand thinned fields to full fields</li>
+<li>-1 to contract full fields to thinned fields </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">numpts_thin</td><td>integer number of grid points - thinned grid. Must be 3447. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">numpts_full</td><td>integer number of grid points - full grid. Must be 5329. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>integer number of fields to transform </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">num_opt</td><td>integer number of values to describe the thinned grid. must be 73. dimension of array opt_pts. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">opt_pts</td><td>integer (num_opt) number of grid points per row - thinned grid - if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>integer grid defintion template array length. must be 19 for lat/lon grids. corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. same for thin and full grids which are both lat/lon. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl_thin</td><td>integer (igdtlen) grid definition template array - thinned grid - if idir=+1. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info):<ul>
+<li>1 shape of earth, octet 15</li>
+<li>2 scale factor of spherical earth radius, octet 16</li>
+<li>3 scaled value of radius of spherical earth, octets 17-20</li>
+<li>4 scale factor of major axis of elliptical earth, octet 21</li>
+<li>5 scaled value of major axis of elliptical earth, octets 22-25</li>
+<li>6 scale factor of minor axis of elliptical earth, octet 26</li>
+<li>7 scaled value of minor axis of elliptical earth, octets 27-30</li>
+<li>8 set to missing for thinned grid., octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42.</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 set to missing for thinned grid, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">data_thin</td><td>real (numpts_thin,km) thinned grid fields if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ib_thin</td><td>integer (km) bitmap flags thinned grid - if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">bitmap_thin</td><td>logical (numpts_thin,km) bitmap fields thin grid - if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">igdtmpl_full</td><td>integer (igdtlen) grid definition template array - full grid - if idir=-1. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. same as igdtmpl_thin except: (8): number of points along a parallel, octs 31-34 (17): i-direction increment, octets 64-67 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">data_full</td><td>real (numpts_full,km) full grid fields if idir=-1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ib_full</td><td>integer (km) bitmap flags full grid - if idir=-1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">bitmap_full</td><td>logical (numpts_full,km) bitmap fields full grid - if idir=-1 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>integer return code<ul>
+<li>0 successful transformation</li>
+<li>1 improper grid specification</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Trojan </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>7-7-13 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipxwafs3_8F90_source.html#l00088">88</a> of file <a class="el" href="ipxwafs3_8F90_source.html">ipxwafs3.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipxwafs3_8F90.html">ipxwafs3.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipxwafs3_8F90.js b/ver-4.4.0/ipxwafs3_8F90.js
new file mode 100644
index 00000000..30094c7a
--- /dev/null
+++ b/ver-4.4.0/ipxwafs3_8F90.js
@@ -0,0 +1,4 @@
+var ipxwafs3_8F90 =
+[
+    [ "ipxwafs3", "ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ipxwafs3_8F90_source.html b/ver-4.4.0/ipxwafs3_8F90_source.html
new file mode 100644
index 00000000..8bf06572
--- /dev/null
+++ b/ver-4.4.0/ipxwafs3_8F90_source.html
@@ -0,0 +1,289 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipxwafs3.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipxwafs3_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ipxwafs3.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ipxwafs3_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">   88</a></span>&#160;<span class="keyword">SUBROUTINE </span><a class="code" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">ipxwafs3</a>(IDIR, NUMPTS_THIN, NUMPTS_FULL, KM, NUM_OPT, OPT_PTS, &amp;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                    IGDTLEN, IGDTMPL_THIN, DATA_THIN, IB_THIN, BITMAP_THIN,  &amp;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                    IGDTMPL_FULL, DATA_FULL, IB_FULL, BITMAP_FULL, IRET)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: NUM_OPT</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: OPT_PTS(NUM_OPT)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IDIR, KM, NUMPTS_THIN, NUMPTS_FULL</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTLEN</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: IGDTMPL_THIN(IGDTLEN)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: IGDTMPL_FULL(IGDTLEN)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: IB_THIN(KM), IB_FULL(KM)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IRET</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; <span class="keywordtype">LOGICAL(KIND=1)</span>,       <span class="keywordtype">INTENT(INOUT)</span> :: BITMAP_THIN(NUMPTS_THIN,KM)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; <span class="keywordtype">LOGICAL(KIND=1)</span>,       <span class="keywordtype">INTENT(INOUT)</span> :: BITMAP_FULL(NUMPTS_FULL,KM)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype"> REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: DATA_THIN(NUMPTS_THIN,KM)</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype"> REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: DATA_FULL(NUMPTS_FULL,KM)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">PARAMETER</span>     :: MISSING=-1</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; <span class="keywordtype">INTEGER</span>                              :: SCAN_MODE, I, J, K, IDLAT, IDLON</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; <span class="keywordtype">INTEGER</span>                              :: IA, IB, IM, IM1, IM2, NPWAFS(73)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; <span class="keywordtype">INTEGER</span>                              :: IS1, IS2, ISCAN, ISCALE</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; <span class="keywordtype">LOGICAL</span>                              :: TEST1, TEST2</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordtype"> REAL</span>                                 :: DLON, HI</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keywordtype"> REAL</span>                                 :: RAT1, RAT2, RLON1, RLON2</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keywordtype"> REAL</span>                                 :: WA, WB, X1, X2</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; <span class="keyword">DATA</span> npwafs/ &amp;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;       73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 72, 71, 71, 71, 70,&amp;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;       70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 62, 61, 60, 60,&amp;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;       59, 58, 57, 56, 55, 54, 52, 51, 50, 49, 48, 47, 45, 44, 43,&amp;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;       42, 40, 39, 38, 36, 35, 33, 32, 30, 29, 28, 26, 25, 23, 22,&amp;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;       20, 19, 17, 16, 14, 12, 11,  9,  8,  6,  5,  3,  2/</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">!  TRANSFORM GDS</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; iret=0</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment">!  REG LAT/LON GRIDS HAVE 19 GDT ELEMENTS.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; <span class="keywordflow">IF</span> (igdtlen /= 19 .OR. numpts_thin/=3447 .OR. numpts_full/=5329) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;   iret=1</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;   <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">!  EXPAND THINNED GDS TO FULL GDS</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; <span class="keywordflow">IF</span>(idir.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;   scan_mode=igdtmpl_thin(19)</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;   iscale=igdtmpl_thin(10)*igdtmpl_thin(11)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;   <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;   idlat=nint(1.25*float(iscale))</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;   test1=all(opt_pts==npwafs)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;   test2=all(opt_pts==npwafs(73:1:-1))</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">!  SOME CHECKS TO ENSURE THIS IS A WAFS GRID</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;   <span class="keywordflow">IF</span>(scan_mode==64 .AND. igdtmpl_thin(9)==73 .AND. &amp;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      idlat==igdtmpl_thin(18) .AND. (test1 .OR. test2) ) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;     igdtmpl_full=igdtmpl_thin</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;     im=73</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;     igdtmpl_full(8)=im</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;     rlon1=float(igdtmpl_full(13))/float(iscale)</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;     rlon2=float(igdtmpl_full(16))/float(iscale)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;     iscan=mod(igdtmpl_full(19)/128,2)</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;     hi=(-1.)**iscan</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;     dlon=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;     igdtmpl_full(17)=nint(dlon*float(iscale))</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;   <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;     iret=1</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="keywordflow">   ENDIF</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment">!  CONTRACT FULL GDS TO THINNED GDS</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; <span class="keywordflow">ELSEIF</span>(idir.LT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;   scan_mode=igdtmpl_full(19)</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;   iscale=igdtmpl_full(10)*igdtmpl_full(11)</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;   <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;   idlat=nint(1.25*float(iscale))</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;   idlon=idlat</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="comment">!  SOME CHECKS TO ENSURE THIS IS A WAFS GRID</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;   <span class="keywordflow">IF</span>(scan_mode==64 .AND. igdtmpl_full(8)==73 .AND. igdtmpl_full(9)==73 .AND. &amp;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      num_opt==73 .AND. idlat==igdtmpl_full(18) .AND. idlon==igdtmpl_full(17))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;     igdtmpl_thin=igdtmpl_full</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;     igdtmpl_thin(8)=missing</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;     igdtmpl_thin(17)=missing</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;     <span class="keywordflow">IF</span>(igdtmpl_thin(12)==0) <span class="keywordflow">THEN</span>  <span class="comment">! IS LATITUDE OF ROW 1 THE EQUATOR?</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;       opt_pts=npwafs</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;     <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;       opt_pts=npwafs(73:1:-1)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keywordflow">     ENDIF</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;   <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;     iret=1</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keywordflow">   ENDIF</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment">!  TRANSFORM FIELDS</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">!  EXPAND THINNED FIELDS TO FULL FIELDS</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;   <span class="keywordflow">IF</span>(idir.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;     <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;       is1=0</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;       is2=0</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;       ib_full(k)=0</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;       <span class="keywordflow">DO</span> j=1,igdtmpl_full(9)</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;         im1=opt_pts(j)</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;         im2=igdtmpl_full(8)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;         rat1=float(im1-1)/float(im2-1)</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;         <span class="keywordflow">DO</span> i=1,im2</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;           x1=(i-1)*rat1+1</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;           ia=int(x1)</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;           ia=min(max(ia,1),im1-1)</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;           ib=ia+1</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;           wa=ib-x1</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;           wb=x1-ia</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;           <span class="keywordflow">IF</span>(wa.GE.wb) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;             <span class="keywordflow">IF</span>(ib_thin(k).EQ.0.OR.bitmap_thin(is1+ia,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;               data_full(is2+i,k)=data_thin(is1+ia,k)</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;               bitmap_full(is2+i,k)=.true.</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;               data_full(is2+i,k)=0.0</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;               bitmap_full(is2+i,k)=.false.</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;               ib_full(k)=1</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;           <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;             <span class="keywordflow">IF</span>(ib_thin(k).EQ.0.OR.bitmap_thin(is1+ib,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;               data_full(is2+i,k)=data_thin(is1+ib,k)</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;               bitmap_full(is2+i,k)=.true.</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;               data_full(is2+i,k)=0.0</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;               bitmap_full(is2+i,k)=.false.</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;               ib_full(k)=1</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keywordflow">           ENDIF</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keywordflow">         ENDDO</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;         is1=is1+im1</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;         is2=is2+im2</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keywordflow">     ENDDO</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="comment">!  CONTRACT FULL FIELDS TO THINNED FIELDS</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;   <span class="keywordflow">ELSEIF</span>(idir.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;     <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;       is1=0</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;       is2=0</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;       ib_thin(k)=0</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;       <span class="keywordflow">DO</span> j=1,igdtmpl_full(9)</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;         im1=opt_pts(j)</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;         im2=igdtmpl_full(8)</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;         rat2=float(im2-1)/float(im1-1)</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;         <span class="keywordflow">DO</span> i=1,im1</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;           x2=(i-1)*rat2+1</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;           ia=int(x2)</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;           ia=min(max(ia,1),im2-1)</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;           ib=ia+1</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;           wa=ib-x2</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;           wb=x2-ia</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;           <span class="keywordflow">IF</span>(wa.GE.wb) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;             <span class="keywordflow">IF</span>(ib_full(k).EQ.0.OR.bitmap_full(is2+ia,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;               data_thin(is1+i,k)=data_full(is2+ia,k)</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;               bitmap_thin(is1+i,k)=.true.</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;               data_thin(is1+i,k)=0.0</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;               bitmap_thin(is1+i,k)=.false.</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;               ib_thin(k)=1</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;           <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;             <span class="keywordflow">IF</span>(ib_full(k).EQ.0.OR.bitmap_full(is2+ib,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;               data_thin(is1+i,k)=data_full(is2+ib,k)</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;               bitmap_thin(is1+i,k)=.true.</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;               data_thin(is1+i,k)=0.0</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;               bitmap_thin(is1+i,k)=.false.</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;               ib_thin(k)=1</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordflow">           ENDIF</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordflow">         ENDDO</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;         is1=is1+im1</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;         is2=is2+im2</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keywordflow">     ENDDO</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="keywordflow">   ENDIF</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160; <span class="keyword">END SUBROUTINE </span><a class="code" href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">ipxwafs3</a></div>
+<div class="ttc" id="aipxwafs3_8F90_html_aae7be3c77cbe16d0219c86e443e6ec1d"><div class="ttname"><a href="ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d">ipxwafs3</a></div><div class="ttdeci">subroutine ipxwafs3(IDIR, NUMPTS_THIN, NUMPTS_FULL, KM, NUM_OPT, OPT_PTS, IGDTLEN, IGDTMPL_THIN, DATA_THIN, IB_THIN, BITMAP_THIN, IGDTMPL_FULL, DATA_FULL, IB_FULL, BITMAP_FULL, IRET)</div><div class="ttdoc">Expand or contract wafs grids using neighbor interpolation and accout for bitmapped data.</div><div class="ttdef"><b>Definition:</b> <a href="ipxwafs3_8F90_source.html#l00088">ipxwafs3.F90:91</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipxwafs3_8F90.html">ipxwafs3.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipxwafs_8F90.html b/ver-4.4.0/ipxwafs_8F90.html
new file mode 100644
index 00000000..6071c31d
--- /dev/null
+++ b/ver-4.4.0/ipxwafs_8F90.html
@@ -0,0 +1,278 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipxwafs.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipxwafs_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ipxwafs.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Expand or contract wafs grids.  
+<a href="#details">More...</a></p>
+
+<p><a href="ipxwafs_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a1465ea191950f7464bb3374abed94c12"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12">ipxwafs</a> (IDIR, NUMPTS_THIN, NUMPTS_FULL, KM, NUM_OPT, OPT_PTS, IGDTLEN, IGDTMPL_THIN, DATA_THIN, IGDTMPL_FULL, DATA_FULL, IRET)</td></tr>
+<tr class="memdesc:a1465ea191950f7464bb3374abed94c12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand or contract wafs grids.  <a href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12">More...</a><br /></td></tr>
+<tr class="separator:a1465ea191950f7464bb3374abed94c12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Expand or contract wafs grids. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ipxwafs_8F90_source.html">ipxwafs.F90</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a1465ea191950f7464bb3374abed94c12"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1465ea191950f7464bb3374abed94c12">&#9670;&nbsp;</a></span>ipxwafs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipxwafs </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IDIR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NUMPTS_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NUMPTS_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NUM_OPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(num_opt), intent(inout)&#160;</td>
+          <td class="paramname"><em>OPT_PTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(inout)&#160;</td>
+          <td class="paramname"><em>IGDTMPL_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(numpts_thin,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>DATA_THIN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(inout)&#160;</td>
+          <td class="paramname"><em>IGDTMPL_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(numpts_full,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>DATA_FULL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Expand or contract wafs grids. </p>
+<p>This subprogram transforms between the thinned wafs grids used for transmitting to the aviation community and their full expansion as used for general interpolation and graphics.</p>
+<p>The thinned wafs grids are latitude-longitude grids where the number of points in each row decrease toward the pole.</p>
+<p>This information is stored in the grib 2 grid definition template (section 3) starting at octet 73. The full grid counterparts have an equal number of points per row. The transform between the full and thinned wafs grid is done by linear interpolation and is not reversible.</p>
+<p>This routine does not work for bitmapped data.</p>
+<h3><a class="anchor" id="autotoc_md34"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-july   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">convert to grib 2   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">idir</td><td>integer transform option<ul>
+<li>(+1 to expand thinned fields to full fields)</li>
+<li>(-1 to contract full fields to thinned fields) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">numpts_thin</td><td>integer number of grid points - thinned grid. must be 3447. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">numpts_full</td><td>integer number of grid points - full grid. must be 5329 (73^2). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>integer number of fields to transform </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">num_opt</td><td>integer number of values to describe the thinned grid. must be 73. dimension of array opt_pts. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">opt_pts</td><td>integer (num_opt) number of grid points per row - thinned grid - if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>integer grid defintion template array length. must be 19 for lat/lon grids. corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. same for thin and full grids which are both lat/lon. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">igdtmpl_thin</td><td>integer (igdtlen) grid definition template array - thinned grid - if idir=+1. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info):<ul>
+<li>1 shape of earth, octet 15</li>
+<li>2 scale factor of spherical earth radius, octet 16</li>
+<li>3 scaled value of radius of spherical earth, octets 17-20</li>
+<li>4 scale factor of major axis of elliptical earth, octet 21</li>
+<li>5 scaled value of major axis of elliptical earth, octets 22-25</li>
+<li>6 scale factor of minor axis of elliptical earth, octet 26</li>
+<li>7 scaled value of minor axis of elliptical earth, octets 27-30</li>
+<li>8 set to missing for thinned grid., octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42.</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 set to missing for thinned grid, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">data_thin</td><td>real (numpts_thin,km) thinned grid fields if idir=+1 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">igdtmpl_full</td><td>integer (igdtlen) grid definition template array - full grid - if idir=-1. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. same as igdtmpl_thin except:<ul>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>17 i-direction increment, octets 64-67 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">data_full</td><td>real (numpts_full,km) full grid fields if idir=-1 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>integer return code<ul>
+<li>0 successful transformation</li>
+<li>1 improper grid specification</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipxwafs_8F90_source.html#l00081">81</a> of file <a class="el" href="ipxwafs_8F90_source.html">ipxwafs.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipxwafs_8F90.html">ipxwafs.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/ipxwafs_8F90.js b/ver-4.4.0/ipxwafs_8F90.js
new file mode 100644
index 00000000..79c0b5e0
--- /dev/null
+++ b/ver-4.4.0/ipxwafs_8F90.js
@@ -0,0 +1,4 @@
+var ipxwafs_8F90 =
+[
+    [ "ipxwafs", "ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/ipxwafs_8F90_source.html b/ver-4.4.0/ipxwafs_8F90_source.html
new file mode 100644
index 00000000..8075784c
--- /dev/null
+++ b/ver-4.4.0/ipxwafs_8F90_source.html
@@ -0,0 +1,248 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipxwafs.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('ipxwafs_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ipxwafs.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ipxwafs_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12">   81</a></span>&#160; <span class="keyword">SUBROUTINE </span><a class="code" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12">ipxwafs</a>(IDIR, NUMPTS_THIN, NUMPTS_FULL, KM, NUM_OPT, &amp;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                    OPT_PTS, IGDTLEN, IGDTMPL_THIN, DATA_THIN,  &amp;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                    IGDTMPL_FULL, DATA_FULL, IRET)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: NUM_OPT</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: OPT_PTS(NUM_OPT)</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IDIR, KM, NUMPTS_THIN, NUMPTS_FULL</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IGDTLEN</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: IGDTMPL_THIN(IGDTLEN)</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: IGDTMPL_FULL(IGDTLEN)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IRET</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordtype"> REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: DATA_THIN(NUMPTS_THIN,KM)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordtype"> REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: DATA_FULL(NUMPTS_FULL,KM)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">PARAMETER</span>     :: MISSING=-1</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; <span class="keywordtype">INTEGER</span>                              :: SCAN_MODE, I, J, K, IDLAT, IDLON</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; <span class="keywordtype">INTEGER</span>                              :: IA, IB, IM, IM1, IM2, NPWAFS(73)</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160; <span class="keywordtype">INTEGER</span>                              :: IS1, IS2, ISCAN, ISCALE</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; <span class="keywordtype">LOGICAL</span>                              :: TEST1, TEST2</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype"> REAL</span>                                 :: DLON, HI</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype"> REAL</span>                                 :: RAT1, RAT2, RLON1, RLON2</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordtype"> REAL</span>                                 :: WA, WB, X1, X2</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; <span class="keyword">DATA</span> npwafs/ &amp;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;       73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 72, 71, 71, 71, 70,&amp;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;       70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 62, 61, 60, 60,&amp;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;       59, 58, 57, 56, 55, 54, 52, 51, 50, 49, 48, 47, 45, 44, 43,&amp;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;       42, 40, 39, 38, 36, 35, 33, 32, 30, 29, 28, 26, 25, 23, 22,&amp;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;       20, 19, 17, 16, 14, 12, 11,  9,  8,  6,  5,  3,  2/</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">!  TRANSFORM GDS</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; iret=0</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">!  REG LAT/LON GRIDS HAVE 19 GDT ELEMENTS.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; <span class="keywordflow">IF</span> (igdtlen /= 19 .OR. numpts_thin/=3447 .OR. numpts_full/=5329) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;   iret=1</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;   <span class="keywordflow">RETURN</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">!  EXPAND THINNED GDS TO FULL GDS</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; <span class="keywordflow">IF</span>(idir.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;   scan_mode=igdtmpl_thin(19)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;   iscale=igdtmpl_thin(10)*igdtmpl_thin(11)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;   <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;   idlat=nint(1.25*float(iscale))</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;   test1=all(opt_pts==npwafs)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;   test2=all(opt_pts==npwafs(73:1:-1))</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">!  SOME CHECKS TO ENSURE THIS IS A WAFS GRID</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;   <span class="keywordflow">IF</span>(scan_mode==64 .AND. igdtmpl_thin(9)==73 .AND. &amp;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;      idlat==igdtmpl_thin(18) .AND. (test1 .OR. test2) ) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;     igdtmpl_full=igdtmpl_thin</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;     im=73</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;     igdtmpl_full(8)=im</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;     rlon1=float(igdtmpl_full(13))/float(iscale)</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;     rlon2=float(igdtmpl_full(16))/float(iscale)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;     iscan=mod(igdtmpl_full(19)/128,2)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;     hi=(-1.)**iscan</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;     dlon=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;     igdtmpl_full(17)=nint(dlon*float(iscale))</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;   <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;     iret=1</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordflow">   ENDIF</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">!  CONTRACT FULL GDS TO THINNED GDS</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; <span class="keywordflow">ELSEIF</span>(idir.LT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;   scan_mode=igdtmpl_full(19)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;   iscale=igdtmpl_full(10)*igdtmpl_full(11)</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;   <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;   idlat=nint(1.25*float(iscale))</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;   idlon=idlat</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="comment">!  SOME CHECKS TO ENSURE THIS IS A WAFS GRID</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;   <span class="keywordflow">IF</span>(scan_mode==64 .AND. igdtmpl_full(8)==73 .AND. igdtmpl_full(9)==73 .AND. &amp;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;      num_opt==73 .AND. idlat==igdtmpl_full(18) .AND. idlon==igdtmpl_full(17))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;     igdtmpl_thin=igdtmpl_full</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;     igdtmpl_thin(8)=missing</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;     igdtmpl_thin(17)=missing</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;     <span class="keywordflow">IF</span>(igdtmpl_thin(12)==0) <span class="keywordflow">THEN</span>  <span class="comment">! IS LATITUDE OF ROW 1 THE EQUATOR?</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;       opt_pts=npwafs</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;     <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;       opt_pts=npwafs(73:1:-1)</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keywordflow">     ENDIF</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;   <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;     iret=1</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keywordflow">   ENDIF</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment">!  TRANSFORM FIELDS</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="comment">!  EXPAND THINNED FIELDS TO FULL FIELDS</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;   <span class="keywordflow">IF</span>(idir.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;     <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;       is1=0</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;       is2=0</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;       <span class="keywordflow">DO</span> j=1,igdtmpl_full(9)</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;         im1=opt_pts(j)</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;         im2=igdtmpl_full(8)</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;         rat1=float(im1-1)/float(im2-1)</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;         <span class="keywordflow">DO</span> i=1,im2</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;           x1=(i-1)*rat1+1</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;           ia=int(x1)</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;           ia=min(max(ia,1),im1-1)</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;           ib=ia+1</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;           wa=ib-x1</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;           wb=x1-ia</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;           data_full(is2+i,k)=wa*data_thin(is1+ia,k)+wb*data_thin(is1+ib,k)</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keywordflow">         ENDDO</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;         is1=is1+im1</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;         is2=is2+im2</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keywordflow">     ENDDO</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="comment">!  CONTRACT FULL FIELDS TO THINNED FIELDS</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;   <span class="keywordflow">ELSEIF</span>(idir.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;     <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;       is1=0</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;       is2=0</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;       <span class="keywordflow">DO</span> j=1,igdtmpl_full(9)</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;         im1=opt_pts(j)</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;         im2=igdtmpl_full(8)</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;         rat2=float(im2-1)/float(im1-1)</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;         <span class="keywordflow">DO</span> i=1,im1</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;           x2=(i-1)*rat2+1</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;           ia=int(x2)</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;           ia=min(max(ia,1),im2-1)</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;           ib=ia+1</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;           wa=ib-x2</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;           wb=x2-ia</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;           data_thin(is1+i,k)=wa*data_full(is2+ia,k)+wb*data_full(is2+ib,k)</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordflow">         ENDDO</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;         is1=is1+im1</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;         is2=is2+im2</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="keywordflow">     ENDDO</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="keywordflow">   ENDIF</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160; <span class="keyword">END SUBROUTINE </span><a class="code" href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12">ipxwafs</a></div>
+<div class="ttc" id="aipxwafs_8F90_html_a1465ea191950f7464bb3374abed94c12"><div class="ttname"><a href="ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12">ipxwafs</a></div><div class="ttdeci">subroutine ipxwafs(IDIR, NUMPTS_THIN, NUMPTS_FULL, KM, NUM_OPT, OPT_PTS, IGDTLEN, IGDTMPL_THIN, DATA_THIN, IGDTMPL_FULL, DATA_FULL, IRET)</div><div class="ttdoc">Expand or contract wafs grids.</div><div class="ttdef"><b>Definition:</b> <a href="ipxwafs_8F90_source.html#l00081">ipxwafs.F90:84</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="ipxwafs_8F90.html">ipxwafs.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/jquery.js b/ver-4.4.0/jquery.js
new file mode 100644
index 00000000..103c32d7
--- /dev/null
+++ b/ver-4.4.0/jquery.js
@@ -0,0 +1,35 @@
+/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
+/*! jQuery UI - v1.12.1 - 2019-01-27
+* http://jqueryui.com
+* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}t.ui=t.ui||{},t.ui.version="1.12.1";var i=0,s=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;r>a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,m,g,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),x={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,m=_.offset,g=t.extend({},m),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),x[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?g.left+=p:"center"===n.at[0]&&(g.left+=p/2),"bottom"===n.at[1]?g.top+=f:"center"===n.at[1]&&(g.top+=f/2),u=e(x.at,p,f),g.left+=u[0],g.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),k=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},g),T=e(x.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:k,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=m.left-D.left,i=e+p-l,s=m.top-D.top,r=s+f-c,u={target:{element:v,left:m.left,top:m.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element
+},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/**
+ * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
+ * Licensed under MIT
+ * @author Ariel Flesler
+ * @version 2.1.2
+ */
+;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
+/*!
+ PowerTip v1.3.1 (2018-04-15)
+ https://stevenbenner.github.io/jquery-powertip/
+ Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).
+ Released under MIT license.
+ https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
+*/
+(function(root,factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$("body");var DATA_DISPLAYCONTROLLER="displayController",DATA_HASACTIVEHOVER="hasActiveHover",DATA_FORCEDOPEN="forcedOpen",DATA_HASMOUSEMOVE="hasMouseMove",DATA_MOUSEONTOTIP="mouseOnToPopup",DATA_ORIGINALTITLE="originalTitle",DATA_POWERTIP="powertip",DATA_POWERTIPJQ="powertipjq",DATA_POWERTIPTARGET="powertiptarget",EVENT_NAMESPACE=".powertip",RAD2DEG=180/Math.PI,MOUSE_EVENTS=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)==="string"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr("title");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr("title")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split("-")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case"n":coords.set("left",position.left-tipWidth/2);coords.set("bottom",session.windowHeight-position.top+offset);break;case"e":coords.set("left",position.left+offset);coords.set("top",position.top-tipHeight/2);break;case"s":coords.set("left",position.left-tipWidth/2);coords.set("top",position.top+offset);break;case"w":coords.set("top",position.top-tipHeight/2);coords.set("right",session.windowWidth-position.left+offset);break;case"nw":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"nw-alt":coords.set("left",position.left);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne":coords.set("left",position.left-20);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne-alt":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left);break;case"sw":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"sw-alt":coords.set("left",position.left);coords.set("top",position.top+offset);break;case"se":coords.set("left",position.left-20);coords.set("top",position.top+offset);break;case"se-alt":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case"n":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case"e":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case"s":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case"w":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case"nw":left=objectOffset.left;top=objectOffset.top;break;case"ne":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case"sw":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case"se":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest("svg")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=["nw","n","ne","e","se","s","sw","w"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$("#"+options.popupId);if(tipElement.length===0){tipElement=$("<div/>",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});/*!
+ * jQuery UI Touch Punch 0.2.3
+ *
+ * Copyright 2011–2014, Dave Furfero
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ *
+ * Depends:
+ *  jquery.ui.widget.js
+ *  jquery.ui.mouse.js
+ */
+!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
+ * http://www.smartmenus.org/
+ * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("<span/>").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],$('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(e.wheelDelta||-e.detail)>0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$});
\ No newline at end of file
diff --git a/ver-4.4.0/menu.js b/ver-4.4.0/menu.js
new file mode 100644
index 00000000..2fe2214f
--- /dev/null
+++ b/ver-4.4.0/menu.js
@@ -0,0 +1,51 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
+  function makeTree(data,relPath) {
+    var result='';
+    if ('children' in data) {
+      result+='<ul>';
+      for (var i in data.children) {
+        result+='<li><a href="'+relPath+data.children[i].url+'">'+
+                                data.children[i].text+'</a>'+
+                                makeTree(data.children[i],relPath)+'</li>';
+      }
+      result+='</ul>';
+    }
+    return result;
+  }
+
+  $('#main-nav').append(makeTree(menudata,relPath));
+  $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
+  if (searchEnabled) {
+    if (serverSide) {
+      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
+    } else {
+      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
+    }
+  }
+  $('#main-menu').smartmenus();
+}
+/* @license-end */
diff --git a/ver-4.4.0/menudata.js b/ver-4.4.0/menudata.js
new file mode 100644
index 00000000..85da8757
--- /dev/null
+++ b/ver-4.4.0/menudata.js
@@ -0,0 +1,121 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+*/
+var menudata={children:[
+{text:"Main Page",url:"index.html"},
+{text:"Modules",url:"namespaces.html",children:[
+{text:"Modules List",url:"namespaces.html"},
+{text:"Module Members",url:"namespacemembers.html",children:[
+{text:"All",url:"namespacemembers.html",children:[
+{text:"a",url:"namespacemembers.html#index_a"},
+{text:"b",url:"namespacemembers.html#index_b"},
+{text:"c",url:"namespacemembers.html#index_c"},
+{text:"d",url:"namespacemembers.html#index_d"},
+{text:"e",url:"namespacemembers.html#index_e"},
+{text:"f",url:"namespacemembers.html#index_f"},
+{text:"g",url:"namespacemembers.html#index_g"},
+{text:"h",url:"namespacemembers.html#index_h"},
+{text:"i",url:"namespacemembers.html#index_i"},
+{text:"j",url:"namespacemembers.html#index_j"},
+{text:"k",url:"namespacemembers.html#index_k"},
+{text:"l",url:"namespacemembers.html#index_l"},
+{text:"m",url:"namespacemembers.html#index_m"},
+{text:"n",url:"namespacemembers.html#index_n"},
+{text:"o",url:"namespacemembers.html#index_o"},
+{text:"p",url:"namespacemembers.html#index_p"},
+{text:"r",url:"namespacemembers.html#index_r"},
+{text:"s",url:"namespacemembers.html#index_s"},
+{text:"y",url:"namespacemembers.html#index_y"}]},
+{text:"Functions/Subroutines",url:"namespacemembers_func.html",children:[
+{text:"e",url:"namespacemembers_func.html#index_e"},
+{text:"f",url:"namespacemembers_func.html#index_f"},
+{text:"g",url:"namespacemembers_func.html#index_g"},
+{text:"i",url:"namespacemembers_func.html#index_i"},
+{text:"l",url:"namespacemembers_func.html#index_l"},
+{text:"m",url:"namespacemembers_func.html#index_m"},
+{text:"p",url:"namespacemembers_func.html#index_p"},
+{text:"r",url:"namespacemembers_func.html#index_r"}]},
+{text:"Variables",url:"namespacemembers_vars.html",children:[
+{text:"a",url:"namespacemembers_vars.html#index_a"},
+{text:"b",url:"namespacemembers_vars.html#index_b"},
+{text:"c",url:"namespacemembers_vars.html#index_c"},
+{text:"d",url:"namespacemembers_vars.html#index_d"},
+{text:"e",url:"namespacemembers_vars.html#index_e"},
+{text:"g",url:"namespacemembers_vars.html#index_g"},
+{text:"h",url:"namespacemembers_vars.html#index_h"},
+{text:"i",url:"namespacemembers_vars.html#index_i"},
+{text:"j",url:"namespacemembers_vars.html#index_j"},
+{text:"k",url:"namespacemembers_vars.html#index_k"},
+{text:"l",url:"namespacemembers_vars.html#index_l"},
+{text:"m",url:"namespacemembers_vars.html#index_m"},
+{text:"n",url:"namespacemembers_vars.html#index_n"},
+{text:"o",url:"namespacemembers_vars.html#index_o"},
+{text:"p",url:"namespacemembers_vars.html#index_p"},
+{text:"r",url:"namespacemembers_vars.html#index_r"},
+{text:"s",url:"namespacemembers_vars.html#index_s"},
+{text:"y",url:"namespacemembers_vars.html#index_y"}]}]}]},
+{text:"Data Types List",url:"annotated.html",children:[
+{text:"Data Types List",url:"annotated.html"},
+{text:"Class Hierarchy",url:"hierarchy.html"},
+{text:"Data Fields",url:"functions.html",children:[
+{text:"All",url:"functions.html",children:[
+{text:"c",url:"functions.html#index_c"},
+{text:"d",url:"functions.html#index_d"},
+{text:"e",url:"functions.html#index_e"},
+{text:"f",url:"functions.html#index_f"},
+{text:"g",url:"functions.html#index_g"},
+{text:"h",url:"functions.html#index_h"},
+{text:"i",url:"functions.html#index_i"},
+{text:"j",url:"functions.html#index_j"},
+{text:"k",url:"functions.html#index_k"},
+{text:"n",url:"functions.html#index_n"},
+{text:"o",url:"functions.html#index_o"},
+{text:"p",url:"functions.html#index_p"},
+{text:"r",url:"functions.html#index_r"},
+{text:"s",url:"functions.html#index_s"},
+{text:"w",url:"functions.html#index_w"}]},
+{text:"Functions/Subroutines",url:"functions_func.html",children:[
+{text:"f",url:"functions_func.html#index_f"},
+{text:"g",url:"functions_func.html#index_g"},
+{text:"i",url:"functions_func.html#index_i"},
+{text:"p",url:"functions_func.html#index_p"}]},
+{text:"Variables",url:"functions_vars.html",children:[
+{text:"c",url:"functions_vars.html#index_c"},
+{text:"d",url:"functions_vars.html#index_d"},
+{text:"e",url:"functions_vars.html#index_e"},
+{text:"g",url:"functions_vars.html#index_g"},
+{text:"h",url:"functions_vars.html#index_h"},
+{text:"i",url:"functions_vars.html#index_i"},
+{text:"j",url:"functions_vars.html#index_j"},
+{text:"k",url:"functions_vars.html#index_k"},
+{text:"n",url:"functions_vars.html#index_n"},
+{text:"o",url:"functions_vars.html#index_o"},
+{text:"r",url:"functions_vars.html#index_r"},
+{text:"s",url:"functions_vars.html#index_s"},
+{text:"w",url:"functions_vars.html#index_w"}]}]}]},
+{text:"Files",url:"files.html",children:[
+{text:"File List",url:"files.html"},
+{text:"Globals",url:"globals.html",children:[
+{text:"All",url:"globals.html"},
+{text:"Functions/Subroutines",url:"globals_func.html"}]}]}]}
diff --git a/ver-4.4.0/movect_8F90.html b/ver-4.4.0/movect_8F90.html
new file mode 100644
index 00000000..c2faf1e3
--- /dev/null
+++ b/ver-4.4.0/movect_8F90.html
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: movect.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('movect_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">movect.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Move a vector along a great circle.  
+<a href="#details">More...</a></p>
+
+<p><a href="movect_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a5974e32c0cf90a65b39c68460d761882"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a> (FLAT, FLON, TLAT, TLON, CROT, SROT)</td></tr>
+<tr class="memdesc:a5974e32c0cf90a65b39c68460d761882"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram provides the rotation parameters to move a vector along a great circle from one position to another while conserving its orientation with respect to the great circle.  <a href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">More...</a><br /></td></tr>
+<tr class="separator:a5974e32c0cf90a65b39c68460d761882"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Move a vector along a great circle. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="movect_8F90_source.html">movect.F90</a>.</p>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a5974e32c0cf90a65b39c68460d761882"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5974e32c0cf90a65b39c68460d761882">&#9670;&nbsp;</a></span>movect()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine movect </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>TLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>TLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram provides the rotation parameters to move a vector along a great circle from one position to another while conserving its orientation with respect to the great circle. </p>
+<p>These rotation parameters are useful for vector interpolation.</p>
+<h3><a class="anchor" id="autotoc_md37"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1999-04-08   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">generalize precision   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">flat</td><td>real latitude in degrees from which to move the vector. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">flon</td><td>real longitude in degrees from which to move the vector. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">tlat</td><td>real latitude in degrees to which to move the vector. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">tlon</td><td>real longitude in degrees to which to move the vector. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>real clockwise vector rotation cosine. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>real clockwise vector rotation sine. (uto=crot*ufrom-srot*vfrom; vto=srot*ufrom+crot*vfrom)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="movect_8F90_source.html#l00025">25</a> of file <a class="el" href="movect_8F90_source.html">movect.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="bicubic__interp__mod_8F90_source.html#l00341">bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_vector()</a>, <a class="el" href="bilinear__interp__mod_8F90_source.html#l00332">bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_vector()</a>, <a class="el" href="budget__interp__mod_8F90_source.html#l00426">budget_interp_mod::interpolate_budget::interpolate_budget_vector()</a>, <a class="el" href="neighbor__budget__interp__mod_8F90_source.html#l00354">neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_vector()</a>, and <a class="el" href="neighbor__interp__mod_8F90_source.html#l00355">neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_vector()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="movect_8F90.html">movect.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/movect_8F90.js b/ver-4.4.0/movect_8F90.js
new file mode 100644
index 00000000..033e8055
--- /dev/null
+++ b/ver-4.4.0/movect_8F90.js
@@ -0,0 +1,4 @@
+var movect_8F90 =
+[
+    [ "movect", "movect_8F90.html#a5974e32c0cf90a65b39c68460d761882", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/movect_8F90_source.html b/ver-4.4.0/movect_8F90_source.html
new file mode 100644
index 00000000..da72283e
--- /dev/null
+++ b/ver-4.4.0/movect_8F90_source.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: movect.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('movect_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">movect.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="movect_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">   25</a></span>&#160; <span class="keyword">SUBROUTINE </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(FLAT,FLON,TLAT,TLON,CROT,SROT)</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">PARAMETER</span>     :: KD=selected_real_kind(15,45)</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keywordtype"> REAL</span>,            <span class="keywordtype">INTENT(IN   )</span> :: FLAT, FLON</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keywordtype"> REAL</span>,            <span class="keywordtype">INTENT(IN   )</span> :: TLAT, TLON</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keywordtype"> REAL</span>,            <span class="keywordtype">INTENT(  OUT)</span> :: CROT, SROT</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keywordtype"> REAL</span>(KIND=kd),   <span class="keywordtype">PARAMETER</span>     :: crdlim=0.9999999</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keywordtype"> REAL</span>(KIND=kd),   <span class="keywordtype">PARAMETER</span>     :: pi=3.14159265358979</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keywordtype"> REAL</span>(KIND=kd),   <span class="keywordtype">PARAMETER</span>     :: dpr=180./pi</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">!</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordtype"> REAL</span>(KIND=kd)                  :: ctlat,stlat,cflat,sflat</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keywordtype"> REAL</span>(KIND=kd)                  :: cdlon,sdlon,crd</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keywordtype"> REAL</span>(KIND=kd)                  :: srd2rn,str,ctr,sfr,cfr</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">!  COMPUTE COSINE OF THE RADIAL DISTANCE BETWEEN THE POINTS.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; ctlat=cos(tlat/dpr)</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; stlat=sin(tlat/dpr)</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; cflat=cos(flat/dpr)</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; sflat=sin(flat/dpr)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; cdlon=cos((flon-tlon)/dpr)</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; sdlon=sin((flon-tlon)/dpr)</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; crd=stlat*sflat+ctlat*cflat*cdlon</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">!  COMPUTE ROTATIONS AT BOTH POINTS WITH RESPECT TO THE GREAT CIRCLE</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">!  AND COMBINE THEM TO GIVE THE TOTAL VECTOR ROTATION PARAMETERS.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; <span class="keywordflow">IF</span>(abs(crd).LE.crdlim) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;   srd2rn=-1/(1-crd**2)</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;   str=cflat*sdlon</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;   ctr=cflat*stlat*cdlon-sflat*ctlat</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;   sfr=ctlat*sdlon</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;   cfr=ctlat*sflat*cdlon-stlat*cflat</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;   crot=real(srd2rn*(ctr*cfr-str*sfr))</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;   srot=real(srd2rn*(ctr*sfr+str*cfr))</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">!  USE A DIFFERENT APPROXIMATION FOR NEARLY COINCIDENT POINTS.</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">!  MOVING VECTORS TO ANTIPODAL POINTS IS AMBIGUOUS ANYWAY.</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;   crot=real(cdlon)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;   srot=real(sdlon*stlat)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordflow"> ENDIF</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; <span class="keyword">END SUBROUTINE </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a></div>
+<div class="ttc" id="amovect_8F90_html_a5974e32c0cf90a65b39c68460d761882"><div class="ttname"><a href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a></div><div class="ttdeci">subroutine movect(FLAT, FLON, TLAT, TLON, CROT, SROT)</div><div class="ttdoc">This subprogram provides the rotation parameters to move a vector along a great circle from one posit...</div><div class="ttdef"><b>Definition:</b> <a href="movect_8F90_source.html#l00025">movect.F90:26</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="movect_8F90.html">movect.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacebicubic__interp__mod.html b/ver-4.4.0/namespacebicubic__interp__mod.html
new file mode 100644
index 00000000..6d521e2f
--- /dev/null
+++ b/ver-4.4.0/namespacebicubic__interp__mod.html
@@ -0,0 +1,475 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: bicubic_interp_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacebicubic__interp__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">bicubic_interp_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Bicubic interpolation routines for scalars and vectors.  
+<a href="namespacebicubic__interp__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html">interpolate_bicubic</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a54a442e47f1be9511c1684a337d7e2d1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">interpolate_bicubic_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a54a442e47f1be9511c1684a337d7e2d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bicubic interpolation from any grid to any grid for scalar fields.  <a href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">More...</a><br /></td></tr>
+<tr class="separator:a54a442e47f1be9511c1684a337d7e2d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d27db7d350fc2699aaf5057c3b53d16"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">interpolate_bicubic_vector</a> (ipopt, grid_in, grid_out, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:a9d27db7d350fc2699aaf5057c3b53d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bicubic interpolation from any grid to any grid for vector fields.  <a href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">More...</a><br /></td></tr>
+<tr class="separator:a9d27db7d350fc2699aaf5057c3b53d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Bicubic interpolation routines for scalars and vectors. </p>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a54a442e47f1be9511c1684a337d7e2d1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a54a442e47f1be9511c1684a337d7e2d1">&#9670;&nbsp;</a></span>interpolate_bicubic_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine bicubic_interp_mod::interpolate_bicubic_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs bicubic interpolation from any grid to any grid for scalar fields. </p>
+<p>Bitmaps are now allowed even when invalid points are within the bicubic template provided the minimum weight is reached.</p>
+<p>Options allow choices between straight bicubic (ipopt(1)=0) and constrained bicubic (ipopt(1)=1) where the value is confined within the range of the surrounding 16 points.</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(2)) which defaults to 50 (if ipopt(2)=-1).</p>
+<p>Bilinear used within one grid length of boundaries. Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where for the input and output grids, respectively: as an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input. output bitmaps will only be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options.<ul>
+<li>ipopt(1)=0 For straight bicubic;</li>
+<li>ipopt(1)=1 For constrained bicubic where value is confined within the range of the surrounding 4 points.</li>
+<li>ipopt(2) Is minimum percentage for mask (defaults to 50 if ipopt(2)=-1)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if some ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>Number of output points (only if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 successful interpolation,</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="bicubic__interp__mod_8F90_source.html#l00080">80</a> of file <a class="el" href="bicubic__interp__mod_8F90_source.html">bicubic_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a9d27db7d350fc2699aaf5057c3b53d16"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d27db7d350fc2699aaf5057c3b53d16">&#9670;&nbsp;</a></span>interpolate_bicubic_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine bicubic_interp_mod::interpolate_bicubic_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs bicubic interpolation from any grid to any grid for vector fields. </p>
+<p>Bitmaps are now allowed even when invalid points are within the bicubic template provided the minimum weight is reached.</p>
+<p>Options allow choices between straight bicubic (ipopt(1)=0) and constrained bicubic (ipopt(1)=1) where the value is confined within the range of the surrounding 16 points.</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(2)) which defaults to 50 (if ipopt(2)=-1).</p>
+<p>Bilinear used within one grid length of boundaries. Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where for the input and output grids, respectively: as an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input.</p>
+<p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>integer (20) interpolation options<ul>
+<li>ipopt(1)=0 for straight bicubic;</li>
+<li>ipopt(1)=1 for constrained bicubic where value is confined within the range of the surrounding 4 points.</li>
+<li>ipopt(2) is minimum percentage for mask (defaults to 50 if ipopt(2)=-1) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if some ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>Number of output points (only if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&lt;0) ugrid=crot*uearth-srot*vearth. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&lt;0) vgrid=srot*uearth+crot*vearth). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="bicubic__interp__mod_8F90_source.html#l00338">338</a> of file <a class="el" href="bicubic__interp__mod_8F90_source.html">bicubic_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacebicubic__interp__mod.html">bicubic_interp_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacebicubic__interp__mod.js b/ver-4.4.0/namespacebicubic__interp__mod.js
new file mode 100644
index 00000000..bd0e9a49
--- /dev/null
+++ b/ver-4.4.0/namespacebicubic__interp__mod.js
@@ -0,0 +1,6 @@
+var namespacebicubic__interp__mod =
+[
+    [ "interpolate_bicubic", "interfacebicubic__interp__mod_1_1interpolate__bicubic.html", "interfacebicubic__interp__mod_1_1interpolate__bicubic" ],
+    [ "interpolate_bicubic_scalar", "namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1", null ],
+    [ "interpolate_bicubic_vector", "namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespacebilinear__interp__mod.html b/ver-4.4.0/namespacebilinear__interp__mod.html
new file mode 100644
index 00000000..73800708
--- /dev/null
+++ b/ver-4.4.0/namespacebilinear__interp__mod.html
@@ -0,0 +1,465 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: bilinear_interp_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacebilinear__interp__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">bilinear_interp_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Bilinear interpolation routines for scalars and vectors.  
+<a href="namespacebilinear__interp__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html">interpolate_bilinear</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a34d2eea4682104097dccf3e7ab6a9398"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">interpolate_bilinear_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a34d2eea4682104097dccf3e7ab6a9398"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bilinear interpolation from any grid to any grid for scalar fields.  <a href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">More...</a><br /></td></tr>
+<tr class="separator:a34d2eea4682104097dccf3e7ab6a9398"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc218f8774d2af09299eb299d6f38e04"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">interpolate_bilinear_vector</a> (ipopt, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:abc218f8774d2af09299eb299d6f38e04"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs bilinear interpolation from any grid to any grid for vector fields.  <a href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">More...</a><br /></td></tr>
+<tr class="separator:abc218f8774d2af09299eb299d6f38e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Bilinear interpolation routines for scalars and vectors. </p>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a34d2eea4682104097dccf3e7ab6a9398"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a34d2eea4682104097dccf3e7ab6a9398">&#9670;&nbsp;</a></span>interpolate_bilinear_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine bilinear_interp_mod::interpolate_bilinear_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs bilinear interpolation from any grid to any grid for scalar fields. </p>
+<p>Options allow varying the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(1)) which defaults to 50 (if ipopt(1)=-1). only horizontal interpolation is performed. if no input data is found near the output point, a spiral search may be invoked by setting ipopt(2)&gt; 0. no searching is done if output point is outside the input grid. as an added bonus the number of output grid points and their latitudes and longitudes are also returned. on the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input. input bitmaps will be interpolated to output bitmaps. output bitmaps will also be created when the output grid extends outside of the domain of the input grid.</p>
+<p>The output field is set to 0 where the output bitmap is off. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>interpolation options<ul>
+<li>ipopt(1) is minimum percentage for mask (defaults to 50 if ipopt(1)=-1)</li>
+<li>ipopt(2) is width of square to examine in spiral search (defaults to no search if ipopt(2)=-1) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>input grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>output grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="bilinear__interp__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="bilinear__interp__mod_8F90_source.html">bilinear_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="abc218f8774d2af09299eb299d6f38e04"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc218f8774d2af09299eb299d6f38e04">&#9670;&nbsp;</a></span>interpolate_bilinear_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine bilinear_interp_mod::interpolate_bilinear_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs bilinear interpolation from any grid to any grid for vector fields. </p>
+<p>Options allow varying the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(1)) which defaults to 50 (if ipopt(1)=-1).</p>
+<p>Only horizontal interpolation is performed. the input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. on the other hand, the data may be interpolated to a set of station points if igdtnumo &lt; 0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters. input bitmaps will be interpolated to output bitmaps. output bitmaps will also be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>interpolation options<ul>
+<li>ipopt(1) is minimum percentage for mask (defaults to 50 if ipopt(1)=-1) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>vector rotation cosines (if igdtnumo&lt;0) ugrid=crot*uearth-srot*vearth; </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>vector rotation sines (if igdtnumo&lt;0) vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="bilinear__interp__mod_8F90_source.html#l00329">329</a> of file <a class="el" href="bilinear__interp__mod_8F90_source.html">bilinear_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacebilinear__interp__mod.html">bilinear_interp_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacebilinear__interp__mod.js b/ver-4.4.0/namespacebilinear__interp__mod.js
new file mode 100644
index 00000000..b8f83c44
--- /dev/null
+++ b/ver-4.4.0/namespacebilinear__interp__mod.js
@@ -0,0 +1,6 @@
+var namespacebilinear__interp__mod =
+[
+    [ "interpolate_bilinear", "interfacebilinear__interp__mod_1_1interpolate__bilinear.html", "interfacebilinear__interp__mod_1_1interpolate__bilinear" ],
+    [ "interpolate_bilinear_scalar", "namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398", null ],
+    [ "interpolate_bilinear_vector", "namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespacebudget__interp__mod.html b/ver-4.4.0/namespacebudget__interp__mod.html
new file mode 100644
index 00000000..eecf6611
--- /dev/null
+++ b/ver-4.4.0/namespacebudget__interp__mod.html
@@ -0,0 +1,476 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: budget_interp_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacebudget__interp__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">budget_interp_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Budget interpolation routines for scalars and vectors.  
+<a href="namespacebudget__interp__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html">interpolate_budget</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a09bd6535b0c2e1022cfde39c39d14466"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">interpolate_budget_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a09bd6535b0c2e1022cfde39c39d14466"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs budget interpolation from any grid to any grid (or to random station points) for scalar fields.  <a href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">More...</a><br /></td></tr>
+<tr class="separator:a09bd6535b0c2e1022cfde39c39d14466"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc99486ee9c0091c1514af6114d4e803"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">interpolate_budget_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:abc99486ee9c0091c1514af6114d4e803"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram performs budget interpolation from any grid to any grid (or to random station points) for vector fields.  <a href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">More...</a><br /></td></tr>
+<tr class="separator:abc99486ee9c0091c1514af6114d4e803"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Budget interpolation routines for scalars and vectors. </p>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser, Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a09bd6535b0c2e1022cfde39c39d14466"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a09bd6535b0c2e1022cfde39c39d14466">&#9670;&nbsp;</a></span>interpolate_budget_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine budget_interp_mod::interpolate_budget_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Performs budget interpolation from any grid to any grid (or to random station points) for scalar fields. </p>
+<p>The algorithm simply computes (weighted) averages of bilinearly interpolated points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points.</p>
+<p>Options allow choices of number of points in each radius from the center point (ipopt(1)) which defaults to 2 (if ipopt(1)=-1) meaning that 25 points will be averaged; further options are the respective weights for the radius points starting at the center point (ipopt(2:2+ipopt(1)) which defaults to all 1 (if ipopt(1)=-1 or ipopt(2)=-1).</p>
+<p>A special interpolation is done if ipopt(2)=-2. in this case, the boxes stretch nearly all the way to each of the neighboring grid points and the weights are the adjoint of the bilinear interpolation weights. This case gives quasi-second-order budget interpolation.</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(3+ipopt(1)) which defaults to 50 (if -1).</p>
+<p>In cases where there is no or insufficient valid input data, the user may choose to search for the nearest valid data. this is invoked by setting ipopt(20) to the width of the search square. The default is 1 (no search). Squares are searched for valid data in a spiral pattern starting from the center. No searching is done where the output grid is outside the input grid.</p>
+<p>Only horizontal interpolation is performed.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ipopt(1) is number of radius points (defaults to 2 if ipopt(1)=-1).</li>
+<li>ipopt(2:2+ipopt(1)) are respective weights (defaults to all 1 if ipopt(1)=-1 or ipopt(2)=-1).</li>
+<li>ipopt(3+ipopt(1)) is minimum percentage for mask (defaults to 50 if ipopt(3+ipopt(1)=-1). </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if some ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>Number of output points (only if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if igdtnumo&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>32 Invalid budget method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Marke Iredell, George Gayno, Kyle Gerheiser, Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="budget__interp__mod_8F90_source.html#l00094">94</a> of file <a class="el" href="budget__interp__mod_8F90_source.html">budget_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="abc99486ee9c0091c1514af6114d4e803"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc99486ee9c0091c1514af6114d4e803">&#9670;&nbsp;</a></span>interpolate_budget_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine budget_interp_mod::interpolate_budget_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>This subprogram performs budget interpolation from any grid to any grid (or to random station points) for vector fields. </p>
+<p>The algorithm simply computes (weighted) averages of bilinearly interpolated points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points.</p>
+<p>Options allow choices of number of points in each radius from the center point (ipopt(1)) which defaults to 2 (if ipopt(1)=-1) meaning that 25 points will be averaged; further options are the respective weights for the radius points starting at the center point (ipopt(2:2+ipopt(1)) which defaults to all 1 (if ipopt(1)=-1 or ipopt(2)=-1).</p>
+<p>A special interpolation is done if ipopt(2)=-2. in this case, the boxes stretch nearly all the way to each of the neighboring grid points and the weights are the adjoint of the bilinear interpolation weights. This case gives quasi-second-order budget interpolation.</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(3+ipopt(1)) which defaults to 50 (if -1).</p>
+<p>In cases where there is no or insufficient valid input data, the user may choose to search for the nearest valid data. this is invoked by setting ipopt(20) to the width of the search square. The default is 1 (no search). Squares are searched for valid data in a spiral pattern starting from the center. No searching is done where the output grid is outside the input grid.</p>
+<p>Only horizontal interpolation is performed.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>interpolation options ipopt(1) Number of radius points (defaults to 2 if ipopt(1)=-1); ipopt(2:2+ipopt(1)) Respective weights (defaults to all 1 if ipopt(1)=-1 or ipopt(2)=-1). ipopt(3+ipopt(1)) Minimum percentage for mask (defaults to 50 if ipopt(3+ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip Number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">mo</td><td>skip Number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if some ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>Number of output points (only if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines. If interpolating subgrid ugrid=crot * uearth - srot * vearth. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines. If interpolating subgrid vgrid = srot * uearth + crot * vearth. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>32 Invalid budget method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Marke Iredell, George Gayno, Kyle Gerheiser, Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="budget__interp__mod_8F90_source.html#l00423">423</a> of file <a class="el" href="budget__interp__mod_8F90_source.html">budget_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacebudget__interp__mod.html">budget_interp_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacebudget__interp__mod.js b/ver-4.4.0/namespacebudget__interp__mod.js
new file mode 100644
index 00000000..7a866c1c
--- /dev/null
+++ b/ver-4.4.0/namespacebudget__interp__mod.js
@@ -0,0 +1,6 @@
+var namespacebudget__interp__mod =
+[
+    [ "interpolate_budget", "interfacebudget__interp__mod_1_1interpolate__budget.html", "interfacebudget__interp__mod_1_1interpolate__budget" ],
+    [ "interpolate_budget_scalar", "namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466", null ],
+    [ "interpolate_budget_vector", "namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceearth__radius__mod.html b/ver-4.4.0/namespaceearth__radius__mod.html
new file mode 100644
index 00000000..810cc8e4
--- /dev/null
+++ b/ver-4.4.0/namespaceearth__radius__mod.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: earth_radius_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceearth__radius__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">earth_radius_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Determine earth radius and shape.  
+<a href="namespaceearth__radius__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a810f60db1a1faff0d6f59937a8207a54"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius</a> (IGDTMPL, IGDTLEN, RADIUS, ECCEN_SQUARED)</td></tr>
+<tr class="memdesc:a810f60db1a1faff0d6f59937a8207a54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine earth radius and shape.  <a href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">More...</a><br /></td></tr>
+<tr class="separator:a810f60db1a1faff0d6f59937a8207a54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Determine earth radius and shape. </p>
+<dl class="section author"><dt>Author</dt><dd>Gayno, Kyle Gerheiser </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a810f60db1a1faff0d6f59937a8207a54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a810f60db1a1faff0d6f59937a8207a54">&#9670;&nbsp;</a></span>earth_radius()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public earth_radius_mod::earth_radius </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>RADIUS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>ECCEN_SQUARED</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Determine earth radius and shape. </p>
+<p>Determine the radius and shape of the earth from the grib 2 grid definition template array - section 3.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl</td><td>integer (igdtlen) grid definition template array. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. For all map projections recognized by iplib, the entries use by this routine are:<ul>
+<li>1 shape of earth, section 3, octet 15</li>
+<li>2 scale factor of spherical earth radius, octet 16</li>
+<li>3 scaled value of radius of spherical earth, octets 17-20</li>
+<li>4 scale factor of major axis of elliptical earth, octet 21</li>
+<li>5 scaled value of major axis of elliptical earth, octets 22-25</li>
+<li>6 scale factor of minor axis of elliptical earth, octet 26</li>
+<li>7 scaled value of minor axis of elliptical earth, octets 27-30 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>integer number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">radius</td><td>real earth radius in meters. For ellipitical earths, this is the semi major axis. See "map projectsions - a
+ working manual" by Snyder (1987) for details. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">eccen_squared</td><td>real earth eccentricity squared</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-07-14 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="earth__radius__mod_8F90_source.html#l00040">40</a> of file <a class="el" href="earth__radius__mod_8F90_source.html">earth_radius_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l00258">spectral_interp_mod::polates4::polates4_grib2()</a>, and <a class="el" href="spectral__interp__mod_8F90_source.html#l00891">spectral_interp_mod::polatev4::polatev4_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceearth__radius__mod.html">earth_radius_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacegdswzd__c__mod.html b/ver-4.4.0/namespacegdswzd__c__mod.html
new file mode 100644
index 00000000..7a314192
--- /dev/null
+++ b/ver-4.4.0/namespacegdswzd__c__mod.html
@@ -0,0 +1,556 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: gdswzd_c_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacegdswzd__c__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">gdswzd_c_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Module that contains C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.  
+<a href="namespacegdswzd__c__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ae3026381f7f41561507c97c9125d24e4"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">gdswzd_c</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:ae3026381f7f41561507c97c9125d24e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.  <a href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">More...</a><br /></td></tr>
+<tr class="separator:ae3026381f7f41561507c97c9125d24e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06861f1403edf106bb3b399c39981504"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">gdswzd_c_grib1</a> (KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a06861f1403edf106bb3b399c39981504"><td class="mdescLeft">&#160;</td><td class="mdescRight">C wrapper for routine gdswzd.  <a href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">More...</a><br /></td></tr>
+<tr class="separator:a06861f1403edf106bb3b399c39981504"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Module that contains C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>. </p>
+<dl class="section author"><dt>Author</dt><dd>JOVIC </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016-04-10 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ae3026381f7f41561507c97c9125d24e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3026381f7f41561507c97c9125d24e4">&#9670;&nbsp;</a></span>gdswzd_c()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_c_mod::gdswzd_c </td>
+          <td>(</td>
+          <td class="paramtype">integer(kind=c_int), intent(in), value&#160;</td>
+          <td class="paramname"><em>IGDTNUM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(kind=c_int), dimension(igdtlen), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(kind=c_int), intent(in), value&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(kind=c_int), intent(in), value&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(kind=c_int), intent(in), value&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), intent(in), value&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(kind=c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>. </p>
+<p>Use this routine to call <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> from a C or C++ program. Takes advantage of the fortran/c interoperability standard.</p>
+<h3><a class="anchor" id="autotoc_md13"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2016-04-10   </td><td class="markdownTableBodyNone">Jovic   </td><td class="markdownTableBodyNone">initial version.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2016-04-26   </td><td class="markdownTableBodyNone">G. Gayno   </td><td class="markdownTableBodyNone">update for grib 2   </td></tr>
+</table>
+<h3><a class="anchor" id="autotoc_md14"></a>
+Example: Mixed precsion iplib call</h3>
+<div class="fragment"><div class="line">include <span class="stringliteral">&quot;iplib.h&quot;</span></div>
+<div class="line"> </div>
+<div class="line">int *igdtmpl;</div>
+<div class="line">int igdtnum, igdtlen, iopt, npts, nret;</div>
+<div class="line">double fill;</div>
+<div class="line">double *xpts, *ypts, *rlon, *rlat;</div>
+<div class="line">double *crot, *srot, *xlon, *xlat, *ylon, *ylat, *area;</div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a>(igdtnum, igdtmpl, igdtlen, iopt, npts,</div>
+<div class="line">       fill, xpts, ypts, rlon, rlat,</div>
+<div class="line">       &amp;nret, crot, srot, xlon,</div>
+<div class="line">       xlat, ylon, ylat, area);</div>
+<div class="ttc" id="aiplib__4_8h_html_a44daefd49c37e9bc59933d98e56efa53"><div class="ttname"><a href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a></div><div class="ttdeci">void gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area)</div><div class="ttdoc">gdswzd() interface for C for _4 build of library.</div></div>
+</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnum</td><td>grid definition template number. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure.<ul>
+<li>00 equidistant cylindrical</li>
+<li>01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 mercator cyclindrical</li>
+<li>20 polar stereographic azimuthal</li>
+<li>30 lambert conformal conical</li>
+<li>40 gaussian equidistant cyclindrical </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl</td><td>(igdtlen) grid definition template array. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure for section three. all projections:<ul>
+<li>1 shape of earth, octet 15</li>
+<li>2 scale factor of spherical earth radius, octet 16</li>
+<li>3 scaled value of radius of spherical earth, octets 17-20</li>
+<li>4 scale factor of major axis of elliptical earth, octet 21</li>
+<li>5 scaled value of major axis of elliptical earth, octets 22-25</li>
+<li>6 scale factor of minor axis of elliptical earth, octet 26</li>
+<li>7 scaled value of minor axis of elliptical earth, octets 27-30 equidistant cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42.</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72 mercator cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 latitude of first point, octets 39-42</li>
+<li>11 longitude of first point, octets 43-46</li>
+<li>12 resolution and component flags, octet 47</li>
+<li>13 tangent latitude, octets 48-51</li>
+<li>14 latitude of last point, octets 52-55</li>
+<li>15 longitude of last point, octets 56-59</li>
+<li>16 scanning mode flags, octet 60</li>
+<li>17 orientation of grid, octets 61-64</li>
+<li>18 longitudinal grid length, octets 65-68</li>
+<li>19 latitudinal grid length, octets 69-72 Lambert conformal conical:</li>
+<li>8 number of points along x-axis, octs 31-34</li>
+<li>9 number of points along y-axis, octs 35-38</li>
+<li>10 latitude of first point, octets 39-42</li>
+<li>11 longitude of first point, octets 43-46</li>
+<li>12 resolution of component flag, octet 47</li>
+<li>13 latitude where grid lengths specified, octets 48-51</li>
+<li>14 longitude of meridian that is parallel to y-axis, octets 52-55</li>
+<li>15 x-direction grid length, octets 56-59</li>
+<li>16 y-direction grid length, octets 60-63</li>
+<li>17 projection center flag, octet 64</li>
+<li>18 scanning mode, octet 65</li>
+<li>19 first tangent latitude from pole, octets 66-69</li>
+<li>20 second tangent latitude from pole, octets 70-73</li>
+<li>21 latitude of south pole of projection, octets 74-77</li>
+<li>22 longitude of south pole of projection, octets 78-81 gaussian cylindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 number of parallels between pole and equator, octets 68-71</li>
+<li>19 scanning mode, octet 72 polar stereographic azimuthal:</li>
+<li>8 number of points along x-axis, octets 31-34</li>
+<li>9 number of points along y-axis, octets 35-38</li>
+<li>10 latitude of first grid point, octets 39-42</li>
+<li>11 longitude of first grid point, octets 43-46</li>
+<li>12 resolution and component flags, octet 47</li>
+<li>13 true latitude, octets 48-51</li>
+<li>14 orientation longitude, octets 52-55</li>
+<li>15 x-direction grid length, octets 56-59</li>
+<li>16 y-direction grid length, octets 60-63</li>
+<li>17 projection center flag, octet 64</li>
+<li>18 scanning mode flags, octet 65 rotated equidistant cyclindrical:</li>
+<li>8 number of points along a parallel, octs 31-34</li>
+<li>9 number of points along a meridian, octs 35-38</li>
+<li>10 basic angle of initial production domain, octets 39-42</li>
+<li>11 subdivisions of basic angle, octets 43-46</li>
+<li>12 latitude of first grid point, octets 47-50</li>
+<li>13 longitude of first grid point, octets 51-54</li>
+<li>14 resolution and component flags, octet 55</li>
+<li>15 latitude of last grid point, octets 56-59</li>
+<li>16 longitude of last grid point, octets 60-63</li>
+<li>17 i-direction increment, octets 64-67</li>
+<li>18 j-direction increment, octets 68-71</li>
+<li>19 scanning mode, octet 72</li>
+<li>20 latitude of southern pole of projection, octets 73-76</li>
+<li>21 longitude of southern pole of projection, octets 77-80</li>
+<li>22 angle of rotation of projection, octs 81-84 </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>option flag<ul>
+<li>0 to compute earth coords of all the grid points</li>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>integer maximum number of coordinates </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>real fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>real (npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>real (npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>real (npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>real (npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>number of valid points computed (-1 if projection unrecognized) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>(npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>(npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth, vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>(npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>(npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>(npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>(npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">AREA</td><td>(npts) area weights in m**2 (Proportional to the square of the map factor in the case of conformal projections.)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>JOVIC </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__c_8F90_source.html#l00173">173</a> of file <a class="el" href="gdswzd__c_8F90_source.html">gdswzd_c.F90</a>.</p>
+
+</div>
+</div>
+<a id="a06861f1403edf106bb3b399c39981504"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a06861f1403edf106bb3b399c39981504">&#9670;&nbsp;</a></span>gdswzd_c_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_c_mod::gdswzd_c_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer(kind=c_int), dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(kind=c_int), intent(in), value&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(kind=c_int), intent(in), value&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), intent(in), value&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(kind=c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=c_double), dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>C wrapper for routine gdswzd. </p>
+<p>Use this routine to call 'gdswzd' from a C or C++ program. Takes advantage of the fortran/c interoperability standard.</p>
+<h3><a class="anchor" id="autotoc_md15"></a>
+Example: mixed precsion iplib call</h3>
+<div class="fragment"><div class="line">include <span class="stringliteral">&quot;iplib.h&quot;</span></div>
+<div class="line"> </div>
+<div class="line">int kgds[200];</div>
+<div class="line">int iopt, npts, nret;</div>
+<div class="line">double fill;</div>
+<div class="line">double *xpts, *ypts, *rlon, *rlat;</div>
+<div class="line">double *crot, *srot, *xlon, *xlat, *ylon, *ylat, *area;</div>
+<div class="line"> </div>
+<div class="line"><a class="code" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53">gdswzd</a>(kgds, iopt, npts, fill,</div>
+<div class="line">       xpts, ypts, rlon, rlat,</div>
+<div class="line">       &amp;nret, crot, srot, xlon,</div>
+<div class="line">       xlat, ylon, ylat, area);</div>
+</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">kgds</td><td>(200) gds parameters as decoded by <a href="https://noaa-emc.github.io/NCEPLIBS-w3emc/w3fi63_8f.html">w3fi63</a>. </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">iopt</td><td>option flag<ul>
+<li>0 to compute earth coords of all the grid points</li>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">npts</td><td>maximum number of coordinates </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">fill</td><td>fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">xpts</td><td>(npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ypts</td><td>(npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>number of valid points computed (-1 if projection unrecognized) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>(npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>(npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>(npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>(npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>(npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>(npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>(npts) area weights in m**2 (proportional to the square of the map factor in the case of conformal projections.)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>JOVIC </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2016-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__c_8F90_source.html#l00259">259</a> of file <a class="el" href="gdswzd__c_8F90_source.html">gdswzd_c.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacegdswzd__c__mod.html">gdswzd_c_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacegdswzd__mod.html b/ver-4.4.0/namespacegdswzd__mod.html
new file mode 100644
index 00000000..f0d0ad58
--- /dev/null
+++ b/ver-4.4.0/namespacegdswzd__mod.html
@@ -0,0 +1,1309 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: gdswzd_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacegdswzd__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">gdswzd_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Driver module for gdswzd routines.  
+<a href="namespacegdswzd__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ac304e2b046eccc701e24827c81107e76"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_1d_array</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:ac304e2b046eccc701e24827c81107e76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib 2 grid definition template and returns one of the following:  <a href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">More...</a><br /></td></tr>
+<tr class="separator:ac304e2b046eccc701e24827c81107e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdf970e498e9317522fbdfb690b86e25"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">gdswzd_2d_array</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:acdf970e498e9317522fbdfb690b86e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib 2 grid definition template and returns one of the following (for 2d-arrays):  <a href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">More...</a><br /></td></tr>
+<tr class="separator:acdf970e498e9317522fbdfb690b86e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa032a55281b18e208630a730679958f4"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">gdswzd_2d_array_grib1</a> (KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:aa032a55281b18e208630a730679958f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib grid description section and returns one of the following (for 2-d arrays):  <a href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">More...</a><br /></td></tr>
+<tr class="separator:aa032a55281b18e208630a730679958f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a133e040fac8dd56e607b8e3fb6a58c37"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">gdswzd_grib1</a> (KGDS, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a133e040fac8dd56e607b8e3fb6a58c37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib grid description section and returns one of the following (for 1-d arrays):  <a href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">More...</a><br /></td></tr>
+<tr class="separator:a133e040fac8dd56e607b8e3fb6a58c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a584d2bddbc6d857b80cfac5e3b288d45"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_grid</a> (grid, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a584d2bddbc6d857b80cfac5e3b288d45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns one of the following for a grid object:  <a href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">More...</a><br /></td></tr>
+<tr class="separator:a584d2bddbc6d857b80cfac5e3b288d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba3235c5bc5797e72b9a6a8a587b8861"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">gdswzd_scalar</a> (IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:aba3235c5bc5797e72b9a6a8a587b8861"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the grib 2 grid definition template and returns one of the following (for scalars):  <a href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">More...</a><br /></td></tr>
+<tr class="separator:aba3235c5bc5797e72b9a6a8a587b8861"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Driver module for gdswzd routines. </p>
+<p>These routines do the following for several map projections:</p><ul>
+<li>Convert from earth to grid coordinates or vice versa.</li>
+<li>Compute vector rotation sines and cosines.</li>
+<li>Compute map jacobians.</li>
+<li>Compute grid box area.</li>
+</ul>
+<p>Map projections include:</p><ul>
+<li>Equidistant Cyclindrical</li>
+<li>Mercator Cylindrical</li>
+<li>Gaussian Cylindrical</li>
+<li>Polar stereographic</li>
+<li>Lambert Conformal Conic</li>
+<li>Rotated Equidistant Cyclindrical ("E" and non-"E" staggers)</li>
+</ul>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ac304e2b046eccc701e24827c81107e76"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac304e2b046eccc701e24827c81107e76">&#9670;&nbsp;</a></span>gdswzd_1d_array()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd_1d_array </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Decodes the grib 2 grid definition template and returns one of the following: </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>The current code recognizes the following projections, where "igdtnum" is the grid definition template number:</p><ul>
+<li>igdtnum=00 Equidistant Cylindrical</li>
+<li>igdtnum=01 Rotated Equidistant Cylindrical. "E" and non-"E" staggered</li>
+<li>igdtnum=10 Mercator Cyclindrical</li>
+<li>igdtnum=20 Polar Stereographic Azimuthal</li>
+<li>igdtnum=30 Lambert Conformal Conical</li>
+<li>igdtnum=40 Gaussian Equidistant Cyclindrical</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnum</td><td>Grid definition template number. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - Equidistant Cylindrical</li>
+<li>01 - Rotated Equidistant Cylindrical. "E" and non-"E" staggered</li>
+<li>10 - Mercator Cyclindrical</li>
+<li>20 - Polar Stereographic Azimuthal</li>
+<li>30 - Lambert Conformal Conical</li>
+<li>40 - Gaussian Equidistant Cyclindrical</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl</td><td>Grid definition template array. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Section 3 Info:</p>
+<p>All Map Projections:</p><ul>
+<li>1: Shape of earth, octet 15.</li>
+<li>2: Scale factor of spherical earth radius, octet 16.</li>
+<li>3: Scaled value of radius of spherical earth, octets 17-20.</li>
+<li>4: Scale factor of major axis of elliptical earth, octet 21.</li>
+<li>5: Scaled value of major axis of elliptical earth, octets 22-25.</li>
+<li>6: Scale factor of minor axis of elliptical earth, octet 26.</li>
+<li>7: Scaled value of minor axis of elliptical earth, octets 27-30.</li>
+</ul>
+<p>Equidistant Cyclindrical:</p><ul>
+<li>8: Number of points along a parallel, octs 31-34.</li>
+<li>9: Number of points along a meridian, octs 35-38.</li>
+<li>10: Basic angle of initial production domain, octets 39-42.</li>
+<li>11: Subdivisions of basic angle, octets 43-46.</li>
+<li>12: Latitude of first grid point, octets 47-50.</li>
+<li>13: Longitude of first grid point, octets 51-54.</li>
+<li>14: Resolution and component flags, octet 55.</li>
+<li>15: Latitude of last grid point, octets 56-59.</li>
+<li>16: Longitude of last grid point, octets 60-63.</li>
+<li>17: i-direction increment, octets 64-67.</li>
+<li>18: j-direction increment, octets 68-71.</li>
+<li>19: Scanning mode, octet 72.</li>
+</ul>
+<p>Mercator Cyclindrical:</p><ul>
+<li>8: Number of points along a parallel, octs 31-34.</li>
+<li>9: Number of points along a meridian, octs 35-38.</li>
+<li>10: Latitude of first point, octets 39-42.</li>
+<li>11: Longitude of first point, octets 43-46.</li>
+<li>12: Resolution and component flags, octet 47.</li>
+<li>13: Tangent latitude, octets 48-51.</li>
+<li>14: Latitude of last point, octets 52-55.</li>
+<li>15: Longitude of last point, octets 56-59.</li>
+<li>16: Scanning mode flags, octet 60.</li>
+<li>17: Orientation of grid, octets 61-64.</li>
+<li>18: Longitudinal grid length, octets 65-68.</li>
+<li>19: Latitudinal grid length, octets 69-72.</li>
+</ul>
+<p>Lambert Conformal Conical:</p><ul>
+<li>8: Number of points along x-axis, octs 31-34.</li>
+<li>9: Number of points along y-axis, octs 35-38.</li>
+<li>10: Latitude of first point, octets 39-42.</li>
+<li>11: Longitude of first point, octets 43-46.</li>
+<li>12: Resolution of component flag, octet 47.</li>
+<li>13: Latitude where grid lengths specified,octets 48-51.</li>
+<li>14: Longitude of meridian that is parallel to y-axis, octets 52-55.</li>
+<li>15: x-direction grid length, octets 56-59.</li>
+<li>16: y-direction grid length, octets 60-63.</li>
+<li>17: Projection center flag, octet 64.</li>
+<li>18: Scanning mode, octet 65.</li>
+<li>19: First tangent latitude from pole, octets 66-69.</li>
+<li>20: Second tangent latitude from pole, octets 70-73.</li>
+<li>21: Latitude of south pole of projection, octets 74-77.</li>
+<li>22: Longitude of south pole of projection, octets 78-81.</li>
+</ul>
+<p>Gaussian Cylindrical:</p><ul>
+<li>8: Number of points along a parallel, octs 31-34.</li>
+<li>9: Number of points along a meridian, octs 35-38.</li>
+<li>10: Basic angle of initial production domain, octets 39-42.</li>
+<li>11: Subdivisions of basic angle, octets 43-46.</li>
+<li>12: Latitude of first grid point, octets 47-50.</li>
+<li>13: Longitude of first grid point, octets 51-54.</li>
+<li>14: Resolution and component flags, octet 55.</li>
+<li>15: Latitude of last grid point, octets 56-59.</li>
+<li>16: Longitude of last grid point, octets 60-63.</li>
+<li>17: i-direction increment, octets 64-67.</li>
+<li>18: Number of parallels between pole and equator, octets 68-71.</li>
+<li>19: Scanning mode, octet 72.</li>
+</ul>
+<p>Polar Stereographic Azimuthal:</p><ul>
+<li>8: Number of points along x-axis, octets 31-34.</li>
+<li>9: Number of points along y-axis, octets 35-38.</li>
+<li>10: Latitude of first grid point, octets 39-42.</li>
+<li>11: Longitude of first grid point, octets 43-46.</li>
+<li>12: Resolution and component flags, octet 47.</li>
+<li>13: True latitude, octets 48-51.</li>
+<li>14: Orientation longitude, octets 52-55.</li>
+<li>15: x-direction grid length, octets 56-59.</li>
+<li>16: y-direction grid length, octets 60-63.</li>
+<li>17: Projection center flag, octet 64.</li>
+<li>18: Scanning mode flags, octet 65.</li>
+</ul>
+<p>Rotated Equidistant Cyclindrical:</p><ul>
+<li>8: Number of points along a parallel, octs 31-34.</li>
+<li>9: Number of points along a meridian, octs 35-38.</li>
+<li>10: Basic angle of initial production domain, octets 39-42.</li>
+<li>11: Subdivisions of basic angle, octets 43-46.</li>
+<li>12: Latitude of first grid point, octets 47-50.</li>
+<li>13: Longitude of first grid point, octets 51-54.</li>
+<li>14: Resolution and component flags, octet 55.</li>
+<li>15: Latitude of last grid point, octets 56-59.</li>
+<li>16: Longitude of last grid point, octets 60-63.</li>
+<li>17: i-direction increment, octets 64-67.</li>
+<li>18: j-direction increment, octets 68-71.</li>
+<li>19: Scanning mode, octet 72.</li>
+<li>20: Latitude of southern pole of projection, octets 73-76.</li>
+<li>21: Longitude of southern pole of projection, octets 77-80.</li>
+<li>22: Angle of rotation of projection, octs 81-84.</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>Number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00665">665</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="gdswzd__mod_8F90_source.html#l00462">gdswzd_mod::gdswzd::gdswzd_2d_array()</a>, and <a class="el" href="gdswzd__mod_8F90_source.html#l00281">gdswzd_mod::gdswzd::gdswzd_scalar()</a>.</p>
+
+</div>
+</div>
+<a id="acdf970e498e9317522fbdfb690b86e25"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acdf970e498e9317522fbdfb690b86e25">&#9670;&nbsp;</a></span>gdswzd_2d_array()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd_2d_array </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Decodes the grib 2 grid definition template and returns one of the following (for 2d-arrays): </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>The current code recognizes the following projections, where "igdtnum" is the grid definition template number:</p><ul>
+<li>igdtnum=00 Equidistant Cylindrical</li>
+<li>igdtnum=01 Rotated Equidistant Cylindrical. "E" and non-"E" staggered</li>
+<li>igdtnum=10 Mercator Cyclindrical</li>
+<li>igdtnum=20 Polar Stereographic Azimuthal</li>
+<li>igdtnum=30 Lambert Conformal Conical</li>
+<li>igdtnum=40 Gaussian Equidistant Cyclindrical</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnum</td><td>Grid definition template number.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl</td><td>Grid definition template array. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure. See igdtmpl definition in <a class="el" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76" title="Decodes the grib 2 grid definition template and returns one of the following:">gdswzd_1d_array()</a> for full details.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>Number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00459">459</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aa032a55281b18e208630a730679958f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa032a55281b18e208630a730679958f4">&#9670;&nbsp;</a></span>gdswzd_2d_array_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public gdswzd_mod::gdswzd_2d_array_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(:,:), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Decodes the grib grid description section and returns one of the following (for 2-d arrays): </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>kgds(1)=000 Equidistant Cylindrical</li>
+<li>kgds(1)=001 Mercator Cylindrical</li>
+<li>kgds(1)=003 lambert Conformal Conical</li>
+<li>kgds(1)=004 Gaussian Cylindrical</li>
+<li>kgds(1)=005 Polar Stereographic azimuthal</li>
+<li>kgds(1)=203 E-staggered Rotated Equidistant Cylindrical</li>
+<li>kgds(1)=205 B-staggered Rotated Equidistant Cylindrical</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgds</td><td>GDS parameters as decoded by w3fi63. <br  />
+ </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>April 1996 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00850">850</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a133e040fac8dd56e607b8e3fb6a58c37"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a133e040fac8dd56e607b8e3fb6a58c37">&#9670;&nbsp;</a></span>gdswzd_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public gdswzd_mod::gdswzd_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Decodes the grib grid description section and returns one of the following (for 1-d arrays): </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>kgds(1)=000 Equidistant Cylindrical</li>
+<li>kgds(1)=001 Mercator Cylindrical</li>
+<li>kgds(1)=003 lambert Conformal Conical</li>
+<li>kgds(1)=004 Gaussian Cylindrical</li>
+<li>kgds(1)=005 Polar Stereographic azimuthal</li>
+<li>kgds(1)=203 E-staggered Rotated Equidistant Cylindrical</li>
+<li>kgds(1)=205 B-staggered Rotated Equidistant Cylindrical</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgds</td><td>GDS parameters as decoded by w3fi63. <br  />
+ </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>April 1996 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00758">758</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a584d2bddbc6d857b80cfac5e3b288d45"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a584d2bddbc6d857b80cfac5e3b288d45">&#9670;&nbsp;</a></span>gdswzd_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd_grid </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns one of the following for a grid object: </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid</td><td>Grid to call gdswzd on.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00105">105</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="gdswzd__mod_8F90_source.html#l00668">gdswzd_mod::gdswzd::gdswzd_1d_array()</a>, <a class="el" href="gdswzd__mod_8F90_source.html#l00852">gdswzd_mod::gdswzd::gdswzd_2d_array_grib1()</a>, and <a class="el" href="gdswzd__mod_8F90_source.html#l00760">gdswzd_mod::gdswzd::gdswzd_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="aba3235c5bc5797e72b9a6a8a587b8861"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba3235c5bc5797e72b9a6a8a587b8861">&#9670;&nbsp;</a></span>gdswzd_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine gdswzd_mod::gdswzd_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtlen), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLEN</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Decodes the grib 2 grid definition template and returns one of the following (for scalars): </p>
+<ul>
+<li>iopt=0 Grid and earth coordinates of all grid points.</li>
+<li>iopt=+1 Earth coordinates of selected grid coordinates.</li>
+<li>iopt=-1 Grid coordinates of selected earth coordinates.</li>
+</ul>
+<p>The current code recognizes the following projections, where "igdtnum" is the grid definition template number:</p><ul>
+<li>igdtnum=00 Equidistant Cylindrical</li>
+<li>igdtnum=01 Rotated Equidistant Cylindrical. "E" and non-"E" staggered</li>
+<li>igdtnum=10 Mercator Cyclindrical</li>
+<li>igdtnum=20 Polar Stereographic Azimuthal</li>
+<li>igdtnum=30 Lambert Conformal Conical</li>
+<li>igdtnum=40 Gaussian Equidistant Cyclindrical</li>
+</ul>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. Also if iopt=0, if the number of grid points exceeds the number allotted, then all the output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas may be returned.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnum</td><td>Grid definition template number.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpl</td><td>Grid definition template array. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure See igdtmpl definition in <a class="el" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76" title="Decodes the grib 2 grid definition template and returns one of the following:">gdswzd_1d_array()</a> for full details.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtlen</td><td>Number of elements of the grid definition template array. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>Option flag.<ul>
+<li>0 Earth coords of all the grid points.</li>
+<li>1 Earth coords of selected grid coords.</li>
+<li>-1 Grid coords of selected earth coords</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees E. (Acceptable range: -360. to 360.)</td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees N. (Acceptable range: -90. to 90.)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines. ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2. Proportional to the square of the map factor in the case of conformal projections</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="gdswzd__mod_8F90_source.html#l00278">278</a> of file <a class="el" href="gdswzd__mod_8F90_source.html">gdswzd_mod.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacegdswzd__mod.html">gdswzd_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacegdswzd__mod.js b/ver-4.4.0/namespacegdswzd__mod.js
new file mode 100644
index 00000000..23d8b304
--- /dev/null
+++ b/ver-4.4.0/namespacegdswzd__mod.js
@@ -0,0 +1,10 @@
+var namespacegdswzd__mod =
+[
+    [ "gdswzd", "interfacegdswzd__mod_1_1gdswzd.html", "interfacegdswzd__mod_1_1gdswzd" ],
+    [ "gdswzd_1d_array", "namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76", null ],
+    [ "gdswzd_2d_array", "namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25", null ],
+    [ "gdswzd_2d_array_grib1", "namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4", null ],
+    [ "gdswzd_grib1", "namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37", null ],
+    [ "gdswzd_grid", "namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45", null ],
+    [ "gdswzd_scalar", "namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__constants__mod.html b/ver-4.4.0/namespaceip__constants__mod.html
new file mode 100644
index 00000000..39278cdd
--- /dev/null
+++ b/ver-4.4.0/namespaceip__constants__mod.html
@@ -0,0 +1,244 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_constants_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__constants__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_constants_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Module containing common constants.  
+<a href="namespaceip__constants__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ae6b74489db06341b78c3088b3f207011"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">dpr</a> =180.0/<a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a></td></tr>
+<tr class="memdesc:ae6b74489db06341b78c3088b3f207011"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radians to degrees.  <a href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">More...</a><br /></td></tr>
+<tr class="separator:ae6b74489db06341b78c3088b3f207011"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af7783a977fa10c54d85282dc6ac5f545"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">e2_wgs84</a> = 0.00669437999013</td></tr>
+<tr class="memdesc:af7783a977fa10c54d85282dc6ac5f545"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity squared of Earth defined by WGS-84.  <a href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">More...</a><br /></td></tr>
+<tr class="separator:af7783a977fa10c54d85282dc6ac5f545"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47f83a2267da693170054c958c401cd4"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a> =3.14159265358979</td></tr>
+<tr class="memdesc:a47f83a2267da693170054c958c401cd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">PI.  <a href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">More...</a><br /></td></tr>
+<tr class="separator:a47f83a2267da693170054c958c401cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a309f7e3b1f83b6b272b12ce4fff501c5"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">pi2</a> =<a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a>/2.0</td></tr>
+<tr class="memdesc:a309f7e3b1f83b6b272b12ce4fff501c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">PI / 2.0.  <a href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">More...</a><br /></td></tr>
+<tr class="separator:a309f7e3b1f83b6b272b12ce4fff501c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fe7cdd86b44487666dc37f655d9ff15"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">pi4</a> =<a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a>/4.0</td></tr>
+<tr class="memdesc:a5fe7cdd86b44487666dc37f655d9ff15"><td class="mdescLeft">&#160;</td><td class="mdescRight">PI / 4.0.  <a href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">More...</a><br /></td></tr>
+<tr class="separator:a5fe7cdd86b44487666dc37f655d9ff15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6a501512f426673f064edbecd7a62fb"><td class="memItemLeft" align="right" valign="top">real, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">rerth_wgs84</a> =6.378137E6</td></tr>
+<tr class="memdesc:ac6a501512f426673f064edbecd7a62fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth defined by WGS-84.  <a href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">More...</a><br /></td></tr>
+<tr class="separator:ac6a501512f426673f064edbecd7a62fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Module containing common constants. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser, George Gayno, Alex Richert </dd></dl>
+</div><h2 class="groupheader">Variable Documentation</h2>
+<a id="ae6b74489db06341b78c3088b3f207011"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae6b74489db06341b78c3088b3f207011">&#9670;&nbsp;</a></span>dpr</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">real, parameter ip_constants_mod::dpr =180.0/<a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Radians to degrees. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__constants__mod_8F90_source.html#l00015">15</a> of file <a class="el" href="ip__constants__mod_8F90_source.html">ip_constants_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00053">ip_mercator_grid_mod::init_grib1()</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00064">ip_polar_stereo_grid_mod::init_grib1()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00087">ip_rot_equid_cylind_egrid_mod::init_grib1()</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00074">ip_rot_equid_cylind_grid_mod::init_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="af7783a977fa10c54d85282dc6ac5f545"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af7783a977fa10c54d85282dc6ac5f545">&#9670;&nbsp;</a></span>e2_wgs84</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">real, parameter ip_constants_mod::e2_wgs84 = 0.00669437999013</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Eccentricity squared of Earth defined by WGS-84. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__constants__mod_8F90_source.html#l00019">19</a> of file <a class="el" href="ip__constants__mod_8F90_source.html">ip_constants_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00064">ip_polar_stereo_grid_mod::init_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="a47f83a2267da693170054c958c401cd4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a47f83a2267da693170054c958c401cd4">&#9670;&nbsp;</a></span>pi</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">real, parameter ip_constants_mod::pi =3.14159265358979</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>PI. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__constants__mod_8F90_source.html#l00014">14</a> of file <a class="el" href="ip__constants__mod_8F90_source.html">ip_constants_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a309f7e3b1f83b6b272b12ce4fff501c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a309f7e3b1f83b6b272b12ce4fff501c5">&#9670;&nbsp;</a></span>pi2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">real, parameter ip_constants_mod::pi2 =<a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a>/2.0</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>PI / 2.0. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__constants__mod_8F90_source.html#l00016">16</a> of file <a class="el" href="ip__constants__mod_8F90_source.html">ip_constants_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a5fe7cdd86b44487666dc37f655d9ff15"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5fe7cdd86b44487666dc37f655d9ff15">&#9670;&nbsp;</a></span>pi4</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">real, parameter ip_constants_mod::pi4 =<a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">pi</a>/4.0</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>PI / 4.0. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__constants__mod_8F90_source.html#l00017">17</a> of file <a class="el" href="ip__constants__mod_8F90_source.html">ip_constants_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ac6a501512f426673f064edbecd7a62fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac6a501512f426673f064edbecd7a62fb">&#9670;&nbsp;</a></span>rerth_wgs84</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">real, parameter ip_constants_mod::rerth_wgs84 =6.378137E6</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth defined by WGS-84. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__constants__mod_8F90_source.html#l00018">18</a> of file <a class="el" href="ip__constants__mod_8F90_source.html">ip_constants_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00064">ip_polar_stereo_grid_mod::init_grib1()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__constants__mod.html">ip_constants_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__equid__cylind__grid__mod.html b/ver-4.4.0/namespaceip__equid__cylind__grid__mod.html
new file mode 100644
index 00000000..9c710dbd
--- /dev/null
+++ b/ver-4.4.0/namespaceip__equid__cylind__grid__mod.html
@@ -0,0 +1,668 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_equid_cylind_grid_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__equid__cylind__grid__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_equid_cylind_grid_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Equidistant cylindrical grib decoder and grid coordinate transformations.  
+<a href="namespaceip__equid__cylind__grid__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a5a70b82abdce76bef22cdeaa96a986c2"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">equid_cylind_grid_area</a> (RLAT, AREA)</td></tr>
+<tr class="memdesc:a5a70b82abdce76bef22cdeaa96a986c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the grid box area for a equidistant cylindrical grid.  <a href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">More...</a><br /></td></tr>
+<tr class="separator:a5a70b82abdce76bef22cdeaa96a986c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a039501b44cd3ad4409983e193d509afd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">equid_cylind_map_jacob</a> (XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a039501b44cd3ad4409983e193d509afd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the map jacobians for a equidistant cylindrical grid.  <a href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">More...</a><br /></td></tr>
+<tr class="separator:a039501b44cd3ad4409983e193d509afd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade88ecea1c0bb4b4d5b0d08f8482268d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">equid_cylind_vect_rot</a> (CROT, SROT)</td></tr>
+<tr class="memdesc:ade88ecea1c0bb4b4d5b0d08f8482268d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the vector rotation sines and cosines for a equidistant cylindrical grid.  <a href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">More...</a><br /></td></tr>
+<tr class="separator:ade88ecea1c0bb4b4d5b0d08f8482268d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af20f6f308b5a33211c677b894e41b727"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">gdswzd_equid_cylind</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:af20f6f308b5a33211c677b894e41b727"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for equidistant cylindrical grids.  <a href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">More...</a><br /></td></tr>
+<tr class="separator:af20f6f308b5a33211c677b894e41b727"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d0132823d27b60835ebb59ead173477"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a3d0132823d27b60835ebb59ead173477"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an equidistant cylindrical grid given a grib1_descriptor object.  <a href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">More...</a><br /></td></tr>
+<tr class="separator:a3d0132823d27b60835ebb59ead173477"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39d24c9468ecb7effd16972fd72e088a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:a39d24c9468ecb7effd16972fd72e088a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an equidistant cylindrical grid given a grib2_descriptor object.  <a href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">More...</a><br /></td></tr>
+<tr class="separator:a39d24c9468ecb7effd16972fd72e088a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a30cb127d26d74d2de6ab3cbfd63183fb"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">dlat</a></td></tr>
+<tr class="memdesc:a30cb127d26d74d2de6ab3cbfd63183fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid resolution in degrees n/s direction.  <a href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">More...</a><br /></td></tr>
+<tr class="separator:a30cb127d26d74d2de6ab3cbfd63183fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46335f95ac343f7751bd519aec0a160f"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">dlon</a></td></tr>
+<tr class="memdesc:a46335f95ac343f7751bd519aec0a160f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid resolution in degrees e/w direction.  <a href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">More...</a><br /></td></tr>
+<tr class="separator:a46335f95ac343f7751bd519aec0a160f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5b84516fab9cee3316c07450f49746c"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">rerth</a></td></tr>
+<tr class="memdesc:ab5b84516fab9cee3316c07450f49746c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">More...</a><br /></td></tr>
+<tr class="separator:ab5b84516fab9cee3316c07450f49746c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Equidistant cylindrical grib decoder and grid coordinate transformations. </p>
+<p>Octet numbers refer to [GRIB2 - GRID DEFINITION TEMPLATE 3.0 Latitude/Longitude or equidistant cylindrical, or Plate Carree](<a href="https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-0.shtml">https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-0.shtml</a>).</p>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a5a70b82abdce76bef22cdeaa96a986c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a70b82abdce76bef22cdeaa96a986c2">&#9670;&nbsp;</a></span>equid_cylind_grid_area()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_equid_cylind_grid_mod::equid_cylind_grid_area </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Computes the grid box area for a equidistant cylindrical grid. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlat</td><td>Latitude of grid point in degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00363">363</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00040">dlat</a>, <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00041">dlon</a>, and <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00042">rerth</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00206">gdswzd_equid_cylind()</a>.</p>
+
+</div>
+</div>
+<a id="a039501b44cd3ad4409983e193d509afd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a039501b44cd3ad4409983e193d509afd">&#9670;&nbsp;</a></span>equid_cylind_map_jacob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_equid_cylind_grid_mod::equid_cylind_map_jacob </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLAT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Computes the map jacobians for a equidistant cylindrical grid. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dx/dlat in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00346">346</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00040">dlat</a>, and <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00041">dlon</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00206">gdswzd_equid_cylind()</a>.</p>
+
+</div>
+</div>
+<a id="ade88ecea1c0bb4b4d5b0d08f8482268d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ade88ecea1c0bb4b4d5b0d08f8482268d">&#9670;&nbsp;</a></span>equid_cylind_vect_rot()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_equid_cylind_grid_mod::equid_cylind_vect_rot </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Computes the vector rotation sines and cosines for a equidistant cylindrical grid. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd><ul>
+<li>ugrid=crot*uearth-srot*vearth;</li>
+<li>vgrid=srot*uearth+crot*vearth</li>
+</ul>
+</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00327">327</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00206">gdswzd_equid_cylind()</a>.</p>
+
+</div>
+</div>
+<a id="af20f6f308b5a33211c677b894e41b727"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af20f6f308b5a33211c677b894e41b727">&#9670;&nbsp;</a></span>gdswzd_equid_cylind()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_equid_cylind_grid_mod::gdswzd_equid_cylind </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for equidistant cylindrical grids. </p>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too. Optionally, the vector rotations, the map jacobians and the grid box areas may be returned as well.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present.</p>
+<p>To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td>The grid object gdswzd was called on. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>option flag<ul>
+<li>+1 to compute earth coords of selected grid coords.</li>
+<li>-1 o compute grid coords of selected earth coords. </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates if iopt&gt;0. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates if iopt&gt;0. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees e if iopt&lt;0 (Acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees n if iopt&lt;0 (Acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Optional clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Optional clockwise vector rotation sines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>Optional dx/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>Optional dx/dlat in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>Optional dy/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>Optional dy/dlat in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Optional area weights in m**2.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00203">203</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00040">dlat</a>, <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00041">dlon</a>, <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00364">equid_cylind_grid_area()</a>, <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00347">equid_cylind_map_jacob()</a>, <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00328">equid_cylind_vect_rot()</a>, and <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00042">rerth</a>.</p>
+
+</div>
+</div>
+<a id="a3d0132823d27b60835ebb59ead173477"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d0132823d27b60835ebb59ead173477">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_equid_cylind_grid_mod::init_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes an equidistant cylindrical grid given a grib1_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td>A grib1_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a39d24c9468ecb7effd16972fd72e088a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a39d24c9468ecb7effd16972fd72e088a">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_equid_cylind_grid_mod::init_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes an equidistant cylindrical grid given a grib2_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>A grib2_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00109">109</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="a30cb127d26d74d2de6ab3cbfd63183fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30cb127d26d74d2de6ab3cbfd63183fb">&#9670;&nbsp;</a></span>dlat</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::dlat</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grid resolution in degrees n/s direction. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00040">40</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00364">equid_cylind_grid_area()</a>, <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00347">equid_cylind_map_jacob()</a>, and <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00206">gdswzd_equid_cylind()</a>.</p>
+
+</div>
+</div>
+<a id="a46335f95ac343f7751bd519aec0a160f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a46335f95ac343f7751bd519aec0a160f">&#9670;&nbsp;</a></span>dlon</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::dlon</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grid resolution in degrees e/w direction. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00041">41</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00364">equid_cylind_grid_area()</a>, <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00347">equid_cylind_map_jacob()</a>, and <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00206">gdswzd_equid_cylind()</a>.</p>
+
+</div>
+</div>
+<a id="ab5b84516fab9cee3316c07450f49746c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5b84516fab9cee3316c07450f49746c">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00042">42</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00364">equid_cylind_grid_area()</a>, and <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00206">gdswzd_equid_cylind()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__equid__cylind__grid__mod.html">ip_equid_cylind_grid_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__equid__cylind__grid__mod.js b/ver-4.4.0/namespaceip__equid__cylind__grid__mod.js
new file mode 100644
index 00000000..56328f48
--- /dev/null
+++ b/ver-4.4.0/namespaceip__equid__cylind__grid__mod.js
@@ -0,0 +1,13 @@
+var namespaceip__equid__cylind__grid__mod =
+[
+    [ "ip_equid_cylind_grid", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid" ],
+    [ "equid_cylind_grid_area", "namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2", null ],
+    [ "equid_cylind_map_jacob", "namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd", null ],
+    [ "equid_cylind_vect_rot", "namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d", null ],
+    [ "gdswzd_equid_cylind", "namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727", null ],
+    [ "init_grib1", "namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477", null ],
+    [ "init_grib2", "namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a", null ],
+    [ "dlat", "namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb", null ],
+    [ "dlon", "namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f", null ],
+    [ "rerth", "namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__gaussian__grid__mod.html b/ver-4.4.0/namespaceip__gaussian__grid__mod.html
new file mode 100644
index 00000000..fc7434c8
--- /dev/null
+++ b/ver-4.4.0/namespaceip__gaussian__grid__mod.html
@@ -0,0 +1,767 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_gaussian_grid_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__gaussian__grid__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_gaussian_grid_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Gaussian grid coordinate transformations.  
+<a href="namespaceip__gaussian__grid__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ab602a870a477c7ab77438700af4e7780"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">gaussian_grid_area</a> (YPTS, AREA)</td></tr>
+<tr class="memdesc:ab602a870a477c7ab77438700af4e7780"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the grid box area for a gaussian cylindrical grid.  <a href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">More...</a><br /></td></tr>
+<tr class="separator:ab602a870a477c7ab77438700af4e7780"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adca7b03877c6a7048ff1716a95e0bd9d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">gaussian_map_jacob</a> (YPTS, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:adca7b03877c6a7048ff1716a95e0bd9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the map jacobians for a gaussian cylindrical grid.  <a href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">More...</a><br /></td></tr>
+<tr class="separator:adca7b03877c6a7048ff1716a95e0bd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac72eec96d0012fbe0f0ec7c520f40dad"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">gaussian_vect_rot</a> (CROT, SROT)</td></tr>
+<tr class="memdesc:ac72eec96d0012fbe0f0ec7c520f40dad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the vector rotation sines and cosines for a gaussian cylindrical grid.  <a href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">More...</a><br /></td></tr>
+<tr class="separator:ac72eec96d0012fbe0f0ec7c520f40dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6eefd9270b3f9bb2c59a77bea4ecf1b9"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">gdswzd_gaussian</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a6eefd9270b3f9bb2c59a77bea4ecf1b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.  <a href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">More...</a><br /></td></tr>
+<tr class="separator:a6eefd9270b3f9bb2c59a77bea4ecf1b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8fe2ee732a3a2db4891a6431787a0b01"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a8fe2ee732a3a2db4891a6431787a0b01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib1_descriptor object.  <a href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">More...</a><br /></td></tr>
+<tr class="separator:a8fe2ee732a3a2db4891a6431787a0b01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae048ac033628515113b11b8c7364e0c2"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:ae048ac033628515113b11b8c7364e0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib2_descriptor object.  <a href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">More...</a><br /></td></tr>
+<tr class="separator:ae048ac033628515113b11b8c7364e0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ae2697b9c4dbe4945276633d1951e79fc"><td class="memItemLeft" align="right" valign="top">real, dimension(:), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">blat</a></td></tr>
+<tr class="memdesc:ae2697b9c4dbe4945276633d1951e79fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gaussian latitude for each parallel.  <a href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">More...</a><br /></td></tr>
+<tr class="separator:ae2697b9c4dbe4945276633d1951e79fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8852b7cfb7b99318140c66b0c551dc6d"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">dlon</a></td></tr>
+<tr class="memdesc:a8852b7cfb7b99318140c66b0c551dc6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">"i"-direction increment.  <a href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">More...</a><br /></td></tr>
+<tr class="separator:a8852b7cfb7b99318140c66b0c551dc6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5c4024263aa3eaef5801849ae32c15a"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">j1</a></td></tr>
+<tr class="memdesc:af5c4024263aa3eaef5801849ae32c15a"><td class="mdescLeft">&#160;</td><td class="mdescRight">'j' index of first grid point within the global array of latitudes.  <a href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">More...</a><br /></td></tr>
+<tr class="separator:af5c4024263aa3eaef5801849ae32c15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67d6cd6d188a8bded8bdf64927617028"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">jh</a></td></tr>
+<tr class="memdesc:a67d6cd6d188a8bded8bdf64927617028"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan mode flag in 'j' direction.  <a href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">More...</a><br /></td></tr>
+<tr class="separator:a67d6cd6d188a8bded8bdf64927617028"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8213e02ccf4325ad5db14f2e48990da2"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">rerth</a></td></tr>
+<tr class="memdesc:a8213e02ccf4325ad5db14f2e48990da2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the earth.  <a href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">More...</a><br /></td></tr>
+<tr class="separator:a8213e02ccf4325ad5db14f2e48990da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3591b5701f3d03931c6a9d5278e161dc"><td class="memItemLeft" align="right" valign="top">real, dimension(:), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ylat_row</a></td></tr>
+<tr class="memdesc:a3591b5701f3d03931c6a9d5278e161dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">dy/dlat for each row in 1/degrees.  <a href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">More...</a><br /></td></tr>
+<tr class="separator:a3591b5701f3d03931c6a9d5278e161dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Gaussian grid coordinate transformations. </p>
+<p>Octet numbers refer to [GRIB2 - GRID DEFINITION TEMPLATE 3.40 Gaussian Latitude/Longitude](<a href="https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-40.shtml">https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-40.shtml</a>).</p>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ab602a870a477c7ab77438700af4e7780"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab602a870a477c7ab77438700af4e7780">&#9670;&nbsp;</a></span>gaussian_grid_area()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_gaussian_grid_mod::gaussian_grid_area </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Computes the grid box area for a gaussian cylindrical grid. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ypts</td><td>y-index of grid point. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00416">416</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00045">blat</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00046">dlon</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00043">j1</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00044">jh</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00047">rerth</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">gdswzd_gaussian()</a>.</p>
+
+</div>
+</div>
+<a id="adca7b03877c6a7048ff1716a95e0bd9d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adca7b03877c6a7048ff1716a95e0bd9d">&#9670;&nbsp;</a></span>gaussian_map_jacob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_gaussian_grid_mod::gaussian_map_jacob </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLAT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Computes the map jacobians for a gaussian cylindrical grid. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ypts</td><td>y-index of grid point. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dx/dlat in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00396">396</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00046">dlon</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00048">ylat_row</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">gdswzd_gaussian()</a>.</p>
+
+</div>
+</div>
+<a id="ac72eec96d0012fbe0f0ec7c520f40dad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac72eec96d0012fbe0f0ec7c520f40dad">&#9670;&nbsp;</a></span>gaussian_vect_rot()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_gaussian_grid_mod::gaussian_vect_rot </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Computes the vector rotation sines and cosines for a gaussian cylindrical grid. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00376">376</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">gdswzd_gaussian()</a>.</p>
+
+</div>
+</div>
+<a id="a6eefd9270b3f9bb2c59a77bea4ecf1b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6eefd9270b3f9bb2c59a77bea4ecf1b9">&#9670;&nbsp;</a></span>gdswzd_gaussian()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_gaussian_grid_mod::gdswzd_gaussian </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids. </p>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too. Optionally, the vector rotations, the map jacobians and the grid box areas may be returned as well.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present.</p>
+<p>To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td>The grid object gdswzd was called on. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>option flag<ul>
+<li>+1 to compute earth coords of selected grid coords.</li>
+<li>-1 o compute grid coords of selected earth coords. </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates if iopt&gt;0. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates if iopt&gt;0. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees e if iopt&lt;0 (Acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees n if iopt&lt;0 (Acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Optional clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Optional clockwise vector rotation sines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>Optional dx/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>Optional dx/dlat in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>Optional dy/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>Optional dy/dlat in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Optional area weights in m**2.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00194">194</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00045">blat</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00046">dlon</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00417">gaussian_grid_area()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00397">gaussian_map_jacob()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00377">gaussian_vect_rot()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00043">j1</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00044">jh</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00047">rerth</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00048">ylat_row</a>.</p>
+
+</div>
+</div>
+<a id="a8fe2ee732a3a2db4891a6431787a0b01"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8fe2ee732a3a2db4891a6431787a0b01">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_gaussian_grid_mod::init_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib1_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td>A grib1_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00059">59</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae048ac033628515113b11b8c7364e0c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae048ac033628515113b11b8c7364e0c2">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_gaussian_grid_mod::init_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib2_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>A grib2_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00108">108</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="ae2697b9c4dbe4945276633d1951e79fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2697b9c4dbe4945276633d1951e79fc">&#9670;&nbsp;</a></span>blat</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real, dimension(:), allocatable ip_gaussian_grid_mod::blat</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Gaussian latitude for each parallel. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00045">45</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00417">gaussian_grid_area()</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">gdswzd_gaussian()</a>.</p>
+
+</div>
+</div>
+<a id="a8852b7cfb7b99318140c66b0c551dc6d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8852b7cfb7b99318140c66b0c551dc6d">&#9670;&nbsp;</a></span>dlon</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_gaussian_grid_mod::dlon</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>"i"-direction increment. </p>
+<p>GRIB2 Section 3, octets 64-67. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00046">46</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00417">gaussian_grid_area()</a>, <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00397">gaussian_map_jacob()</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">gdswzd_gaussian()</a>.</p>
+
+</div>
+</div>
+<a id="af5c4024263aa3eaef5801849ae32c15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5c4024263aa3eaef5801849ae32c15a">&#9670;&nbsp;</a></span>j1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_gaussian_grid_mod::j1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>'j' index of first grid point within the global array of latitudes. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00043">43</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00417">gaussian_grid_area()</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">gdswzd_gaussian()</a>.</p>
+
+</div>
+</div>
+<a id="a67d6cd6d188a8bded8bdf64927617028"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a67d6cd6d188a8bded8bdf64927617028">&#9670;&nbsp;</a></span>jh</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_gaussian_grid_mod::jh</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Scan mode flag in 'j' direction. </p>
+<p>When '1' points scan from N to S. When "-1" points scan from S to N. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00044">44</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00417">gaussian_grid_area()</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">gdswzd_gaussian()</a>.</p>
+
+</div>
+</div>
+<a id="a8213e02ccf4325ad5db14f2e48990da2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8213e02ccf4325ad5db14f2e48990da2">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_gaussian_grid_mod::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the earth. </p>
+<p>GRIB2 Section 3, octets 15-30. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00047">47</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00417">gaussian_grid_area()</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">gdswzd_gaussian()</a>.</p>
+
+</div>
+</div>
+<a id="a3591b5701f3d03931c6a9d5278e161dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3591b5701f3d03931c6a9d5278e161dc">&#9670;&nbsp;</a></span>ylat_row</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real, dimension(:), allocatable ip_gaussian_grid_mod::ylat_row</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>dy/dlat for each row in 1/degrees. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00048">48</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00397">gaussian_map_jacob()</a>, and <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00197">gdswzd_gaussian()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__gaussian__grid__mod.html">ip_gaussian_grid_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__gaussian__grid__mod.js b/ver-4.4.0/namespaceip__gaussian__grid__mod.js
new file mode 100644
index 00000000..1413b539
--- /dev/null
+++ b/ver-4.4.0/namespaceip__gaussian__grid__mod.js
@@ -0,0 +1,16 @@
+var namespaceip__gaussian__grid__mod =
+[
+    [ "ip_gaussian_grid", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html", "structip__gaussian__grid__mod_1_1ip__gaussian__grid" ],
+    [ "gaussian_grid_area", "namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780", null ],
+    [ "gaussian_map_jacob", "namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d", null ],
+    [ "gaussian_vect_rot", "namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad", null ],
+    [ "gdswzd_gaussian", "namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9", null ],
+    [ "init_grib1", "namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01", null ],
+    [ "init_grib2", "namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2", null ],
+    [ "blat", "namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc", null ],
+    [ "dlon", "namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d", null ],
+    [ "j1", "namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a", null ],
+    [ "jh", "namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028", null ],
+    [ "rerth", "namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2", null ],
+    [ "ylat_row", "namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__grid__descriptor__mod.html b/ver-4.4.0/namespaceip__grid__descriptor__mod.html
new file mode 100644
index 00000000..ba404116
--- /dev/null
+++ b/ver-4.4.0/namespaceip__grid__descriptor__mod.html
@@ -0,0 +1,378 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_descriptor_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__grid__descriptor__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_descriptor_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.  
+<a href="namespaceip__grid__descriptor__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.  <a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grib-2 descriptor containing a grib2 GDT represented by an integer array.  <a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract descriptor object which represents a grib1 or grib2 descriptor.  <a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html">operator(==)</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:aa00884a7fca018535eaf0c2ebe26bc98"><td class="memItemLeft" align="right" valign="top">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) function, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">init_grib1_descriptor</a> (gds)</td></tr>
+<tr class="memdesc:aa00884a7fca018535eaf0c2ebe26bc98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize grib-1 descriptor from integer grid definition section (GDS).  <a href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">More...</a><br /></td></tr>
+<tr class="separator:aa00884a7fca018535eaf0c2ebe26bc98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a143ac06a2a20697d01606a259213b451"><td class="memItemLeft" align="right" valign="top">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) function, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">init_grib2_descriptor</a> (gdt_num, gdt_len, gdt_tmpl)</td></tr>
+<tr class="memdesc:a143ac06a2a20697d01606a259213b451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize grib-2 descriptor from integer grid definition template (GDT).  <a href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">More...</a><br /></td></tr>
+<tr class="separator:a143ac06a2a20697d01606a259213b451"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a202219f9c5c84fa04d3eb1c2208358ec"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">is_same_grid</a> (grid1, grid2)</td></tr>
+<tr class="memdesc:a202219f9c5c84fa04d3eb1c2208358ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grid descriptors are the same.  <a href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">More...</a><br /></td></tr>
+<tr class="separator:a202219f9c5c84fa04d3eb1c2208358ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bb3c5230b88012bddc3922bfa1cb019"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">is_same_grid_grib1</a> (self, grid_desc)</td></tr>
+<tr class="memdesc:a5bb3c5230b88012bddc3922bfa1cb019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grib1_descriptors are the same.  <a href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">More...</a><br /></td></tr>
+<tr class="separator:a5bb3c5230b88012bddc3922bfa1cb019"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75ac34ea9372afaa29b0df2ce8919988"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">is_same_grid_grib2</a> (self, grid_desc)</td></tr>
+<tr class="memdesc:a75ac34ea9372afaa29b0df2ce8919988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grib2_descriptors are the same.  <a href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">More...</a><br /></td></tr>
+<tr class="separator:a75ac34ea9372afaa29b0df2ce8919988"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions. </p>
+<p>An abstract <a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" title="Abstract descriptor object which represents a grib1 or grib2 descriptor.">ip_grid_descriptor</a> class is subclassed by the GRIB1 and GRIB2 descriptor types which contain the raw integer grib arrays. A comparison operator to test whether two grid descriptors are the same is also included.</p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="aa00884a7fca018535eaf0c2ebe26bc98"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa00884a7fca018535eaf0c2ebe26bc98">&#9670;&nbsp;</a></span>init_grib1_descriptor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) function, public ip_grid_descriptor_mod::init_grib1_descriptor </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(:), intent(in)&#160;</td>
+          <td class="paramname"><em>gds</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Initialize grib-1 descriptor from integer grid definition section (GDS). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">gds</td><td>Grib-1 grid definition section.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Initialized Grib-1 descriptor.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00074">74</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a143ac06a2a20697d01606a259213b451"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a143ac06a2a20697d01606a259213b451">&#9670;&nbsp;</a></span>init_grib2_descriptor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) function, public ip_grid_descriptor_mod::init_grib2_descriptor </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>gdt_num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>gdt_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(:), intent(in)&#160;</td>
+          <td class="paramname"><em>gdt_tmpl</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Initialize grib-2 descriptor from integer grid definition template (GDT). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">gdt_num</td><td>Grib-2 grid number. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gdt_len</td><td>Lenght of the grid definition template. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gdt_tmpl</td><td>Grib-2 grid definition template.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Initialized Grib-2 descriptor.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00093">93</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a202219f9c5c84fa04d3eb1c2208358ec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a202219f9c5c84fa04d3eb1c2208358ec">&#9670;&nbsp;</a></span>is_same_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">logical function ip_grid_descriptor_mod::is_same_grid </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Test whether two grid descriptors are the same. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid1</td><td>An <a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" title="Abstract descriptor object which represents a grib1 or grib2 descriptor.">ip_grid_descriptor</a>. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid2</td><td>Another <a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" title="Abstract descriptor object which represents a grib1 or grib2 descriptor.">ip_grid_descriptor</a>.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the grids are the same, false if they are not.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00115">115</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00116">ip_grid_descriptor_mod::operator(==)::is_same_grid()</a>, and <a class="el" href="ip__grid__mod_8F90_source.html#l00183">ip_grid_mod::operator(==)::is_same_grid()</a>.</p>
+
+</div>
+</div>
+<a id="a5bb3c5230b88012bddc3922bfa1cb019"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5bb3c5230b88012bddc3922bfa1cb019">&#9670;&nbsp;</a></span>is_same_grid_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">logical function ip_grid_descriptor_mod::is_same_grid_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Test whether two grib1_descriptors are the same. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td>The <a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html" title="Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.">grib1_descriptor</a> which this routine was called on. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_desc</td><td>A <a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html" title="Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.">grib1_descriptor</a> to compare.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the grids are the same, false if they are not.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00145">145</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a75ac34ea9372afaa29b0df2ce8919988"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a75ac34ea9372afaa29b0df2ce8919988">&#9670;&nbsp;</a></span>is_same_grid_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">logical function ip_grid_descriptor_mod::is_same_grid_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Test whether two grib2_descriptors are the same. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td>The <a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html" title="Grib-2 descriptor containing a grib2 GDT represented by an integer array.">grib2_descriptor</a> which this routine was called on. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_desc</td><td><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html" title="Grib-2 descriptor containing a grib2 GDT represented by an integer array.">grib2_descriptor</a> to compare.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the grids are the same, false if they are not.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00164">164</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__grid__descriptor__mod.js b/ver-4.4.0/namespaceip__grid__descriptor__mod.js
new file mode 100644
index 00000000..06ef1ff6
--- /dev/null
+++ b/ver-4.4.0/namespaceip__grid__descriptor__mod.js
@@ -0,0 +1,13 @@
+var namespaceip__grid__descriptor__mod =
+[
+    [ "grib1_descriptor", "structip__grid__descriptor__mod_1_1grib1__descriptor.html", "structip__grid__descriptor__mod_1_1grib1__descriptor" ],
+    [ "grib2_descriptor", "structip__grid__descriptor__mod_1_1grib2__descriptor.html", "structip__grid__descriptor__mod_1_1grib2__descriptor" ],
+    [ "init_descriptor", "interfaceip__grid__descriptor__mod_1_1init__descriptor.html", "interfaceip__grid__descriptor__mod_1_1init__descriptor" ],
+    [ "ip_grid_descriptor", "structip__grid__descriptor__mod_1_1ip__grid__descriptor.html", "structip__grid__descriptor__mod_1_1ip__grid__descriptor" ],
+    [ "operator(==)", "interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html", "interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08" ],
+    [ "init_grib1_descriptor", "namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98", null ],
+    [ "init_grib2_descriptor", "namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451", null ],
+    [ "is_same_grid", "namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec", null ],
+    [ "is_same_grid_grib1", "namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019", null ],
+    [ "is_same_grid_grib2", "namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__grid__factory__mod.html b/ver-4.4.0/namespaceip__grid__factory__mod.html
new file mode 100644
index 00000000..0ee802a3
--- /dev/null
+++ b/ver-4.4.0/namespaceip__grid__factory__mod.html
@@ -0,0 +1,285 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_factory_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__grid__factory__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_factory_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Routines for creating an ip_grid given a Grib descriptor.  
+<a href="namespaceip__grid__factory__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a2d2ea07d353bae8b057471aa99b58e46"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">init_grid_generic</a> (grid, grid_desc)</td></tr>
+<tr class="memdesc:a2d2ea07d353bae8b057471aa99b58e46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polymorphic ip_grid object from an ip_grid_descriptor.  <a href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">More...</a><br /></td></tr>
+<tr class="separator:a2d2ea07d353bae8b057471aa99b58e46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8906ed6fe52c2426c0ff09ce50b6fc5"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">init_grid_grib1</a> (grid, g1_desc)</td></tr>
+<tr class="memdesc:ad8906ed6fe52c2426c0ff09ce50b6fc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polymorphic ip_grid from a grib1_descriptor.  <a href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">More...</a><br /></td></tr>
+<tr class="separator:ad8906ed6fe52c2426c0ff09ce50b6fc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa187dc8dbd1d004a51cc0e9826ffa225"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">init_grid_grib2</a> (grid, g2_desc)</td></tr>
+<tr class="memdesc:aa187dc8dbd1d004a51cc0e9826ffa225"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polymorphic ip_grid from a grib2_descriptor.  <a href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">More...</a><br /></td></tr>
+<tr class="separator:aa187dc8dbd1d004a51cc0e9826ffa225"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Routines for creating an ip_grid given a Grib descriptor. </p>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a2d2ea07d353bae8b057471aa99b58e46"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d2ea07d353bae8b057471aa99b58e46">&#9670;&nbsp;</a></span>init_grid_generic()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_grid_factory_mod::init_grid_generic </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(out), allocatable&#160;</td>
+          <td class="paramname"><em>grid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a polymorphic ip_grid object from an ip_grid_descriptor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">grid</td><td>Grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_desc</td><td>Grid descriptor created from a grib1/grib2 template.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00033">33</a> of file <a class="el" href="ip__grid__factory__mod_8F90_source.html">ip_grid_factory_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ad8906ed6fe52c2426c0ff09ce50b6fc5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8906ed6fe52c2426c0ff09ce50b6fc5">&#9670;&nbsp;</a></span>init_grid_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_grid_factory_mod::init_grid_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(out), allocatable&#160;</td>
+          <td class="paramname"><em>grid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a polymorphic ip_grid from a grib1_descriptor. </p>
+<p>The concrete grid type is chosen based on the grid number in the descriptor.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">grid</td><td>Grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__factory__mod_8F90_source.html">ip_grid_factory_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__grid__mod_8F90_source.html#l00014">ip_grid_mod::equid_cylind_grid_id_grib1</a>, <a class="el" href="ip__grid__mod_8F90_source.html#l00017">ip_grid_mod::gaussian_grid_id_grib1</a>, <a class="el" href="ip__grid__mod_8F90_source.html#l00016">ip_grid_mod::lambert_conf_grid_id_grib1</a>, <a class="el" href="ip__grid__mod_8F90_source.html#l00015">ip_grid_mod::mercator_grid_id_grib1</a>, <a class="el" href="ip__grid__mod_8F90_source.html#l00018">ip_grid_mod::polar_stereo_grid_id_grib1</a>, <a class="el" href="ip__grid__mod_8F90_source.html#l00020">ip_grid_mod::rot_equid_cylind_b_grid_id_grib1</a>, and <a class="el" href="ip__grid__mod_8F90_source.html#l00019">ip_grid_mod::rot_equid_cylind_e_grid_id_grib1</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00034">ip_grid_factory_mod::init_grid::init_grid_generic()</a>.</p>
+
+</div>
+</div>
+<a id="aa187dc8dbd1d004a51cc0e9826ffa225"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa187dc8dbd1d004a51cc0e9826ffa225">&#9670;&nbsp;</a></span>init_grid_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_grid_factory_mod::init_grid_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(out), allocatable&#160;</td>
+          <td class="paramname"><em>grid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a polymorphic ip_grid from a grib2_descriptor. </p>
+<p>The concrete grid type is chosen based on the grid number in the descriptor.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">grid</td><td>Grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>Grib2 descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00089">89</a> of file <a class="el" href="ip__grid__factory__mod_8F90_source.html">ip_grid_factory_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__grid__mod_8F90_source.html#l00022">ip_grid_mod::equid_cylind_grid_id_grib2</a>, <a class="el" href="ip__grid__mod_8F90_source.html#l00027">ip_grid_mod::gaussian_grid_id_grib2</a>, <a class="el" href="ip__grid__mod_8F90_source.html#l00026">ip_grid_mod::lambert_conf_grid_id_grib2</a>, <a class="el" href="ip__grid__mod_8F90_source.html#l00024">ip_grid_mod::mercator_grid_id_grib2</a>, <a class="el" href="ip__grid__mod_8F90_source.html#l00025">ip_grid_mod::polar_stereo_grid_id_grib2</a>, and <a class="el" href="ip__grid__mod_8F90_source.html#l00023">ip_grid_mod::rot_equid_cylind_grid_id_grib2</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00034">ip_grid_factory_mod::init_grid::init_grid_generic()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__grid__factory__mod.js b/ver-4.4.0/namespaceip__grid__factory__mod.js
new file mode 100644
index 00000000..162fc99b
--- /dev/null
+++ b/ver-4.4.0/namespaceip__grid__factory__mod.js
@@ -0,0 +1,7 @@
+var namespaceip__grid__factory__mod =
+[
+    [ "init_grid", "interfaceip__grid__factory__mod_1_1init__grid.html", "interfaceip__grid__factory__mod_1_1init__grid" ],
+    [ "init_grid_generic", "namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46", null ],
+    [ "init_grid_grib1", "namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5", null ],
+    [ "init_grid_grib2", "namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__grid__mod.html b/ver-4.4.0/namespaceip__grid__mod.html
new file mode 100644
index 00000000..3b0febab
--- /dev/null
+++ b/ver-4.4.0/namespaceip__grid__mod.html
@@ -0,0 +1,546 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__grid__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Abstract <a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a> type.  
+<a href="namespaceip__grid__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html">gdswzd_interface</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html">init_grib1_interface</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html">init_grib2_interface</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract grid that holds fields and methods common to all grids.  <a href="structip__grid__mod_1_1ip__grid.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html">operator(==)</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check equality.  <a href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a63572318d74ec94c20c5ccd6ded2d442"><td class="memItemLeft" align="right" valign="top">integer function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">field_pos</a> (self, i, j)</td></tr>
+<tr class="memdesc:a63572318d74ec94c20c5ccd6ded2d442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the field position for a given grid point.  <a href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">More...</a><br /></td></tr>
+<tr class="separator:a63572318d74ec94c20c5ccd6ded2d442"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a663bda9af9dd991a09ba0f0de66dc045"><td class="memItemLeft" align="right" valign="top">logical function&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045">is_same_grid</a> (grid1, grid2)</td></tr>
+<tr class="memdesc:a663bda9af9dd991a09ba0f0de66dc045"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two grids.  <a href="namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045">More...</a><br /></td></tr>
+<tr class="separator:a663bda9af9dd991a09ba0f0de66dc045"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ad96da95d40beceb1a1c405971e8130bb"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">equid_cylind_grid_id_grib1</a> = 0</td></tr>
+<tr class="memdesc:ad96da95d40beceb1a1c405971e8130bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for equidistant cylindrical grid in grib1.  <a href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">More...</a><br /></td></tr>
+<tr class="separator:ad96da95d40beceb1a1c405971e8130bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b5ae57fe3d6d365cfd1ccdb4feb8ac6"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">equid_cylind_grid_id_grib2</a> = 0</td></tr>
+<tr class="memdesc:a3b5ae57fe3d6d365cfd1ccdb4feb8ac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for equidistant cylindrical grid in grib2.  <a href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">More...</a><br /></td></tr>
+<tr class="separator:a3b5ae57fe3d6d365cfd1ccdb4feb8ac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45e8afad72b1b8856b3e44f2dd3123b3"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">gaussian_grid_id_grib1</a> = 4</td></tr>
+<tr class="memdesc:a45e8afad72b1b8856b3e44f2dd3123b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Gaussian grid in grib1.  <a href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">More...</a><br /></td></tr>
+<tr class="separator:a45e8afad72b1b8856b3e44f2dd3123b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36a9a73ecd50353f892341ae8a5c8316"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">gaussian_grid_id_grib2</a> = 40</td></tr>
+<tr class="memdesc:a36a9a73ecd50353f892341ae8a5c8316"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Gaussian grid in grib2.  <a href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">More...</a><br /></td></tr>
+<tr class="separator:a36a9a73ecd50353f892341ae8a5c8316"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82b90d20f38ff39741f6890fa422d16"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">lambert_conf_grid_id_grib1</a> = 3</td></tr>
+<tr class="memdesc:ab82b90d20f38ff39741f6890fa422d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Lambert Conformal grid in grib1.  <a href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">More...</a><br /></td></tr>
+<tr class="separator:ab82b90d20f38ff39741f6890fa422d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e49846c9122b1fe1fcdbb2913fc32fe"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">lambert_conf_grid_id_grib2</a> = 30</td></tr>
+<tr class="memdesc:a2e49846c9122b1fe1fcdbb2913fc32fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Lambert conformal grid in grib2.  <a href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">More...</a><br /></td></tr>
+<tr class="separator:a2e49846c9122b1fe1fcdbb2913fc32fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9ff525eca4f053b04ec96a83cb06682"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">mercator_grid_id_grib1</a> = 1</td></tr>
+<tr class="memdesc:ab9ff525eca4f053b04ec96a83cb06682"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Mercator grid in grib1.  <a href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">More...</a><br /></td></tr>
+<tr class="separator:ab9ff525eca4f053b04ec96a83cb06682"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9c58af5162d96cb7d1ac5001139b856"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">mercator_grid_id_grib2</a> = 10</td></tr>
+<tr class="memdesc:af9c58af5162d96cb7d1ac5001139b856"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for Mercator grid in grib2.  <a href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">More...</a><br /></td></tr>
+<tr class="separator:af9c58af5162d96cb7d1ac5001139b856"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afee73c2f09ea9de43c156dc594ae1df1"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">polar_stereo_grid_id_grib1</a> = 5</td></tr>
+<tr class="memdesc:afee73c2f09ea9de43c156dc594ae1df1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for polar stereo grid in grib1.  <a href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">More...</a><br /></td></tr>
+<tr class="separator:afee73c2f09ea9de43c156dc594ae1df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b3ad320b41791e65966e1bb498e9ae3"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">polar_stereo_grid_id_grib2</a> = 20</td></tr>
+<tr class="memdesc:a5b3ad320b41791e65966e1bb498e9ae3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for polar stereo grid in grib2.  <a href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">More...</a><br /></td></tr>
+<tr class="separator:a5b3ad320b41791e65966e1bb498e9ae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb7d7d18410aaae52d7eee2e97f04b14"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">rot_equid_cylind_b_grid_id_grib1</a> = 205</td></tr>
+<tr class="memdesc:adb7d7d18410aaae52d7eee2e97f04b14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for rotated equidistant cylindrical B-stagger grid.  <a href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">More...</a><br /></td></tr>
+<tr class="separator:adb7d7d18410aaae52d7eee2e97f04b14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e11ce780c3d165c282684188890af1c"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">rot_equid_cylind_e_grid_id_grib1</a> = 203</td></tr>
+<tr class="memdesc:a4e11ce780c3d165c282684188890af1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for rotated equidistant cylindrical E-stagger grid.  <a href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">More...</a><br /></td></tr>
+<tr class="separator:a4e11ce780c3d165c282684188890af1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc7c650c524eb6425e77b2e0eac0979a"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">rot_equid_cylind_grid_id_grib2</a> = 1</td></tr>
+<tr class="memdesc:adc7c650c524eb6425e77b2e0eac0979a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer grid number for rotated equidistant cylindrical grid in grib2.  <a href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">More...</a><br /></td></tr>
+<tr class="separator:adc7c650c524eb6425e77b2e0eac0979a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Abstract <a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a> type. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a63572318d74ec94c20c5ccd6ded2d442"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63572318d74ec94c20c5ccd6ded2d442">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer function ip_grid_mod::field_pos </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>i</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>j</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the field position for a given grid point. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td></td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td></td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">j</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>April 1996 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00197">197</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a663bda9af9dd991a09ba0f0de66dc045"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a663bda9af9dd991a09ba0f0de66dc045">&#9670;&nbsp;</a></span>is_same_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">logical function ip_grid_mod::is_same_grid </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Compares two grids. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid1</td><td>An <a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a> </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid2</td><td>Another <a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the grids are the same, false if not.</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00182">182</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="ad96da95d40beceb1a1c405971e8130bb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad96da95d40beceb1a1c405971e8130bb">&#9670;&nbsp;</a></span>equid_cylind_grid_id_grib1</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::equid_cylind_grid_id_grib1 = 0</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for equidistant cylindrical grid in grib1. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00014">14</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00054">ip_grid_factory_mod::init_grid_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="a3b5ae57fe3d6d365cfd1ccdb4feb8ac6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">&#9670;&nbsp;</a></span>equid_cylind_grid_id_grib2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::equid_cylind_grid_id_grib2 = 0</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for equidistant cylindrical grid in grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00022">22</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00090">ip_grid_factory_mod::init_grid_grib2()</a>.</p>
+
+</div>
+</div>
+<a id="a45e8afad72b1b8856b3e44f2dd3123b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a45e8afad72b1b8856b3e44f2dd3123b3">&#9670;&nbsp;</a></span>gaussian_grid_id_grib1</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::gaussian_grid_id_grib1 = 4</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for Gaussian grid in grib1. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00017">17</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00054">ip_grid_factory_mod::init_grid_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="a36a9a73ecd50353f892341ae8a5c8316"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a36a9a73ecd50353f892341ae8a5c8316">&#9670;&nbsp;</a></span>gaussian_grid_id_grib2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::gaussian_grid_id_grib2 = 40</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for Gaussian grid in grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00027">27</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00090">ip_grid_factory_mod::init_grid_grib2()</a>.</p>
+
+</div>
+</div>
+<a id="ab82b90d20f38ff39741f6890fa422d16"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab82b90d20f38ff39741f6890fa422d16">&#9670;&nbsp;</a></span>lambert_conf_grid_id_grib1</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::lambert_conf_grid_id_grib1 = 3</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for Lambert Conformal grid in grib1. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00016">16</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00054">ip_grid_factory_mod::init_grid_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="a2e49846c9122b1fe1fcdbb2913fc32fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2e49846c9122b1fe1fcdbb2913fc32fe">&#9670;&nbsp;</a></span>lambert_conf_grid_id_grib2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::lambert_conf_grid_id_grib2 = 30</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for Lambert conformal grid in grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00026">26</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00090">ip_grid_factory_mod::init_grid_grib2()</a>.</p>
+
+</div>
+</div>
+<a id="ab9ff525eca4f053b04ec96a83cb06682"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab9ff525eca4f053b04ec96a83cb06682">&#9670;&nbsp;</a></span>mercator_grid_id_grib1</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::mercator_grid_id_grib1 = 1</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for Mercator grid in grib1. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00015">15</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00054">ip_grid_factory_mod::init_grid_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="af9c58af5162d96cb7d1ac5001139b856"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af9c58af5162d96cb7d1ac5001139b856">&#9670;&nbsp;</a></span>mercator_grid_id_grib2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::mercator_grid_id_grib2 = 10</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for Mercator grid in grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00024">24</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00090">ip_grid_factory_mod::init_grid_grib2()</a>.</p>
+
+</div>
+</div>
+<a id="afee73c2f09ea9de43c156dc594ae1df1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afee73c2f09ea9de43c156dc594ae1df1">&#9670;&nbsp;</a></span>polar_stereo_grid_id_grib1</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::polar_stereo_grid_id_grib1 = 5</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for polar stereo grid in grib1. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00018">18</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00054">ip_grid_factory_mod::init_grid_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="a5b3ad320b41791e65966e1bb498e9ae3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5b3ad320b41791e65966e1bb498e9ae3">&#9670;&nbsp;</a></span>polar_stereo_grid_id_grib2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::polar_stereo_grid_id_grib2 = 20</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for polar stereo grid in grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00025">25</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00090">ip_grid_factory_mod::init_grid_grib2()</a>.</p>
+
+</div>
+</div>
+<a id="adb7d7d18410aaae52d7eee2e97f04b14"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb7d7d18410aaae52d7eee2e97f04b14">&#9670;&nbsp;</a></span>rot_equid_cylind_b_grid_id_grib1</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::rot_equid_cylind_b_grid_id_grib1 = 205</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for rotated equidistant cylindrical B-stagger grid. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00020">20</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00054">ip_grid_factory_mod::init_grid_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="a4e11ce780c3d165c282684188890af1c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4e11ce780c3d165c282684188890af1c">&#9670;&nbsp;</a></span>rot_equid_cylind_e_grid_id_grib1</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::rot_equid_cylind_e_grid_id_grib1 = 203</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for rotated equidistant cylindrical E-stagger grid. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00019">19</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00054">ip_grid_factory_mod::init_grid_grib1()</a>.</p>
+
+</div>
+</div>
+<a id="adc7c650c524eb6425e77b2e0eac0979a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adc7c650c524eb6425e77b2e0eac0979a">&#9670;&nbsp;</a></span>rot_equid_cylind_grid_id_grib2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_grid_mod::rot_equid_cylind_grid_id_grib2 = 1</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integer grid number for rotated equidistant cylindrical grid in grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00023">23</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__grid__factory__mod_8F90_source.html#l00090">ip_grid_factory_mod::init_grid_grib2()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__grid__mod.js b/ver-4.4.0/namespaceip__grid__mod.js
new file mode 100644
index 00000000..47bec179
--- /dev/null
+++ b/ver-4.4.0/namespaceip__grid__mod.js
@@ -0,0 +1,23 @@
+var namespaceip__grid__mod =
+[
+    [ "gdswzd_interface", "interfaceip__grid__mod_1_1gdswzd__interface.html", "interfaceip__grid__mod_1_1gdswzd__interface" ],
+    [ "init_grib1_interface", "interfaceip__grid__mod_1_1init__grib1__interface.html", "interfaceip__grid__mod_1_1init__grib1__interface" ],
+    [ "init_grib2_interface", "interfaceip__grid__mod_1_1init__grib2__interface.html", "interfaceip__grid__mod_1_1init__grib2__interface" ],
+    [ "ip_grid", "structip__grid__mod_1_1ip__grid.html", "structip__grid__mod_1_1ip__grid" ],
+    [ "operator(==)", "interfaceip__grid__mod_1_1operator_07_0a_0a_08.html", "interfaceip__grid__mod_1_1operator_07_0a_0a_08" ],
+    [ "field_pos", "namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442", null ],
+    [ "is_same_grid", "namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045", null ],
+    [ "equid_cylind_grid_id_grib1", "namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb", null ],
+    [ "equid_cylind_grid_id_grib2", "namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6", null ],
+    [ "gaussian_grid_id_grib1", "namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3", null ],
+    [ "gaussian_grid_id_grib2", "namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316", null ],
+    [ "lambert_conf_grid_id_grib1", "namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16", null ],
+    [ "lambert_conf_grid_id_grib2", "namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe", null ],
+    [ "mercator_grid_id_grib1", "namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682", null ],
+    [ "mercator_grid_id_grib2", "namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856", null ],
+    [ "polar_stereo_grid_id_grib1", "namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1", null ],
+    [ "polar_stereo_grid_id_grib2", "namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3", null ],
+    [ "rot_equid_cylind_b_grid_id_grib1", "namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14", null ],
+    [ "rot_equid_cylind_e_grid_id_grib1", "namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c", null ],
+    [ "rot_equid_cylind_grid_id_grib2", "namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__grids__mod.html b/ver-4.4.0/namespaceip__grids__mod.html
new file mode 100644
index 00000000..fa7bb2c4
--- /dev/null
+++ b/ver-4.4.0/namespaceip__grids__mod.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grids_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__grids__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_grids_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Re-export the individual grids.  
+<a href="namespaceip__grids__mod.html#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Re-export the individual grids. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>7/21/21 </dd></dl>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grids__mod.html">ip_grids_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__interpolators__mod.html b/ver-4.4.0/namespaceip__interpolators__mod.html
new file mode 100644
index 00000000..1b103927
--- /dev/null
+++ b/ver-4.4.0/namespaceip__interpolators__mod.html
@@ -0,0 +1,268 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_interpolators_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__interpolators__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_interpolators_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Top-level module to export interpolation routines and constants.  
+<a href="namespaceip__interpolators__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:adfdc7760718083d85618df85320c495e"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">bicubic_interp_id</a> = 1</td></tr>
+<tr class="separator:adfdc7760718083d85618df85320c495e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a753e4b6c113a9a8b226c3c834786f3e1"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">bilinear_interp_id</a> = 0</td></tr>
+<tr class="separator:a753e4b6c113a9a8b226c3c834786f3e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7df843ca4a64e3178f448aebf7dad359"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">budget_interp_id</a> = 3</td></tr>
+<tr class="separator:a7df843ca4a64e3178f448aebf7dad359"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae77a1da241f5de94f1874004ee8e715c"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">neighbor_budget_interp_id</a> = 6</td></tr>
+<tr class="separator:ae77a1da241f5de94f1874004ee8e715c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35e5fe3a2dd79d205c0503f550388258"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">neighbor_interp_id</a> = 2</td></tr>
+<tr class="separator:a35e5fe3a2dd79d205c0503f550388258"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83ba2963a0b686c6ae67b53f9c385851"><td class="memItemLeft" align="right" valign="top">integer, parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">spectral_interp_id</a> = 4</td></tr>
+<tr class="separator:a83ba2963a0b686c6ae67b53f9c385851"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Top-level module to export interpolation routines and constants. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+</div><h2 class="groupheader">Variable Documentation</h2>
+<a id="adfdc7760718083d85618df85320c495e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adfdc7760718083d85618df85320c495e">&#9670;&nbsp;</a></span>bicubic_interp_id</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_interpolators_mod::bicubic_interp_id = 1</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Constant</td><td>to choose BICUBIC interpolation method </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__interpolators__mod_8F90_source.html#l00019">19</a> of file <a class="el" href="ip__interpolators__mod_8F90_source.html">ip_interpolators_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>, and <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+<a id="a753e4b6c113a9a8b226c3c834786f3e1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a753e4b6c113a9a8b226c3c834786f3e1">&#9670;&nbsp;</a></span>bilinear_interp_id</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_interpolators_mod::bilinear_interp_id = 0</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Constant</td><td>to choose BILINEAR interpolation method </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__interpolators__mod_8F90_source.html#l00017">17</a> of file <a class="el" href="ip__interpolators__mod_8F90_source.html">ip_interpolators_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>, and <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+<a id="a7df843ca4a64e3178f448aebf7dad359"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7df843ca4a64e3178f448aebf7dad359">&#9670;&nbsp;</a></span>budget_interp_id</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_interpolators_mod::budget_interp_id = 3</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Constant</td><td>to choose BUDGET interpolation method </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__interpolators__mod_8F90_source.html#l00023">23</a> of file <a class="el" href="ip__interpolators__mod_8F90_source.html">ip_interpolators_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>, and <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+<a id="ae77a1da241f5de94f1874004ee8e715c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae77a1da241f5de94f1874004ee8e715c">&#9670;&nbsp;</a></span>neighbor_budget_interp_id</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_interpolators_mod::neighbor_budget_interp_id = 6</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Constant</td><td>to choose NEIGBOR_BUDGET interpolation method </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__interpolators__mod_8F90_source.html#l00027">27</a> of file <a class="el" href="ip__interpolators__mod_8F90_source.html">ip_interpolators_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>, and <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+<a id="a35e5fe3a2dd79d205c0503f550388258"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35e5fe3a2dd79d205c0503f550388258">&#9670;&nbsp;</a></span>neighbor_interp_id</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_interpolators_mod::neighbor_interp_id = 2</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Constant</td><td>to choose NEIGBOR interpolation method </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__interpolators__mod_8F90_source.html#l00021">21</a> of file <a class="el" href="ip__interpolators__mod_8F90_source.html">ip_interpolators_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>, and <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+<a id="a83ba2963a0b686c6ae67b53f9c385851"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83ba2963a0b686c6ae67b53f9c385851">&#9670;&nbsp;</a></span>spectral_interp_id</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter, public ip_interpolators_mod::spectral_interp_id = 4</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Constant</td><td>to choose SPECTRAL interpolation method </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__interpolators__mod_8F90_source.html#l00025">25</a> of file <a class="el" href="ip__interpolators__mod_8F90_source.html">ip_interpolators_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ipolates_8F90_source.html#l00065">ipolates_mod::ipolates_grid()</a>, and <a class="el" href="ipolatev_8F90_source.html#l00070">ipolatev_mod::ipolatev_grid()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__interpolators__mod.html">ip_interpolators_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__lambert__conf__grid__mod.html b/ver-4.4.0/namespaceip__lambert__conf__grid__mod.html
new file mode 100644
index 00000000..a0a69117
--- /dev/null
+++ b/ver-4.4.0/namespaceip__lambert__conf__grid__mod.html
@@ -0,0 +1,880 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_lambert_conf_grid_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__lambert__conf__grid__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_lambert_conf_grid_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Lambert conformal grib decoder and grid coordinate transformations.  
+<a href="namespaceip__lambert__conf__grid__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a5ebb9e4f1bd58caa254771b305c94f71"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">gdswzd_lambert_conf</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a5ebb9e4f1bd58caa254771b305c94f71"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for lambert conformal conical.  <a href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">More...</a><br /></td></tr>
+<tr class="separator:a5ebb9e4f1bd58caa254771b305c94f71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5544708e893ffcfbe7d958fdec700eea"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a5544708e893ffcfbe7d958fdec700eea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Lambert Conformal grid given a grib1_descriptor object.  <a href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">More...</a><br /></td></tr>
+<tr class="separator:a5544708e893ffcfbe7d958fdec700eea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb0339a9fff4fff6c2017d37f8bed0cf"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:acb0339a9fff4fff6c2017d37f8bed0cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Lambert Conformal grid given a grib2_descriptor object.  <a href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">More...</a><br /></td></tr>
+<tr class="separator:acb0339a9fff4fff6c2017d37f8bed0cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15c44b47172b926aea840caee9723b1c"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">lambert_conf_grid_area</a> (RLAT, FILL, DR, AREA)</td></tr>
+<tr class="memdesc:a15c44b47172b926aea840caee9723b1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid box area for lambert conformal conical.  <a href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">More...</a><br /></td></tr>
+<tr class="separator:a15c44b47172b926aea840caee9723b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e1d42f0027236f47467e25c525e66ae"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">lambert_conf_map_jacob</a> (RLAT, FILL, DLON, DR, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a5e1d42f0027236f47467e25c525e66ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map jacobians for lambert conformal conical.  <a href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">More...</a><br /></td></tr>
+<tr class="separator:a5e1d42f0027236f47467e25c525e66ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58187073914efa18eca897c6ec203b71"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">lambert_conf_vect_rot</a> (DLON, CROT, SROT)</td></tr>
+<tr class="memdesc:a58187073914efa18eca897c6ec203b71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector rotation fields for lambert conformal conical.  <a href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">More...</a><br /></td></tr>
+<tr class="separator:a58187073914efa18eca897c6ec203b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a82b75fe2d8495aab75b225c6309e61c8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">an</a></td></tr>
+<tr class="memdesc:a82b75fe2d8495aab75b225c6309e61c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cone factor.  <a href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">More...</a><br /></td></tr>
+<tr class="separator:a82b75fe2d8495aab75b225c6309e61c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a196e94b5a2add34133c87f845394fa81"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">dxs</a></td></tr>
+<tr class="memdesc:a196e94b5a2add34133c87f845394fa81"><td class="mdescLeft">&#160;</td><td class="mdescRight">x-direction grid length adjusted for scan mode.  <a href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">More...</a><br /></td></tr>
+<tr class="separator:a196e94b5a2add34133c87f845394fa81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad8b04b77b0920dbf9ed3827e2e8cfd7"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">dys</a></td></tr>
+<tr class="memdesc:aad8b04b77b0920dbf9ed3827e2e8cfd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">y-direction grid length adjusted for scan model.  <a href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">More...</a><br /></td></tr>
+<tr class="separator:aad8b04b77b0920dbf9ed3827e2e8cfd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa91572e8b5ba3559c041f1750b6696c6"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">h</a></td></tr>
+<tr class="memdesc:aa91572e8b5ba3559c041f1750b6696c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hemisphere flag.  <a href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">More...</a><br /></td></tr>
+<tr class="separator:aa91572e8b5ba3559c041f1750b6696c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dea876ed4206c5ecc0444aadb7d6acd"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">irot</a></td></tr>
+<tr class="memdesc:a7dea876ed4206c5ecc0444aadb7d6acd"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector rotation flag.  <a href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">More...</a><br /></td></tr>
+<tr class="separator:a7dea876ed4206c5ecc0444aadb7d6acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f0538d092cd7d2829a5b98247eb560d"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">rerth</a></td></tr>
+<tr class="memdesc:a9f0538d092cd7d2829a5b98247eb560d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the earth.  <a href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">More...</a><br /></td></tr>
+<tr class="separator:a9f0538d092cd7d2829a5b98247eb560d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Lambert conformal grib decoder and grid coordinate transformations. </p>
+<p>Octet numbers refer to [GRIB2 - GRID DEFINITION TEMPLATE 3.30 Lambert conformal](<a href="https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-30.shtml">https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-30.shtml</a>).</p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a5ebb9e4f1bd58caa254771b305c94f71"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ebb9e4f1bd58caa254771b305c94f71">&#9670;&nbsp;</a></span>gdswzd_lambert_conf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_lambert_conf_grid_mod::gdswzd_lambert_conf </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>GDS wizard for lambert conformal conical. </p>
+<p>This subprogram decodes the grib 2 grid definition template (passed in integer form as decoded by the ncep g2 library) and returns one of the following:</p><ul>
+<li>(iopt=+1) earth coordinates of selected grid coordinates</li>
+<li>(iopt=-1) grid coordinates of selected earth coordinates</li>
+</ul>
+<p>Works for lambert conformal conical projections.</p>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and grid box areas for this grid may be returned as well.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present. To compute the grid box areas the optional argument 'area' must be present.</p>
+<h3><a class="anchor" id="autotoc_md16"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">Initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">96-10-01   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">protected against unresolvable points    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">97-10-20   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">include map options    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1999-04-27   </td><td class="markdownTableBodyNone">gilbert   </td><td class="markdownTableBodyNone">corrected minor error calculating variable an for the secant projection case (rlati1.ne.rlati2).    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2012-08-14   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">fix problem with sh grids. Ensure grid box area always positive.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">merger of gdswiz03() and gdswzd03(). Make crot,sort,xlon,xlat,ylon,ylat and area optional arguments. Make part of a module. Move vector rotation, map jacobian and grid box area computations to separate subroutines.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">Convert to grib 2. Replace grib 1 kgds array with grib 2 grid definition template array. Rename routine.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">add threads.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a> object. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>option flag<ul>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>maximum number of coordinates </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>(npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>(npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>number of valid points computed </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>optional (npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>optional (npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>optional (npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>optional (npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>optional (npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>optional (npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>optional (npts) area weights in m**2 (proportional to the square of the map factor)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00219">219</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00045">an</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00046">dxs</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00047">dys</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00048">h</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00044">irot</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00469">lambert_conf_grid_area()</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00428">lambert_conf_map_jacob()</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00391">lambert_conf_vect_rot()</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00049">rerth</a>.</p>
+
+</div>
+</div>
+<a id="a5544708e893ffcfbe7d958fdec700eea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5544708e893ffcfbe7d958fdec700eea">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_lambert_conf_grid_mod::init_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a Lambert Conformal grid given a grib1_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td>A grib1_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00060">60</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="acb0339a9fff4fff6c2017d37f8bed0cf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb0339a9fff4fff6c2017d37f8bed0cf">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_lambert_conf_grid_mod::init_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a Lambert Conformal grid given a grib2_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>A grib2_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00112">112</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a15c44b47172b926aea840caee9723b1c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a15c44b47172b926aea840caee9723b1c">&#9670;&nbsp;</a></span>lambert_conf_grid_area()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_lambert_conf_grid_mod::lambert_conf_grid_area </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>DR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grid box area for lambert conformal conical. </p>
+<p>This subprogram computes the grid box area for a lambert conformal conical grid.</p>
+<h3><a class="anchor" id="autotoc_md19"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">rename as "lambert_conf_grid_area"    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">Wesley   </td><td class="markdownTableBodyNone">pass in dr for threading.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlat</td><td>latitude of grid point in degrees (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>fill value for undefined points (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">dr</td><td>distance from pole point (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>area weights in m**2 (real)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00468">468</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00045">an</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00046">dxs</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00047">dys</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00049">rerth</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00222">gdswzd_lambert_conf()</a>.</p>
+
+</div>
+</div>
+<a id="a5e1d42f0027236f47467e25c525e66ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5e1d42f0027236f47467e25c525e66ae">&#9670;&nbsp;</a></span>lambert_conf_map_jacob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_lambert_conf_grid_mod::lambert_conf_map_jacob </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>DLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>DR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLAT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Map jacobians for lambert conformal conical. </p>
+<p>This subprogram computes the map jacobians for a lambert conformal conical grid.</p>
+<h3><a class="anchor" id="autotoc_md18"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">rename as "lambert_conf_map_jacob"    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">Wesley   </td><td class="markdownTableBodyNone">pass dlon and dr for threading.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlat</td><td>grid point latitude in degrees (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>fill value for undefined points (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">dlon</td><td>distance from orientation longitude (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">dr</td><td>distance from pole point (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlon in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dx/dlat in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees (real)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00427">427</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00045">an</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00046">dxs</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00047">dys</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00048">h</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00222">gdswzd_lambert_conf()</a>.</p>
+
+</div>
+</div>
+<a id="a58187073914efa18eca897c6ec203b71"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a58187073914efa18eca897c6ec203b71">&#9670;&nbsp;</a></span>lambert_conf_vect_rot()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_lambert_conf_grid_mod::lambert_conf_vect_rot </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>DLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Vector rotation fields for lambert conformal conical. </p>
+<p>This subprogram computes the vector rotation sines and cosines for a lambert conformal conical grid.</p>
+<h3><a class="anchor" id="autotoc_md17"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "lambert_conf_vect_rot"    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">pass in dlon for threading.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">dlon</td><td>from orientation longitude (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>vector rotation cosines (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>vector rotation sines (real) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00390">390</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00045">an</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00044">irot</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00222">gdswzd_lambert_conf()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="a82b75fe2d8495aab75b225c6309e61c8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a82b75fe2d8495aab75b225c6309e61c8">&#9670;&nbsp;</a></span>an</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::an</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Cone factor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00045">45</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00222">gdswzd_lambert_conf()</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00469">lambert_conf_grid_area()</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00428">lambert_conf_map_jacob()</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00391">lambert_conf_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a196e94b5a2add34133c87f845394fa81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a196e94b5a2add34133c87f845394fa81">&#9670;&nbsp;</a></span>dxs</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::dxs</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x-direction grid length adjusted for scan mode. </p>
+<p>GRIB2, Section 3, octets 56-59. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00046">46</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00222">gdswzd_lambert_conf()</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00469">lambert_conf_grid_area()</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00428">lambert_conf_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="aad8b04b77b0920dbf9ed3827e2e8cfd7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad8b04b77b0920dbf9ed3827e2e8cfd7">&#9670;&nbsp;</a></span>dys</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::dys</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y-direction grid length adjusted for scan model. </p>
+<p>GRIB2, Section 3, octets 60-63. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00047">47</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00222">gdswzd_lambert_conf()</a>, <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00469">lambert_conf_grid_area()</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00428">lambert_conf_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="aa91572e8b5ba3559c041f1750b6696c6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa91572e8b5ba3559c041f1750b6696c6">&#9670;&nbsp;</a></span>h</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::h</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Hemisphere flag. </p>
+<p>1-NH, minus 1-SH. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00048">48</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00222">gdswzd_lambert_conf()</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00428">lambert_conf_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="a7dea876ed4206c5ecc0444aadb7d6acd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7dea876ed4206c5ecc0444aadb7d6acd">&#9670;&nbsp;</a></span>irot</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_lambert_conf_grid_mod::irot</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>vector rotation flag. </p>
+<p>When "1", vectors are grid relative. When "0", vectors are earth relative. GRIB2, Section 3, octet 55. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00044">44</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00222">gdswzd_lambert_conf()</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00391">lambert_conf_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a9f0538d092cd7d2829a5b98247eb560d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9f0538d092cd7d2829a5b98247eb560d">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the earth. </p>
+<p>GRIB2, Section 3, octets 15-30. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00049">49</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00222">gdswzd_lambert_conf()</a>, and <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00469">lambert_conf_grid_area()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__lambert__conf__grid__mod.html">ip_lambert_conf_grid_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__lambert__conf__grid__mod.js b/ver-4.4.0/namespaceip__lambert__conf__grid__mod.js
new file mode 100644
index 00000000..b1bbe278
--- /dev/null
+++ b/ver-4.4.0/namespaceip__lambert__conf__grid__mod.js
@@ -0,0 +1,16 @@
+var namespaceip__lambert__conf__grid__mod =
+[
+    [ "ip_lambert_conf_grid", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid" ],
+    [ "gdswzd_lambert_conf", "namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71", null ],
+    [ "init_grib1", "namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea", null ],
+    [ "init_grib2", "namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf", null ],
+    [ "lambert_conf_grid_area", "namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c", null ],
+    [ "lambert_conf_map_jacob", "namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae", null ],
+    [ "lambert_conf_vect_rot", "namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71", null ],
+    [ "an", "namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8", null ],
+    [ "dxs", "namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81", null ],
+    [ "dys", "namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7", null ],
+    [ "h", "namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6", null ],
+    [ "irot", "namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd", null ],
+    [ "rerth", "namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__mercator__grid__mod.html b/ver-4.4.0/namespaceip__mercator__grid__mod.html
new file mode 100644
index 00000000..8fbeb895
--- /dev/null
+++ b/ver-4.4.0/namespaceip__mercator__grid__mod.html
@@ -0,0 +1,728 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_mercator_grid_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__mercator__grid__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_mercator_grid_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>GDS wizard for mercator cylindrical.  
+<a href="namespaceip__mercator__grid__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:acc39017fa51125972ab8e755e16d339e"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">gdswzd_mercator</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:acc39017fa51125972ab8e755e16d339e"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for mercator cylindrical.  <a href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">More...</a><br /></td></tr>
+<tr class="separator:acc39017fa51125972ab8e755e16d339e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4125dba8b09e9b69933e224b00f4758d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a4125dba8b09e9b69933e224b00f4758d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a mercator grid given a grib1_descriptor object.  <a href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">More...</a><br /></td></tr>
+<tr class="separator:a4125dba8b09e9b69933e224b00f4758d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad3b6fef6ee74b8df984c0159ff29c82"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:aad3b6fef6ee74b8df984c0159ff29c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init GRIB2.  <a href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">More...</a><br /></td></tr>
+<tr class="separator:aad3b6fef6ee74b8df984c0159ff29c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a952ab9add18587c4dbe54699feb8eafd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">mercator_grid_area</a> (RLAT, AREA)</td></tr>
+<tr class="memdesc:a952ab9add18587c4dbe54699feb8eafd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid box area for mercator cylindrical grids.  <a href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">More...</a><br /></td></tr>
+<tr class="separator:a952ab9add18587c4dbe54699feb8eafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab93a0a6ae8c5f5056abece1dcffdc57a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">mercator_map_jacob</a> (RLAT, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:ab93a0a6ae8c5f5056abece1dcffdc57a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map jacobians for mercator cylindrical grids.  <a href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">More...</a><br /></td></tr>
+<tr class="separator:ab93a0a6ae8c5f5056abece1dcffdc57a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea5e18faf7a18bf8d06c87ccb11f3e17"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">mercator_vect_rot</a> (CROT, SROT)</td></tr>
+<tr class="memdesc:aea5e18faf7a18bf8d06c87ccb11f3e17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector rotation fields for mercator cylindrical grids.  <a href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">More...</a><br /></td></tr>
+<tr class="separator:aea5e18faf7a18bf8d06c87ccb11f3e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a14e1cb3f8c05d2de49d2aa8dc69d104f"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">dlon</a></td></tr>
+<tr class="memdesc:a14e1cb3f8c05d2de49d2aa8dc69d104f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitudinal direction grid length.  <a href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">More...</a><br /></td></tr>
+<tr class="separator:a14e1cb3f8c05d2de49d2aa8dc69d104f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a156e638e2d1b93e388d674462ac3f732"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">dphi</a></td></tr>
+<tr class="memdesc:a156e638e2d1b93e388d674462ac3f732"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitudinal direction grid length.  <a href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">More...</a><br /></td></tr>
+<tr class="separator:a156e638e2d1b93e388d674462ac3f732"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adaa27c5d41ee24185b6d020420ce9419"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">rerth</a></td></tr>
+<tr class="memdesc:adaa27c5d41ee24185b6d020420ce9419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">More...</a><br /></td></tr>
+<tr class="separator:adaa27c5d41ee24185b6d020420ce9419"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>GDS wizard for mercator cylindrical. </p>
+<p>Octet numbers refer to <a href="https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-10.shtml">GRIB2 - GRID DEFINITION TEMPLATE 3.10 - Mercator</a>.</p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="acc39017fa51125972ab8e755e16d339e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acc39017fa51125972ab8e755e16d339e">&#9670;&nbsp;</a></span>gdswzd_mercator()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_mercator_grid_mod::gdswzd_mercator </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>GDS wizard for mercator cylindrical. </p>
+<p>This routine decodes the grib 2 grid definition template (passed in integer form as decoded by the ncep g2 library) and returns one of the following:</p><ul>
+<li>(iopt=+1) earth coordinates of selected grid coordinates</li>
+<li>(iopt=-1) grid coordinates of selected earth coordinates</li>
+</ul>
+<p>Works for mercator cylindrical projections.</p>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians and the grid box areas may be returned. To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present. to compute the grid box areas, the optional argument 'area' must be present.</p>
+<h3><a class="anchor" id="autotoc_md20"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">96-10-01   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">protected against unresolvable points    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">97-10-20   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">include map options    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">merger of gdswiz01() and gdswzd01(). Make crot,sort,xlon,xlat,ylon,ylat and area optional arguments. Make part of a module. move vector rotation, map jacobian and grid box area computations to separate subroutines.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">convert to grib 2. replace grib 1 kgds array with grib 2 grid definition template array. Rename.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">add threads.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td>grid descriptor. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>option flag<ul>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>maximum number of coordinates </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>(npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>(npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>number of valid points computed </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>optional (npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>optional (npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>optional (npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>optional (npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>optional (npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>optional (npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>optional (npts) area weights in m**2 (proportional to the square of the map factor)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00198">198</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00040">dlon</a>, <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00041">dphi</a>, <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00388">mercator_grid_area()</a>, <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00360">mercator_map_jacob()</a>, <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00332">mercator_vect_rot()</a>, and <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00042">rerth</a>.</p>
+
+</div>
+</div>
+<a id="a4125dba8b09e9b69933e224b00f4758d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4125dba8b09e9b69933e224b00f4758d">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_mercator_grid_mod::init_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a mercator grid given a grib1_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a> object. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td>GRIB1 descriptor.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00052">52</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__constants__mod_8F90_source.html#l00015">ip_constants_mod::dpr</a>.</p>
+
+</div>
+</div>
+<a id="aad3b6fef6ee74b8df984c0159ff29c82"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad3b6fef6ee74b8df984c0159ff29c82">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_mercator_grid_mod::init_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init GRIB2. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a> object. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>GRIB2 descriptor.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00100">100</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a952ab9add18587c4dbe54699feb8eafd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a952ab9add18587c4dbe54699feb8eafd">&#9670;&nbsp;</a></span>mercator_grid_area()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_mercator_grid_mod::mercator_grid_area </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grid box area for mercator cylindrical grids. </p>
+<p>This subprogram computes the grid box area for a mercator cylindrical grid.</p>
+<h3><a class="anchor" id="autotoc_md23"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "mercator_grid_area"   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlat</td><td>latitude of grid point in degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>area weights in m**2 (real)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00387">387</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00040">dlon</a>, <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00041">dphi</a>, and <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00042">rerth</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00201">gdswzd_mercator()</a>.</p>
+
+</div>
+</div>
+<a id="ab93a0a6ae8c5f5056abece1dcffdc57a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab93a0a6ae8c5f5056abece1dcffdc57a">&#9670;&nbsp;</a></span>mercator_map_jacob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_mercator_grid_mod::mercator_map_jacob </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLAT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Map jacobians for mercator cylindrical grids. </p>
+<p>This subprogram computes the map jacobians for a mercator cylindrical grid.</p>
+<h3><a class="anchor" id="autotoc_md22"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "mercator_map_jacob"   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlat</td><td>latitude in degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlon in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dx/dlat in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees (real)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00359">359</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00040">dlon</a>, and <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00041">dphi</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00201">gdswzd_mercator()</a>.</p>
+
+</div>
+</div>
+<a id="aea5e18faf7a18bf8d06c87ccb11f3e17"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea5e18faf7a18bf8d06c87ccb11f3e17">&#9670;&nbsp;</a></span>mercator_vect_rot()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_mercator_grid_mod::mercator_vect_rot </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Vector rotation fields for mercator cylindrical grids. </p>
+<p>This subprogram computes the vector rotation sines and cosines for a mercator cylindrical grid.</p>
+<h3><a class="anchor" id="autotoc_md21"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "mercator_vect_rot".   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">crot</td><td>clockwise vector rotation cosines (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">srot</td><td>clockwise vector rotation sines (real) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00331">331</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00201">gdswzd_mercator()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="a14e1cb3f8c05d2de49d2aa8dc69d104f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a14e1cb3f8c05d2de49d2aa8dc69d104f">&#9670;&nbsp;</a></span>dlon</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::dlon</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitudinal direction grid length. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00040">40</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00201">gdswzd_mercator()</a>, <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00388">mercator_grid_area()</a>, and <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00360">mercator_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="a156e638e2d1b93e388d674462ac3f732"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a156e638e2d1b93e388d674462ac3f732">&#9670;&nbsp;</a></span>dphi</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::dphi</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitudinal direction grid length. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00041">41</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00201">gdswzd_mercator()</a>, <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00388">mercator_grid_area()</a>, and <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00360">mercator_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="adaa27c5d41ee24185b6d020420ce9419"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adaa27c5d41ee24185b6d020420ce9419">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00042">42</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00201">gdswzd_mercator()</a>, and <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00388">mercator_grid_area()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__mercator__grid__mod.html">ip_mercator_grid_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__mercator__grid__mod.js b/ver-4.4.0/namespaceip__mercator__grid__mod.js
new file mode 100644
index 00000000..c9942f70
--- /dev/null
+++ b/ver-4.4.0/namespaceip__mercator__grid__mod.js
@@ -0,0 +1,13 @@
+var namespaceip__mercator__grid__mod =
+[
+    [ "ip_mercator_grid", "structip__mercator__grid__mod_1_1ip__mercator__grid.html", "structip__mercator__grid__mod_1_1ip__mercator__grid" ],
+    [ "gdswzd_mercator", "namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e", null ],
+    [ "init_grib1", "namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d", null ],
+    [ "init_grib2", "namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82", null ],
+    [ "mercator_grid_area", "namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd", null ],
+    [ "mercator_map_jacob", "namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a", null ],
+    [ "mercator_vect_rot", "namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17", null ],
+    [ "dlon", "namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f", null ],
+    [ "dphi", "namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732", null ],
+    [ "rerth", "namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__mod.html b/ver-4.4.0/namespaceip__mod.html
new file mode 100644
index 00000000..7068e2ce
--- /dev/null
+++ b/ver-4.4.0/namespaceip__mod.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ip_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Top-level module for the ip library which re-exports public routines such as ipolates, ipolatev, and gdswzd.  
+<a href="namespaceip__mod.html#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Top-level module for the ip library which re-exports public routines such as ipolates, ipolatev, and gdswzd. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__mod.html">ip_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__polar__stereo__grid__mod.html b/ver-4.4.0/namespaceip__polar__stereo__grid__mod.html
new file mode 100644
index 00000000..bd67cccd
--- /dev/null
+++ b/ver-4.4.0/namespaceip__polar__stereo__grid__mod.html
@@ -0,0 +1,918 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_polar_stereo_grid_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__polar__stereo__grid__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_polar_stereo_grid_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>GDS wizard for polar stereographic azimuthal.  
+<a href="namespaceip__polar__stereo__grid__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:ae2694d90ab514a131e083dfba3b173c5"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">gdswzd_polar_stereo</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:ae2694d90ab514a131e083dfba3b173c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for polar stereographic azimuthal.  <a href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">More...</a><br /></td></tr>
+<tr class="separator:ae2694d90ab514a131e083dfba3b173c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ed76f58f30993cd7be84b7e03cf4d6f"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a6ed76f58f30993cd7be84b7e03cf4d6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polar stereographic grid given a grib1_descriptor object.  <a href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">More...</a><br /></td></tr>
+<tr class="separator:a6ed76f58f30993cd7be84b7e03cf4d6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5210b986366b503683ae966519d501e7"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:a5210b986366b503683ae966519d501e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a polar stereographic grid given a grib2_descriptor object.  <a href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">More...</a><br /></td></tr>
+<tr class="separator:a5210b986366b503683ae966519d501e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a2e0854e5c129e320924a811cbd08e2"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">polar_stereo_grid_area</a> (RLAT, DR2, AREA)</td></tr>
+<tr class="memdesc:a2a2e0854e5c129e320924a811cbd08e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid box area for polar stereographic grids.  <a href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">More...</a><br /></td></tr>
+<tr class="separator:a2a2e0854e5c129e320924a811cbd08e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a386933f7e52c348b9d742df423e0e223"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">polar_stereo_map_jacob</a> (RLON, RLAT, DR2, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a386933f7e52c348b9d742df423e0e223"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map jacobians for polar stereographic grids.  <a href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">More...</a><br /></td></tr>
+<tr class="separator:a386933f7e52c348b9d742df423e0e223"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe4d416201e986421a8e325a9b00e462"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">polar_stereo_vect_rot</a> (RLON, CROT, SROT)</td></tr>
+<tr class="memdesc:abe4d416201e986421a8e325a9b00e462"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector rotation fields for polar stereographic grids.  <a href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">More...</a><br /></td></tr>
+<tr class="separator:abe4d416201e986421a8e325a9b00e462"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a605d287e34e60f553521a5de2da22962"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">de2</a></td></tr>
+<tr class="memdesc:a605d287e34e60f553521a5de2da22962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square of DE.  <a href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">More...</a><br /></td></tr>
+<tr class="separator:a605d287e34e60f553521a5de2da22962"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf60181f89954e2ff31b08bb1b345354"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">dxs</a></td></tr>
+<tr class="memdesc:acf60181f89954e2ff31b08bb1b345354"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dxs.  <a href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">More...</a><br /></td></tr>
+<tr class="separator:acf60181f89954e2ff31b08bb1b345354"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea7950530d06d9c59ff61bf706df0a0f"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">dys</a></td></tr>
+<tr class="memdesc:aea7950530d06d9c59ff61bf706df0a0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dys.  <a href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">More...</a><br /></td></tr>
+<tr class="separator:aea7950530d06d9c59ff61bf706df0a0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf3a34d9bb00c39dac5225798aea4d5b"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">e2</a></td></tr>
+<tr class="memdesc:abf3a34d9bb00c39dac5225798aea4d5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity squared.  <a href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">More...</a><br /></td></tr>
+<tr class="separator:abf3a34d9bb00c39dac5225798aea4d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a63da5168a1432a1af42c0b668f0645"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">h</a></td></tr>
+<tr class="memdesc:a5a63da5168a1432a1af42c0b668f0645"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of h.  <a href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">More...</a><br /></td></tr>
+<tr class="separator:a5a63da5168a1432a1af42c0b668f0645"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1269037aaecd12e75e17d8aac8e20c8c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">irot</a></td></tr>
+<tr class="memdesc:a1269037aaecd12e75e17d8aac8e20c8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of irot.  <a href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">More...</a><br /></td></tr>
+<tr class="separator:a1269037aaecd12e75e17d8aac8e20c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4a88f48d7b78cfdfc54754882195d18"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">orient</a></td></tr>
+<tr class="memdesc:aa4a88f48d7b78cfdfc54754882195d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of orient.  <a href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">More...</a><br /></td></tr>
+<tr class="separator:aa4a88f48d7b78cfdfc54754882195d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3315b2efb5cb9aebc0b2cb2773aa20b5"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">rerth</a></td></tr>
+<tr class="memdesc:a3315b2efb5cb9aebc0b2cb2773aa20b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">More...</a><br /></td></tr>
+<tr class="separator:a3315b2efb5cb9aebc0b2cb2773aa20b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>GDS wizard for polar stereographic azimuthal. </p>
+<p>Octet numbers refer to [GRIB2 - GRID DEFINITION TEMPLATE 3.20 Polar stereographic projection](<a href="https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-20.shtml">https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-20.shtml</a>).</p>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="ae2694d90ab514a131e083dfba3b173c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2694d90ab514a131e083dfba3b173c5">&#9670;&nbsp;</a></span>gdswzd_polar_stereo()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_polar_stereo_grid_mod::gdswzd_polar_stereo </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>GDS wizard for polar stereographic azimuthal. </p>
+<p>This subprogram decodes the grib 2 grid definition template (passed in integer form as decoded by the ncep g2 library) and returns one of the following:</p><ul>
+<li>(iopt=+1) earth coordinates of selected grid coordinates</li>
+<li>(iopt=-1) grid coordinates of selected earth coordinates</li>
+</ul>
+<p>Works for polar stereographic azimuthal projections.</p>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, map jacobians, and grid box areas may be returned as well. Routine works for both spherical and elliptical earths with the exception of the map jacobians and grid box areas, which are only computed for spherical earths.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present. to compute the grid box areas, the optional argument 'area' must be present.</p>
+<h3><a class="anchor" id="autotoc_md24"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">97-10-20   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">include map options    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">09-05-13   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">ensure area always positive    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">merger of gdswiz05 and gdswzd05. make crot,sort,xlon,xlat,ylon,ylat and area optional arguments. make part of a module. move vector rotation, map jacobian and grid box area computations to separate subroutines. include option for elliptical earths.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">convert to grib 2. replace grib 1 kgds array with grib 2 grid definition template array. rename routine.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">add threading.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td>grid </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>option flag<ul>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>maximum number of coordinates </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>(npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>(npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>number of valid points computed </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>optional (npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>optional (npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>optional (npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>optional (npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>optional (npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>optional (npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>optional (npts) area weights in m**2 (proportional to the square of the map factor)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00239">239</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00045">de2</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00046">dxs</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00047">dys</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00048">e2</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00050">h</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00044">irot</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00051">orient</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00564">polar_stereo_grid_area()</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00521">polar_stereo_map_jacob()</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00483">polar_stereo_vect_rot()</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00049">rerth</a>.</p>
+
+</div>
+</div>
+<a id="a6ed76f58f30993cd7be84b7e03cf4d6f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6ed76f58f30993cd7be84b7e03cf4d6f">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_polar_stereo_grid_mod::init_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a polar stereographic grid given a grib1_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td>A grib1_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__constants__mod_8F90_source.html#l00015">ip_constants_mod::dpr</a>, <a class="el" href="ip__constants__mod_8F90_source.html#l00019">ip_constants_mod::e2_wgs84</a>, and <a class="el" href="ip__constants__mod_8F90_source.html#l00018">ip_constants_mod::rerth_wgs84</a>.</p>
+
+</div>
+</div>
+<a id="a5210b986366b503683ae966519d501e7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5210b986366b503683ae966519d501e7">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_polar_stereo_grid_mod::init_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a polar stereographic grid given a grib2_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>A grib2_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00128">128</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2a2e0854e5c129e320924a811cbd08e2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2a2e0854e5c129e320924a811cbd08e2">&#9670;&nbsp;</a></span>polar_stereo_grid_area()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_polar_stereo_grid_mod::polar_stereo_grid_area </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>DR2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grid box area for polar stereographic grids. </p>
+<p>This subprogram computes the grid box area for a polar stereographic azimuthal grid (spherical earth).</p>
+<h3><a class="anchor" id="autotoc_md27"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "polar_stereo_grid_area".    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">pass in dr2 for threading.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlat</td><td>latitude of grid point in degrees (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">dr2</td><td>squared distance from pole (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>area weights in m**2 (real)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00563">563</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00045">de2</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00046">dxs</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00047">dys</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00049">rerth</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>.</p>
+
+</div>
+</div>
+<a id="a386933f7e52c348b9d742df423e0e223"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a386933f7e52c348b9d742df423e0e223">&#9670;&nbsp;</a></span>polar_stereo_map_jacob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_polar_stereo_grid_mod::polar_stereo_map_jacob </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>DR2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLAT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Map jacobians for polar stereographic grids. </p>
+<p>This subprogram computes the map jacobians for a polar stereographic azimuthal grid (spherical earth).</p>
+<h3><a class="anchor" id="autotoc_md26"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "polar_stereo_map_jacob"    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">pass in dr2 for threading.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlon</td><td>longitude in degrees (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlat</td><td>latitude in degrees (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">dr2</td><td>squared distance from pole (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlon in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dx/dlat in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees (real)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00520">520</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00045">de2</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00046">dxs</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00047">dys</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00050">h</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00051">orient</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>.</p>
+
+</div>
+</div>
+<a id="abe4d416201e986421a8e325a9b00e462"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abe4d416201e986421a8e325a9b00e462">&#9670;&nbsp;</a></span>polar_stereo_vect_rot()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_polar_stereo_grid_mod::polar_stereo_vect_rot </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Vector rotation fields for polar stereographic grids. </p>
+<p>This subprogram computes the vector rotation sines and cosines for a polar stereographic azimuthal grid.</p>
+<h3><a class="anchor" id="autotoc_md25"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "polar_stereo_vect_rot"   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlon</td><td>grid point longitude in degrees (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">crot</td><td>clockwise vector rotation cosines (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">srot</td><td>clockwise vector rotation sines (real) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00482">482</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00050">h</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00044">irot</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00051">orient</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="a605d287e34e60f553521a5de2da22962"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a605d287e34e60f553521a5de2da22962">&#9670;&nbsp;</a></span>de2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::de2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Square of DE. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00045">45</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00564">polar_stereo_grid_area()</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00521">polar_stereo_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="acf60181f89954e2ff31b08bb1b345354"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf60181f89954e2ff31b08bb1b345354">&#9670;&nbsp;</a></span>dxs</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::dxs</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of dxs. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00046">46</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00564">polar_stereo_grid_area()</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00521">polar_stereo_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="aea7950530d06d9c59ff61bf706df0a0f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea7950530d06d9c59ff61bf706df0a0f">&#9670;&nbsp;</a></span>dys</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::dys</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of dys. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00047">47</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00564">polar_stereo_grid_area()</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00521">polar_stereo_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="abf3a34d9bb00c39dac5225798aea4d5b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf3a34d9bb00c39dac5225798aea4d5b">&#9670;&nbsp;</a></span>e2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::e2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity squared. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00048">48</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>.</p>
+
+</div>
+</div>
+<a id="a5a63da5168a1432a1af42c0b668f0645"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a63da5168a1432a1af42c0b668f0645">&#9670;&nbsp;</a></span>h</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::h</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of h. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00050">50</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00521">polar_stereo_map_jacob()</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00483">polar_stereo_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a1269037aaecd12e75e17d8aac8e20c8c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1269037aaecd12e75e17d8aac8e20c8c">&#9670;&nbsp;</a></span>irot</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_polar_stereo_grid_mod::irot</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of irot. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00044">44</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00483">polar_stereo_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="aa4a88f48d7b78cfdfc54754882195d18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa4a88f48d7b78cfdfc54754882195d18">&#9670;&nbsp;</a></span>orient</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::orient</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of orient. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00051">51</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>, <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00521">polar_stereo_map_jacob()</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00483">polar_stereo_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a3315b2efb5cb9aebc0b2cb2773aa20b5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3315b2efb5cb9aebc0b2cb2773aa20b5">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00049">49</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00242">gdswzd_polar_stereo()</a>, and <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00564">polar_stereo_grid_area()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__polar__stereo__grid__mod.html">ip_polar_stereo_grid_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__polar__stereo__grid__mod.js b/ver-4.4.0/namespaceip__polar__stereo__grid__mod.js
new file mode 100644
index 00000000..bef9f38c
--- /dev/null
+++ b/ver-4.4.0/namespaceip__polar__stereo__grid__mod.js
@@ -0,0 +1,18 @@
+var namespaceip__polar__stereo__grid__mod =
+[
+    [ "ip_polar_stereo_grid", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid" ],
+    [ "gdswzd_polar_stereo", "namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5", null ],
+    [ "init_grib1", "namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f", null ],
+    [ "init_grib2", "namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7", null ],
+    [ "polar_stereo_grid_area", "namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2", null ],
+    [ "polar_stereo_map_jacob", "namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223", null ],
+    [ "polar_stereo_vect_rot", "namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462", null ],
+    [ "de2", "namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962", null ],
+    [ "dxs", "namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354", null ],
+    [ "dys", "namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f", null ],
+    [ "e2", "namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b", null ],
+    [ "h", "namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645", null ],
+    [ "irot", "namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c", null ],
+    [ "orient", "namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18", null ],
+    [ "rerth", "namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__rot__equid__cylind__egrid__mod.html b/ver-4.4.0/namespaceip__rot__equid__cylind__egrid__mod.html
new file mode 100644
index 00000000..fd89329c
--- /dev/null
+++ b/ver-4.4.0/namespaceip__rot__equid__cylind__egrid__mod.html
@@ -0,0 +1,1105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_rot_equid_cylind_egrid_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__rot__equid__cylind__egrid__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_rot_equid_cylind_egrid_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E.  
+<a href="namespaceip__rot__equid__cylind__egrid__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a9ad11a599fc0bdc4a9ece86a3b1cc399"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">gdswzd_rot_equid_cylind_egrid</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a9ad11a599fc0bdc4a9ece86a3b1cc399"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for rotated equidistant cylindrical grids.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">More...</a><br /></td></tr>
+<tr class="separator:a9ad11a599fc0bdc4a9ece86a3b1cc399"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa65616b97df9c89893161ff802e16eab"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:aa65616b97df9c89893161ff802e16eab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a rotated equidistant cylindrical grid given a grib1_descriptor object.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">More...</a><br /></td></tr>
+<tr class="separator:aa65616b97df9c89893161ff802e16eab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3cbc17f27800bc67135feacb2c1c3e0"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:af3cbc17f27800bc67135feacb2c1c3e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a rotated equidistant cylindrical grid given a grib2_descriptor object.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">More...</a><br /></td></tr>
+<tr class="separator:af3cbc17f27800bc67135feacb2c1c3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69d4e473a1a276b855d37518dc6f1d48"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">rot_equid_cylind_egrid_error</a> (IOPT, FILL, RLAT, RLON, XPTS, YPTS, NPTS)</td></tr>
+<tr class="memdesc:a69d4e473a1a276b855d37518dc6f1d48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error handler.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">More...</a><br /></td></tr>
+<tr class="separator:a69d4e473a1a276b855d37518dc6f1d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e6c3a758f9a6474d3e499fabeac0640"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">rot_equid_cylind_egrid_grid_area</a> (FILL, AREA)</td></tr>
+<tr class="memdesc:a4e6c3a758f9a6474d3e499fabeac0640"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the grid box area for a rotated equidistant cylindrical grid.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">More...</a><br /></td></tr>
+<tr class="separator:a4e6c3a758f9a6474d3e499fabeac0640"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45b87f77888d428ca0f551edae8da94e"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">rot_equid_cylind_egrid_map_jacob</a> (FILL, RLON, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a45b87f77888d428ca0f551edae8da94e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the map jacobians for a rotated equidistant cylindrical grid.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">More...</a><br /></td></tr>
+<tr class="separator:a45b87f77888d428ca0f551edae8da94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ac1f76f515981c464e8391d8c941888"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">rot_equid_cylind_egrid_vect_rot</a> (RLON, CROT, SROT)</td></tr>
+<tr class="memdesc:a9ac1f76f515981c464e8391d8c941888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the vector rotation sines and cosines for a rotated equidistant cylindrical grid.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">More...</a><br /></td></tr>
+<tr class="separator:a9ac1f76f515981c464e8391d8c941888"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:aac1018f3ca1b7ad4b5d33f245678d416"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">clat</a></td></tr>
+<tr class="memdesc:aac1018f3ca1b7ad4b5d33f245678d416"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cosine of the latitude.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">More...</a><br /></td></tr>
+<tr class="separator:aac1018f3ca1b7ad4b5d33f245678d416"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83649d02b55d6252d59514aec4eb3142"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">clat0</a></td></tr>
+<tr class="memdesc:a83649d02b55d6252d59514aec4eb3142"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of clat0.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">More...</a><br /></td></tr>
+<tr class="separator:a83649d02b55d6252d59514aec4eb3142"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad4e673a94976b2b5a9bfad9de9e6e30"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">clatr</a></td></tr>
+<tr class="memdesc:aad4e673a94976b2b5a9bfad9de9e6e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cosine of the rotated latitude.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">More...</a><br /></td></tr>
+<tr class="separator:aad4e673a94976b2b5a9bfad9de9e6e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a557d49c609fc8c5c564a3a5f10174eec"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">clon</a></td></tr>
+<tr class="memdesc:a557d49c609fc8c5c564a3a5f10174eec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cosine of the difference between rlon and rlon0.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">More...</a><br /></td></tr>
+<tr class="separator:a557d49c609fc8c5c564a3a5f10174eec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b2faca2325b413e1f3207778d4c4c68"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">dlats</a></td></tr>
+<tr class="memdesc:a0b2faca2325b413e1f3207778d4c4c68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dlats.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">More...</a><br /></td></tr>
+<tr class="separator:a0b2faca2325b413e1f3207778d4c4c68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af04f8a1044f4d9a7e0d13d38887adcbc"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">dlons</a></td></tr>
+<tr class="memdesc:af04f8a1044f4d9a7e0d13d38887adcbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dlons.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">More...</a><br /></td></tr>
+<tr class="separator:af04f8a1044f4d9a7e0d13d38887adcbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93ed996cf2dc9569e356256ec946b571"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">irot</a></td></tr>
+<tr class="memdesc:a93ed996cf2dc9569e356256ec946b571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of irot.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">More...</a><br /></td></tr>
+<tr class="separator:a93ed996cf2dc9569e356256ec946b571"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50497d277c347a2991b0e34e85f1787e"><td class="memItemLeft" align="right" valign="top">integer, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a> = real64</td></tr>
+<tr class="memdesc:a50497d277c347a2991b0e34e85f1787e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kind of reals.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">More...</a><br /></td></tr>
+<tr class="separator:a50497d277c347a2991b0e34e85f1787e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed7a425f4d300fe14ac1b48d76378edb"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">rerth</a></td></tr>
+<tr class="memdesc:aed7a425f4d300fe14ac1b48d76378edb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">More...</a><br /></td></tr>
+<tr class="separator:aed7a425f4d300fe14ac1b48d76378edb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a134acf8ab7f40ff49ce8e03daad900e6"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">rlon0</a></td></tr>
+<tr class="memdesc:a134acf8ab7f40ff49ce8e03daad900e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of rlon0.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">More...</a><br /></td></tr>
+<tr class="separator:a134acf8ab7f40ff49ce8e03daad900e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1f8503816477fb685fbadc7a9e50f0b"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">slat</a></td></tr>
+<tr class="memdesc:ae1f8503816477fb685fbadc7a9e50f0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sine of the latitude.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">More...</a><br /></td></tr>
+<tr class="separator:ae1f8503816477fb685fbadc7a9e50f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72199c827ab3218b7f2aba35ad30b94d"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">slat0</a></td></tr>
+<tr class="memdesc:a72199c827ab3218b7f2aba35ad30b94d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of slat0.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">More...</a><br /></td></tr>
+<tr class="separator:a72199c827ab3218b7f2aba35ad30b94d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccccb64d3e7236d8cac19c279aab900"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">slatr</a></td></tr>
+<tr class="memdesc:a4ccccb64d3e7236d8cac19c279aab900"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sine of the rotated latitude.  <a href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">More...</a><br /></td></tr>
+<tr class="separator:a4ccccb64d3e7236d8cac19c279aab900"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E. </p>
+<p>(To handle the A through D grids, see <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html" title="Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A ...">ip_rot_equid_cylind_grid_mod</a>).</p>
+<p>The E stagger is a bit odd because the 'wind' points shift by half a grid box in each row. That makes the logic tricky. So the routine does its computations by rotating the grid by 45 degrees.</p>
+<p>See more info about <a href="https://en.wikipedia.org/wiki/Arakawa_grids">Awakawa grids</a>.</p>
+<p>Octet numbers refer to <a href="https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-1.shtml">GRIB2 - GRID DEFINITION TEMPLATE 3.1 Rotate Latitude/Longitude</a>.</p>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a9ad11a599fc0bdc4a9ece86a3b1cc399"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9ad11a599fc0bdc4a9ece86a3b1cc399">&#9670;&nbsp;</a></span>gdswzd_rot_equid_cylind_egrid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_egrid_mod::gdswzd_rot_equid_cylind_egrid </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for rotated equidistant cylindrical grids. </p>
+<p>Works for e-staggered rotated equidistant cylindrical projections. The scan mode determines whether this is an "h" or "v" grid.</p>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values.</p>
+<p>The actual number of valid points computed is returned too. Optionally, the vector rotations, the map jacobians and the grid box areas may be returned as well.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present.</p>
+<p>To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.</p>
+<p>To compute the grid box areas, the optional argument 'area' must be present.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td>The grid object gdswzd was called on. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>option flag<ul>
+<li>+1 to compute earth coords of selected grid coords.</li>
+<li>-1 o compute grid coords of selected earth coords. </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>Maximum number of coordinates. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>Grid x point coordinates if iopt&gt;0. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>Grid y point coordinates if iopt&gt;0. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Earth longitudes in degrees e if iopt&lt;0 (Acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Earth latitudes in degrees n if iopt&lt;0 (Acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Optional clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Optional clockwise vector rotation sines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>Optional dx/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>Optional dx/dlat in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>Optional dy/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>Optional dy/dlat in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Optional area weights in m**2.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, George Gayno, Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00267">267</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00064">clat</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00065">clat0</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00066">clatr</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00067">clon</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00068">dlats</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00069">dlons</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00062">irot</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00070">rerth</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00071">rlon0</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00483">rot_equid_cylind_egrid_error()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00588">rot_equid_cylind_egrid_grid_area()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00072">slat</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00073">slat0</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00074">slatr</a>.</p>
+
+</div>
+</div>
+<a id="aa65616b97df9c89893161ff802e16eab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa65616b97df9c89893161ff802e16eab">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_egrid_mod::init_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a rotated equidistant cylindrical grid given a grib1_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td>A grib1_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00086">86</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__constants__mod_8F90_source.html#l00015">ip_constants_mod::dpr</a>.</p>
+
+</div>
+</div>
+<a id="af3cbc17f27800bc67135feacb2c1c3e0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af3cbc17f27800bc67135feacb2c1c3e0">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_egrid_mod::init_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a rotated equidistant cylindrical grid given a grib2_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>A grib2_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00163">163</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a69d4e473a1a276b855d37518dc6f1d48"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a69d4e473a1a276b855d37518dc6f1d48">&#9670;&nbsp;</a></span>rot_equid_cylind_egrid_error()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_error </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Error handler. </p>
+<p>UPON AN ERROR, THIS SUBPROGRAM ASSIGNS A "FILL" VALUE TO THE OUTPUT FIELDS.</p>
+<h3><a class="anchor" id="autotoc_md28"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">GAYNO   </td><td class="markdownTableBodyNone">Initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">GAYNO   </td><td class="markdownTableBodyNone">Rename as "rot_equid_cylind_egrid_error"   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>option flag<ul>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(npts) earth latitudes in degrees n if iopt&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(npts) earth longitudes in degrees e if iopt&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xpts</td><td>(npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ypts</td><td>(npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>maximum number of coordinates</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>GAYNO </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-07-13 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00482">482</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>.</p>
+
+</div>
+</div>
+<a id="a4e6c3a758f9a6474d3e499fabeac0640"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4e6c3a758f9a6474d3e499fabeac0640">&#9670;&nbsp;</a></span>rot_equid_cylind_egrid_grid_area()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_grid_area </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Computes the grid box area for a rotated equidistant cylindrical grid. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value for undefined points. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>Area weights in m^2.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00587">587</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00066">clatr</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00068">dlats</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00069">dlons</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00070">rerth</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>.</p>
+
+</div>
+</div>
+<a id="a45b87f77888d428ca0f551edae8da94e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a45b87f77888d428ca0f551edae8da94e">&#9670;&nbsp;</a></span>rot_equid_cylind_egrid_map_jacob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_map_jacob </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLAT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Computes the map jacobians for a rotated equidistant cylindrical grid. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>Fill value for undefined points. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlon</td><td>Longitude in degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dx/dlat in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00549">549</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00064">clat</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00065">clat0</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00066">clatr</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00067">clon</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00068">dlats</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00069">dlons</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00071">rlon0</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00072">slat</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00073">slat0</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>.</p>
+
+</div>
+</div>
+<a id="a9ac1f76f515981c464e8391d8c941888"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9ac1f76f515981c464e8391d8c941888">&#9670;&nbsp;</a></span>rot_equid_cylind_egrid_vect_rot()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_egrid_mod::rot_equid_cylind_egrid_vect_rot </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Computes the vector rotation sines and cosines for a rotated equidistant cylindrical grid. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlon</td><td>Longitude in degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>Clockwise vector rotation cosines. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>Clockwise vector rotation sines.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</dd></dl>
+<dl class="section author"><dt>Author</dt><dd>George Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2015 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00514">514</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00064">clat</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00065">clat0</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00066">clatr</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00067">clon</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00062">irot</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00071">rlon0</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00072">slat</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00073">slat0</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00074">slatr</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="aac1018f3ca1b7ad4b5d33f245678d416"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aac1018f3ca1b7ad4b5d33f245678d416">&#9670;&nbsp;</a></span>clat</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::clat</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Cosine of the latitude. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a83649d02b55d6252d59514aec4eb3142"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83649d02b55d6252d59514aec4eb3142">&#9670;&nbsp;</a></span>clat0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::clat0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of clat0. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00065">65</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="aad4e673a94976b2b5a9bfad9de9e6e30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad4e673a94976b2b5a9bfad9de9e6e30">&#9670;&nbsp;</a></span>clatr</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::clatr</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Cosine of the rotated latitude. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00588">rot_equid_cylind_egrid_grid_area()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a557d49c609fc8c5c564a3a5f10174eec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a557d49c609fc8c5c564a3a5f10174eec">&#9670;&nbsp;</a></span>clon</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::clon</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Cosine of the difference between rlon and rlon0. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00067">67</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a0b2faca2325b413e1f3207778d4c4c68"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0b2faca2325b413e1f3207778d4c4c68">&#9670;&nbsp;</a></span>dlats</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::dlats</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of dlats. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00588">rot_equid_cylind_egrid_grid_area()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="af04f8a1044f4d9a7e0d13d38887adcbc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af04f8a1044f4d9a7e0d13d38887adcbc">&#9670;&nbsp;</a></span>dlons</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::dlons</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of dlons. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00588">rot_equid_cylind_egrid_grid_area()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="a93ed996cf2dc9569e356256ec946b571"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93ed996cf2dc9569e356256ec946b571">&#9670;&nbsp;</a></span>irot</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_rot_equid_cylind_egrid_mod::irot</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of irot. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00062">62</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a50497d277c347a2991b0e34e85f1787e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50497d277c347a2991b0e34e85f1787e">&#9670;&nbsp;</a></span>kd</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter ip_rot_equid_cylind_egrid_mod::kd = real64</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Kind of reals. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00035">35</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aed7a425f4d300fe14ac1b48d76378edb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aed7a425f4d300fe14ac1b48d76378edb">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00588">rot_equid_cylind_egrid_grid_area()</a>.</p>
+
+</div>
+</div>
+<a id="a134acf8ab7f40ff49ce8e03daad900e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a134acf8ab7f40ff49ce8e03daad900e6">&#9670;&nbsp;</a></span>rlon0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::rlon0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of rlon0. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="ae1f8503816477fb685fbadc7a9e50f0b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae1f8503816477fb685fbadc7a9e50f0b">&#9670;&nbsp;</a></span>slat</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::slat</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sine of the latitude. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a72199c827ab3218b7f2aba35ad30b94d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a72199c827ab3218b7f2aba35ad30b94d">&#9670;&nbsp;</a></span>slat0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::slat0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of slat0. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00073">73</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00551">rot_equid_cylind_egrid_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a4ccccb64d3e7236d8cac19c279aab900"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4ccccb64d3e7236d8cac19c279aab900">&#9670;&nbsp;</a></span>slatr</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::slatr</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sine of the rotated latitude. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00074">74</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00270">gdswzd_rot_equid_cylind_egrid()</a>, and <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00515">rot_equid_cylind_egrid_vect_rot()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html">ip_rot_equid_cylind_egrid_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__rot__equid__cylind__egrid__mod.js b/ver-4.4.0/namespaceip__rot__equid__cylind__egrid__mod.js
new file mode 100644
index 00000000..36361095
--- /dev/null
+++ b/ver-4.4.0/namespaceip__rot__equid__cylind__egrid__mod.js
@@ -0,0 +1,24 @@
+var namespaceip__rot__equid__cylind__egrid__mod =
+[
+    [ "ip_rot_equid_cylind_egrid", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid" ],
+    [ "gdswzd_rot_equid_cylind_egrid", "namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399", null ],
+    [ "init_grib1", "namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab", null ],
+    [ "init_grib2", "namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0", null ],
+    [ "rot_equid_cylind_egrid_error", "namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48", null ],
+    [ "rot_equid_cylind_egrid_grid_area", "namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640", null ],
+    [ "rot_equid_cylind_egrid_map_jacob", "namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e", null ],
+    [ "rot_equid_cylind_egrid_vect_rot", "namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888", null ],
+    [ "clat", "namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416", null ],
+    [ "clat0", "namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142", null ],
+    [ "clatr", "namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30", null ],
+    [ "clon", "namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec", null ],
+    [ "dlats", "namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68", null ],
+    [ "dlons", "namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc", null ],
+    [ "irot", "namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571", null ],
+    [ "kd", "namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e", null ],
+    [ "rerth", "namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb", null ],
+    [ "rlon0", "namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6", null ],
+    [ "slat", "namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b", null ],
+    [ "slat0", "namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d", null ],
+    [ "slatr", "namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__rot__equid__cylind__grid__mod.html b/ver-4.4.0/namespaceip__rot__equid__cylind__grid__mod.html
new file mode 100644
index 00000000..7a91adb6
--- /dev/null
+++ b/ver-4.4.0/namespaceip__rot__equid__cylind__grid__mod.html
@@ -0,0 +1,1063 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_rot_equid_cylind_grid_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__rot__equid__cylind__grid__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_rot_equid_cylind_grid_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D.  
+<a href="namespaceip__rot__equid__cylind__grid__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a55c153201e15205d3f75e4ffb717cc0b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">gdswzd_rot_equid_cylind</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a55c153201e15205d3f75e4ffb717cc0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">GDS wizard for rotated equidistant cylindrical.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">More...</a><br /></td></tr>
+<tr class="separator:a55c153201e15205d3f75e4ffb717cc0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb27dfdc6f03dea897d509910365afee"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:acb27dfdc6f03dea897d509910365afee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Rotated equidistant cylindrical grid given a grib1_descriptor object.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">More...</a><br /></td></tr>
+<tr class="separator:acb27dfdc6f03dea897d509910365afee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add3c6c1dad5748b452d291df6619867d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:add3c6c1dad5748b452d291df6619867d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Rotated equidistant cylindrical grid given a grib2_descriptor object.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">More...</a><br /></td></tr>
+<tr class="separator:add3c6c1dad5748b452d291df6619867d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cc09c83f9a3815d8c5f8ed2f239f53f"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">rot_equid_cylind_error</a> (IOPT, FILL, RLAT, RLON, XPTS, YPTS, NPTS)</td></tr>
+<tr class="memdesc:a1cc09c83f9a3815d8c5f8ed2f239f53f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error handler.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">More...</a><br /></td></tr>
+<tr class="separator:a1cc09c83f9a3815d8c5f8ed2f239f53f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8f1133eb6809705c15337134eafe9fd"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">rot_equid_cylind_grid_area</a> (CLATR, FILL, AREA)</td></tr>
+<tr class="memdesc:ad8f1133eb6809705c15337134eafe9fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid box area for rotated equidistant cylindrical grids - non "e" stagger.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">More...</a><br /></td></tr>
+<tr class="separator:ad8f1133eb6809705c15337134eafe9fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a985f1dc1a20444cef706d4bb20e0841b"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">rot_equid_cylind_map_jacob</a> (FILL, RLON, CLATR, CLAT, SLAT, CLON, XLON, XLAT, YLON, YLAT)</td></tr>
+<tr class="memdesc:a985f1dc1a20444cef706d4bb20e0841b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map jacobians for rotated equidistant cylindrical grids - non "e" stagger.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">More...</a><br /></td></tr>
+<tr class="separator:a985f1dc1a20444cef706d4bb20e0841b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3de472bfc18740a7d985f560f3541c10"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">rot_equid_cylind_vect_rot</a> (RLON, CLATR, SLATR, CLAT, SLAT, CLON, CROT, SROT)</td></tr>
+<tr class="memdesc:a3de472bfc18740a7d985f560f3541c10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector rotation fields for rotated equidistant cylindrical grids - non "e" stagger.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">More...</a><br /></td></tr>
+<tr class="separator:a3de472bfc18740a7d985f560f3541c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:afeb699d0eaa8d157277e93fe8e8c5852"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">clat0</a></td></tr>
+<tr class="memdesc:afeb699d0eaa8d157277e93fe8e8c5852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of clat0.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">More...</a><br /></td></tr>
+<tr class="separator:afeb699d0eaa8d157277e93fe8e8c5852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab43075e39d4e2dde4110e608931a392d"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">dlats</a></td></tr>
+<tr class="memdesc:ab43075e39d4e2dde4110e608931a392d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dlats.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">More...</a><br /></td></tr>
+<tr class="separator:ab43075e39d4e2dde4110e608931a392d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0cf7bb2dd8be1239ae38c7220d29702"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">dlons</a></td></tr>
+<tr class="memdesc:aa0cf7bb2dd8be1239ae38c7220d29702"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of dlons.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">More...</a><br /></td></tr>
+<tr class="separator:aa0cf7bb2dd8be1239ae38c7220d29702"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb0c2acdbd71f0c07ffaf9db54ce06c1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">irot</a></td></tr>
+<tr class="memdesc:abb0c2acdbd71f0c07ffaf9db54ce06c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of irot.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">More...</a><br /></td></tr>
+<tr class="separator:abb0c2acdbd71f0c07ffaf9db54ce06c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5dea0592cccce2de1c5c6a92d42cfd6"><td class="memItemLeft" align="right" valign="top">integer, parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a> = real64</td></tr>
+<tr class="memdesc:af5dea0592cccce2de1c5c6a92d42cfd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fortran kind for reals.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">More...</a><br /></td></tr>
+<tr class="separator:af5dea0592cccce2de1c5c6a92d42cfd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae08318392106d174ab36cf7dc05c570b"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">rerth</a></td></tr>
+<tr class="memdesc:ae08318392106d174ab36cf7dc05c570b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">More...</a><br /></td></tr>
+<tr class="separator:ae08318392106d174ab36cf7dc05c570b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a620a55069afd33b301240533915387df"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">rlon0</a></td></tr>
+<tr class="memdesc:a620a55069afd33b301240533915387df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of rlon0.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">More...</a><br /></td></tr>
+<tr class="separator:a620a55069afd33b301240533915387df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64831f92d5306513987a98e97a32aea1"><td class="memItemLeft" align="right" valign="top">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">slat0</a></td></tr>
+<tr class="memdesc:a64831f92d5306513987a98e97a32aea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local copy of slat0.  <a href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">More...</a><br /></td></tr>
+<tr class="separator:a64831f92d5306513987a98e97a32aea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D. </p>
+<p>(To handle the E grid, see <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html" title="Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E.">ip_rot_equid_cylind_egrid_mod</a>).</p>
+<p>See more info about <a href="https://en.wikipedia.org/wiki/Arakawa_grids">Awakawa grids</a>.</p>
+<p>Octet numbers refer to <a href="https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-1.shtml">GRIB2 - GRID DEFINITION TEMPLATE 3.1 Rotate Latitude/Longitude</a>.</p>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2007-NOV-15 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a55c153201e15205d3f75e4ffb717cc0b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a55c153201e15205d3f75e4ffb717cc0b">&#9670;&nbsp;</a></span>gdswzd_rot_equid_cylind()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_grid_mod::gdswzd_rot_equid_cylind </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>GDS wizard for rotated equidistant cylindrical. </p>
+<p>This subprogram decodes the grib 2 grid definition template (passed in integer form as decoded by the ncep g2 library) and returns one of the following:</p><ul>
+<li>(iopt=+1) earth coordinates of selected grid coordinates</li>
+<li>(iopt=-1) grid coordinates of selected earth coordinates</li>
+</ul>
+<p>Works for non-"e" staggered rotated equidistant cylindrical projections. the scan mode (section 3, octet 72, bits 5-6) determine whether this is an "h" or "v" grid.</p>
+<p>If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values. The actual number of valid points computed is returned too.</p>
+<p>Optionally, the vector rotations, the map jacobians and the grid box areas may be returned as well.</p>
+<p>To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present. To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present. To compute the grid box areas, the optional argument 'area' must be present.</p>
+<h3><a class="anchor" id="autotoc_md29"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2010-jan-15   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">based on routines gdswzdcb and gdswzdca    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-jan-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">merger of gdswizcd and gdswzdcd. make crot,sort,xlon,xlat,ylon,ylat and area optional arguments. make part of a module. move vector rotation, map jacobian and grid box area computations to separate subroutines.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-jul-13   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">convert to grib 2. replace grib 1 kgds array with grib 2 grid definition template array. rename as "gdswzd_rot_equid_cylind."    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">add threads.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td>Module reference. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>integer option flag<ul>
+<li>1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>integer maximum number of coordinates </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>real fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">xpts</td><td>real (npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">ypts</td><td>real (npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>real (npts) earth longitudes in degrees e if iopt&lt;0 (acceptable range: -360. to 360.) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>real (npts) earth latitudes in degrees n if iopt&lt;0 (acceptable range: -90. to 90.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">nret</td><td>integer number of valid points computed </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>real, optional (npts) clockwise vector rotation cosines </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>real, optional (npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>real, optional (npts) dx/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>real, optional (npts) dx/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>real, optional (npts) dy/dlon in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>real, optional (npts) dy/dlat in 1/degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>real, optional (npts) area weights in m**2</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2007-NOV-15 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00256">256</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00058">clat0</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00059">dlats</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00060">dlons</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00056">irot</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00057">rerth</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00061">rlon0</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00463">rot_equid_cylind_error()</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00604">rot_equid_cylind_grid_area()</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00560">rot_equid_cylind_map_jacob()</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00509">rot_equid_cylind_vect_rot()</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00062">slat0</a>.</p>
+
+</div>
+</div>
+<a id="acb27dfdc6f03dea897d509910365afee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb27dfdc6f03dea897d509910365afee">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_grid_mod::init_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a Rotated equidistant cylindrical grid given a grib1_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td>A grib1_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2007-NOV-15 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00073">73</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__constants__mod_8F90_source.html#l00015">ip_constants_mod::dpr</a>.</p>
+
+</div>
+</div>
+<a id="add3c6c1dad5748b452d291df6619867d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#add3c6c1dad5748b452d291df6619867d">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_grid_mod::init_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a Rotated equidistant cylindrical grid given a grib2_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>A grib2_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2007-NOV-15 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00139">139</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1cc09c83f9a3815d8c5f8ed2f239f53f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1cc09c83f9a3815d8c5f8ed2f239f53f">&#9670;&nbsp;</a></span>rot_equid_cylind_error()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_grid_mod::rot_equid_cylind_error </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Error handler. </p>
+<p>Upon an error, this subprogram assigns a "fill" value to the output fields.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">iopt</td><td>integer option flag<ul>
+<li>+1 to compute earth coords of selected grid coords</li>
+<li>-1 to compute grid coords of selected earth coords </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>real fill value to set invalid output data (must be impossible value; suggested value: -9999.) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>real (npts) earth latitudes in degrees n if iopt&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>real (npts) earth longitudes in degrees e if iopt&lt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xpts</td><td>real (npts) grid x point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ypts</td><td>real (npts) grid y point coordinates if iopt&gt;0 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">npts</td><td>integer maximum number of coordinates</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-07-13 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00462">462</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>.</p>
+
+</div>
+</div>
+<a id="ad8f1133eb6809705c15337134eafe9fd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8f1133eb6809705c15337134eafe9fd">&#9670;&nbsp;</a></span>rot_equid_cylind_grid_area()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_grid_mod::rot_equid_cylind_grid_area </td>
+          <td>(</td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>CLATR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grid box area for rotated equidistant cylindrical grids - non "e" stagger. </p>
+<p>This subprogram computes the grid box area for a rotated equidistant cylindrical grid - non "e" stagger.</p>
+<h3><a class="anchor" id="autotoc_md32"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-19   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "rot_equid_cylind_grid_area."    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">pass in clatr for threading   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">clatr</td><td>cosine of unrotated latitude (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>fill value for undefined points (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">area</td><td>area weights in m**2 (real)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00603">603</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00059">dlats</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00060">dlons</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00057">rerth</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>.</p>
+
+</div>
+</div>
+<a id="a985f1dc1a20444cef706d4bb20e0841b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a985f1dc1a20444cef706d4bb20e0841b">&#9670;&nbsp;</a></span>rot_equid_cylind_map_jacob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_grid_mod::rot_equid_cylind_map_jacob </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>CLATR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>CLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>SLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>CLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>YLAT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Map jacobians for rotated equidistant cylindrical grids - non "e" stagger. </p>
+<p>This subprogram computes the map jacobians for a rotated equidistant cylindrical grid - non "e" stagger.</p>
+<h3><a class="anchor" id="autotoc_md31"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-09-17   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "rot_equid_cylind_map_jacob".    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">pass in clatr, clat, slat, clon to allow threading.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">fill</td><td>fill value for undefined points (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlon</td><td>longitude in degrees (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">clatr</td><td>cosine of unrotated latitude (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">clat</td><td>cosine of latitude (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">slat</td><td>sine of latitude (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">clon</td><td>cosine of latitude (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlon</td><td>dx/dlon in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">xlat</td><td>dx/dlat in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylon</td><td>dy/dlon in 1/degrees (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ylat</td><td>dy/dlat in 1/degrees (real)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00558">558</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00058">clat0</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00059">dlats</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00060">dlons</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00061">rlon0</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00062">slat0</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>.</p>
+
+</div>
+</div>
+<a id="a3de472bfc18740a7d985f560f3541c10"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3de472bfc18740a7d985f560f3541c10">&#9670;&nbsp;</a></span>rot_equid_cylind_vect_rot()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_rot_equid_cylind_grid_mod::rot_equid_cylind_vect_rot </td>
+          <td>(</td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>CLATR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>SLATR</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>CLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>SLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>CLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Vector rotation fields for rotated equidistant cylindrical grids - non "e" stagger. </p>
+<p>This subprogram computes the vector rotation sines and cosines for a rotated equidistant cylindrical grid - non "e" stagger.</p>
+<h3><a class="anchor" id="autotoc_md30"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-21   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">initial version    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-19   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">rename as "rot_equid_cylind_vect_rot."    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2018-07-20   </td><td class="markdownTableBodyNone">wesley   </td><td class="markdownTableBodyNone">pass in clatr, slatr, clat, slat, clon for threading.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlon</td><td>longitude in degrees (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">clatr</td><td>cosine of rotated latitude (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">slatr</td><td>sine of rotated latitude (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">clat</td><td>cosine of latitude (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">slat</td><td>sine of latitude (real) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">clon</td><td>cosine of longitude (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>clockwise vector rotation cosines (real) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>clockwise vector rotation sines (real) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Gayno </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2015-01-21 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00507">507</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00058">clat0</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00056">irot</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00061">rlon0</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00062">slat0</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="afeb699d0eaa8d157277e93fe8e8c5852"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afeb699d0eaa8d157277e93fe8e8c5852">&#9670;&nbsp;</a></span>clat0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::clat0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of clat0. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00058">58</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00560">rot_equid_cylind_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00509">rot_equid_cylind_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="ab43075e39d4e2dde4110e608931a392d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab43075e39d4e2dde4110e608931a392d">&#9670;&nbsp;</a></span>dlats</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::dlats</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of dlats. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00059">59</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00604">rot_equid_cylind_grid_area()</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00560">rot_equid_cylind_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="aa0cf7bb2dd8be1239ae38c7220d29702"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa0cf7bb2dd8be1239ae38c7220d29702">&#9670;&nbsp;</a></span>dlons</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::dlons</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of dlons. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00060">60</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00604">rot_equid_cylind_grid_area()</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00560">rot_equid_cylind_map_jacob()</a>.</p>
+
+</div>
+</div>
+<a id="abb0c2acdbd71f0c07ffaf9db54ce06c1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb0c2acdbd71f0c07ffaf9db54ce06c1">&#9670;&nbsp;</a></span>irot</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_rot_equid_cylind_grid_mod::irot</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of irot. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00509">rot_equid_cylind_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="af5dea0592cccce2de1c5c6a92d42cfd6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5dea0592cccce2de1c5c6a92d42cfd6">&#9670;&nbsp;</a></span>kd</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, parameter ip_rot_equid_cylind_grid_mod::kd = real64</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Fortran kind for reals. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00030">30</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae08318392106d174ab36cf7dc05c570b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae08318392106d174ab36cf7dc05c570b">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00604">rot_equid_cylind_grid_area()</a>.</p>
+
+</div>
+</div>
+<a id="a620a55069afd33b301240533915387df"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a620a55069afd33b301240533915387df">&#9670;&nbsp;</a></span>rlon0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::rlon0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of rlon0. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00061">61</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00560">rot_equid_cylind_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00509">rot_equid_cylind_vect_rot()</a>.</p>
+
+</div>
+</div>
+<a id="a64831f92d5306513987a98e97a32aea1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64831f92d5306513987a98e97a32aea1">&#9670;&nbsp;</a></span>slat0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(kind=<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::slat0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Local copy of slat0. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00062">62</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00259">gdswzd_rot_equid_cylind()</a>, <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00560">rot_equid_cylind_map_jacob()</a>, and <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00509">rot_equid_cylind_vect_rot()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html">ip_rot_equid_cylind_grid_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__rot__equid__cylind__grid__mod.js b/ver-4.4.0/namespaceip__rot__equid__cylind__grid__mod.js
new file mode 100644
index 00000000..a86a9373
--- /dev/null
+++ b/ver-4.4.0/namespaceip__rot__equid__cylind__grid__mod.js
@@ -0,0 +1,19 @@
+var namespaceip__rot__equid__cylind__grid__mod =
+[
+    [ "ip_rot_equid_cylind_grid", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid" ],
+    [ "gdswzd_rot_equid_cylind", "namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b", null ],
+    [ "init_grib1", "namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee", null ],
+    [ "init_grib2", "namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d", null ],
+    [ "rot_equid_cylind_error", "namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f", null ],
+    [ "rot_equid_cylind_grid_area", "namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd", null ],
+    [ "rot_equid_cylind_map_jacob", "namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b", null ],
+    [ "rot_equid_cylind_vect_rot", "namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10", null ],
+    [ "clat0", "namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852", null ],
+    [ "dlats", "namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d", null ],
+    [ "dlons", "namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702", null ],
+    [ "irot", "namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1", null ],
+    [ "kd", "namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6", null ],
+    [ "rerth", "namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b", null ],
+    [ "rlon0", "namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df", null ],
+    [ "slat0", "namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceip__station__points__grid__mod.html b/ver-4.4.0/namespaceip__station__points__grid__mod.html
new file mode 100644
index 00000000..074ed062
--- /dev/null
+++ b/ver-4.4.0/namespaceip__station__points__grid__mod.html
@@ -0,0 +1,375 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_station_points_grid_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceip__station__points__grid__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_station_points_grid_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Interpolate gridded data to a series of station points.  
+<a href="namespaceip__station__points__grid__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a8da297b45242279a497dbd7062a33197"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">gdswzd_station_points</a> (self, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)</td></tr>
+<tr class="memdesc:a8da297b45242279a497dbd7062a33197"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate gridded data to a series of station points.  <a href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">More...</a><br /></td></tr>
+<tr class="separator:a8da297b45242279a497dbd7062a33197"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b28ebf2b4fe826c96af69db28e0a1ff"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">init_grib1</a> (self, g1_desc)</td></tr>
+<tr class="memdesc:a4b28ebf2b4fe826c96af69db28e0a1ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an IP Station grid given a grib1_descriptor object.  <a href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">More...</a><br /></td></tr>
+<tr class="separator:a4b28ebf2b4fe826c96af69db28e0a1ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17e6d245295803b62b146be984f874d"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">init_grib2</a> (self, g2_desc)</td></tr>
+<tr class="memdesc:ad17e6d245295803b62b146be984f874d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an IP Station grid given a grib2_descriptor object.  <a href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">More...</a><br /></td></tr>
+<tr class="separator:ad17e6d245295803b62b146be984f874d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interpolate gridded data to a series of station points. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>7/21/21 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a8da297b45242279a497dbd7062a33197"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8da297b45242279a497dbd7062a33197">&#9670;&nbsp;</a></span>gdswzd_station_points()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_station_points_grid_mod::gdswzd_station_points </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, intent(in)&#160;</td>
+          <td class="paramname"><em>FILL</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>XPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>YPTS</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NRET</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>XLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>YLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(npts), intent(out), optional&#160;</td>
+          <td class="paramname"><em>AREA</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate gridded data to a series of station points. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">self</td><td>The grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">IOPT</td><td>must be minus 1 (return grid coordinates for selected earth coordinates). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">NPTS</td><td>Maximum number of points. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">FILL</td><td>Fill value to set invalid output data. Must be impossible value; suggested value: -9999. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">XPTS</td><td>X point coordinates. Always output. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">YPTS</td><td>Y point coordinates. Always output. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">RLON</td><td>Point longitudes. Always input. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">RLAT</td><td>Point latitudes. Always input. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">NRET</td><td>Number of valid points computed. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">CROT</td><td>Not used. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">SROT</td><td>Not used. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">XLON</td><td>Not used. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">XLAT</td><td>Not used. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">YLON</td><td>Not used. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">YLAT</td><td>Not used. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">AREA</td><td>Not used.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>7/21/21 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>5/4/23 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__station__points__grid__mod_8F90_source.html#l00075">75</a> of file <a class="el" href="ip__station__points__grid__mod_8F90_source.html">ip_station_points_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a4b28ebf2b4fe826c96af69db28e0a1ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b28ebf2b4fe826c96af69db28e0a1ff">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_station_points_grid_mod::init_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g1_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes an IP Station grid given a grib1_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g1_desc</td><td>A grib1_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__station__points__grid__mod_8F90_source.html#l00037">37</a> of file <a class="el" href="ip__station__points__grid__mod_8F90_source.html">ip_station_points_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ad17e6d245295803b62b146be984f874d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad17e6d245295803b62b146be984f874d">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ip_station_points_grid_mod::init_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">class(<a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a>), intent(inout)&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">type(<a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>g2_desc</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes an IP Station grid given a grib2_descriptor object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>The grid to initialize </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">g2_desc</td><td>A grib2_descriptor</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__station__points__grid__mod_8F90_source.html#l00048">48</a> of file <a class="el" href="ip__station__points__grid__mod_8F90_source.html">ip_station_points_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__station__points__grid__mod.html">ip_station_points_grid_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceip__station__points__grid__mod.js b/ver-4.4.0/namespaceip__station__points__grid__mod.js
new file mode 100644
index 00000000..3db1fca4
--- /dev/null
+++ b/ver-4.4.0/namespaceip__station__points__grid__mod.js
@@ -0,0 +1,7 @@
+var namespaceip__station__points__grid__mod =
+[
+    [ "ip_station_points_grid", "structip__station__points__grid__mod_1_1ip__station__points__grid.html", "structip__station__points__grid__mod_1_1ip__station__points__grid" ],
+    [ "gdswzd_station_points", "namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197", null ],
+    [ "init_grib1", "namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff", null ],
+    [ "init_grib2", "namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceipolates__mod.html b/ver-4.4.0/namespaceipolates__mod.html
new file mode 100644
index 00000000..34a11690
--- /dev/null
+++ b/ver-4.4.0/namespaceipolates__mod.html
@@ -0,0 +1,1358 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipolates_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceipolates__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ipolates_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Top-level driver for scalar interpolation interpolation routine ipolates().  
+<a href="namespaceipolates__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolates__mod_1_1ipolates.html">ipolates</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:acb5408cf5c3a0f50326edc183f9bd269"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">ipolates_grib1</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</td></tr>
+<tr class="memdesc:acb5408cf5c3a0f50326edc183f9bd269"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates scalar field from any grid to any grid given a grib1 Grid Descriptor Section.  <a href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">More...</a><br /></td></tr>
+<tr class="separator:acb5408cf5c3a0f50326edc183f9bd269"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70a9ca9871bb33e038782b036b7b53d"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">ipolates_grib1_single_field</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</td></tr>
+<tr class="memdesc:ae70a9ca9871bb33e038782b036b7b53d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special case of ipolates_grib1 when interpolating a single field.  <a href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">More...</a><br /></td></tr>
+<tr class="separator:ae70a9ca9871bb33e038782b036b7b53d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b2ea6d5b04d2a68baad261e7a409fac"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">ipolates_grib2</a> (IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a6b2ea6d5b04d2a68baad261e7a409fac"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates scalar field from any grid to any grid given a grib2 descriptor.  <a href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">More...</a><br /></td></tr>
+<tr class="separator:a6b2ea6d5b04d2a68baad261e7a409fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49541b2af75b7c037a863a4785726856"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">ipolates_grib2_single_field</a> (IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a49541b2af75b7c037a863a4785726856"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special case of ipolates_grib2 when interpolating a single field.  <a href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">More...</a><br /></td></tr>
+<tr class="separator:a49541b2af75b7c037a863a4785726856"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2761e20fab898e7fd9963f3e0eb5d104"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_grid</a> (ip, ipopt, grid_in, grid_out, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)</td></tr>
+<tr class="memdesc:a2761e20fab898e7fd9963f3e0eb5d104"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolates scalar fields between grids given ip_grid objects.  <a href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">More...</a><br /></td></tr>
+<tr class="separator:a2761e20fab898e7fd9963f3e0eb5d104"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Top-level driver for scalar interpolation interpolation routine ipolates(). </p>
+<p>ipolates() is overloaded with interfaces for GRIB1 and GRIB2 descriptors.</p>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="acb5408cf5c3a0f50326edc183f9bd269"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb5408cf5c3a0f50326edc183f9bd269">&#9670;&nbsp;</a></span>ipolates_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public ipolates_mod::ipolates_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>kgdsi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>kgdso</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>gi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(inout)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>go</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates scalar field from any grid to any grid given a grib1 Grid Descriptor Section. </p>
+<p>Only horizontal interpolation is performed. The following interpolation methods are possible:</p><ul>
+<li>(ip=0) bilinear</li>
+<li>(ip=1) bicubic</li>
+<li>(ip=2) neighbor</li>
+<li>(ip=3) budget</li>
+<li>(ip=4) spectral</li>
+<li>(ip=6) neighbor-budget</li>
+</ul>
+<p>Some of these methods have interpolation options and/or restrictions on the input or output grids, both of which are documented more fully in their respective subprograms.</p>
+<p>The grids are defined by their grid description sections (passed in integer form as decoded by subprogram w3fi63).</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>(kgds(1)=000) equidistant cylindrical</li>
+<li>(kgds(1)=001) mercator cylindrical</li>
+<li>(kgds(1)=003) lambert conformal conical</li>
+<li>(kgds(1)=004) gaussian cylindrical</li>
+<li>(kgds(1)=005) polar stereographic azimuthal</li>
+<li>(kgds(1)=203) rotated equidistant cylindrical - e-stagger</li>
+<li>(kgds(1)=205) rotated equidistant cylindrical - b-stagger</li>
+</ul>
+<p>Where kgds could be either input kgdsi or output kgdso.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned.</p>
+<p>On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input. for the budget approach, a subsection of the grid may be output by subtracting kgdso(1) from 255 and passing in the latitudes and longitudes of the points. Input bitmaps will be interpolated to output bitmaps.</p>
+<p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip = BILINEAR_INTERP_ID = 0 for bilinear</li>
+<li>ip = BICUBIC_INTERP_ID = 1 for bicubic</li>
+<li>ip = NEIGHBOR_INTERP_ID = 2 for neighbor;</li>
+<li>ip = BUDGET_INTERP_ID = 3 for budget;</li>
+<li>ip = SPECTRAL_INTERP_ID = 4 for spectral;</li>
+<li>ip = NEIGHBOR_BUDGET_INTERP_ID = 6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0 (bilinear): (No options)</li>
+<li>ip=1 Cbicubic): constraint option</li>
+<li>ip=2 (neighbor): (No options)</li>
+<li>ip=3 (budget): Number in radius, radius weights, search radius</li>
+<li>ip=4 (spectral): Spectral shape, spectral truncation</li>
+<li>ip=6 (neighbor-budget): Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>Input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>Output gds parameters. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00293">293</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70a9ca9871bb33e038782b036b7b53d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70a9ca9871bb33e038782b036b7b53d">&#9670;&nbsp;</a></span>ipolates_grib1_single_field()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public ipolates_mod::ipolates_grib1_single_field </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>kgdsi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>kgdso</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>gi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(inout)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>go</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Special case of ipolates_grib1 when interpolating a single field. </p>
+<p>Removes the km dimension of input arrays so scalars can be passed to ibi/ibo.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip = BILINEAR_INTERP_ID = 0 for bilinear</li>
+<li>ip = BICUBIC_INTERP_ID = 1 for bicubic</li>
+<li>ip = NEIGHBOR_INTERP_ID = 2 for neighbor;</li>
+<li>ip = BUDGET_INTERP_ID = 3 for budget;</li>
+<li>ip = SPECTRAL_INTERP_ID = 4 for spectral;</li>
+<li>ip = NEIGHBOR_BUDGET_INTERP_ID = 6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0 (bilinear): (No options)</li>
+<li>ip=1 Cbicubic): constraint option</li>
+<li>ip=2 (neighbor): (No options)</li>
+<li>ip=3 (budget): Number in radius, radius weights, search radius</li>
+<li>ip=4 (spectral): Spectral shape, spectral truncation</li>
+<li>ip=6 (neighbor-budget): Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>Input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>Output gds parameters. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2022 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00158">158</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+
+</div>
+</div>
+<a id="a6b2ea6d5b04d2a68baad261e7a409fac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6b2ea6d5b04d2a68baad261e7a409fac">&#9670;&nbsp;</a></span>ipolates_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public ipolates_mod::ipolates_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates scalar field from any grid to any grid given a grib2 descriptor. </p>
+<p>Wrapper for ipolates_grid which converts a grib1 descriptor into an ip_grid_descriptor, which is used to create an ip_grid. Only horizontal interpolation is performed.</p>
+<p>The following interpolation methods are possible:</p><ul>
+<li>(ip=0) bilinear</li>
+<li>(ip=1) bicubic</li>
+<li>(ip=2) neighbor</li>
+<li>(ip=3) budget</li>
+<li>(ip=4) spectral</li>
+<li>(ip=6) neighbor-budget</li>
+</ul>
+<p>Some of these methods have interpolation options and/or restrictions on the input or output grids, both of which are documented more fully in their respective subprograms.</p>
+<p>Input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library. The current code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned.</p>
+<p>On the other hand, data may be interpolated to a set of station points if "igdtnumo"&lt;0 (or subtracted from 255 for the budget option), in which case the number of points and their latitudes and longitudes must be input.</p>
+<p>Input bitmaps will be interpolated to output bitmaps. Output bitmaps will also be created when the output grid extends outside of the domain of the input grid.</p>
+<p>The output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip=0 for bilinear</li>
+<li>ip=1 for bicubic</li>
+<li>ip=2 for neighbor;</li>
+<li>ip=3 for budget;</li>
+<li>ip=4 for spectral;</li>
+<li>ip=6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0: (No options)</li>
+<li>ip=1: Constraint option</li>
+<li>ip=2: (No options)</li>
+<li>ip=3: Number in radius, radius weights, search radius</li>
+<li>ip=4: Spectral shape, spectral truncation</li>
+<li>ip=6: Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>Grid definition template number for the input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - EQUIDISTANT CYLINDRICAL</li>
+<li>01 - Rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - MERCATOR CYCLINDRICAL</li>
+<li>20 - POLAR STEREOGRAPHIC AZIMUTHAL</li>
+<li>30 - LAMBERT CONFORMAL CONICAL</li>
+<li>40 - GAUSSIAN EQUIDISTANT CYCLINDRICAL</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>Grid definition template array input grid. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Section 3 Info:</p>
+<p>All map projections:</p><ul>
+<li>(1): SHAPE OF EARTH, OCTET 15</li>
+<li>(2): SCALE FACTOR OF SPHERICAL EARTH RADIUS, OCTET 16</li>
+<li>(3): SCALED VALUE OF RADIUS OF SPHERICAL EARTH, OCTETS 17-20</li>
+<li>(4): SCALE FACTOR OF MAJOR AXIS OF ELLIPTICAL EARTH, OCTET 21</li>
+<li>(5): SCALED VALUE OF MAJOR AXIS OF ELLIPTICAL EARTH, OCTETS 22-25</li>
+<li>(6): SCALE FACTOR OF MINOR AXIS OF ELLIPTICAL EARTH, OCTET 26</li>
+<li>(7): SCALED VALUE OF MINOR AXIS OF ELLIPTICAL EARTH, OCTETS 27-30</li>
+</ul>
+<p>Equidistant Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42.</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): J-DIRECTION INCREMENT, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+</ul>
+<p>Mercator Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): LATITUDE OF FIRST POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION AND COMPONENT FLAGS, OCTET 47</li>
+<li>(13): TANGENT LATITUDE, OCTETS 48-51</li>
+<li>(14): LATITUDE OF LAST POINT, OCTETS 52-55</li>
+<li>(15): LONGITUDE OF LAST POINT, OCTETS 56-59</li>
+<li>(16): SCANNING MODE FLAGS, OCTET 60</li>
+<li>(17): ORIENTATION OF GRID, OCTETS 61-64</li>
+<li>(18): LONGITUDINAL GRID LENGTH, OCTETS 65-68</li>
+<li>(19): LATITUDINAL GRID LENGTH, OCTETS 69-72</li>
+</ul>
+<p>Lambert Conformal Conical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG X-AXIS, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG Y-AXIS, OCTS 35-38</li>
+<li>(10): LATITUDE OF FIRST POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION OF COMPONENT FLAG, OCTET 47</li>
+<li>(13): LATITUDE WHERE GRID LENGTHS SPECIFIED,OCTETS 48-51</li>
+<li>(14): LONGITUDE OF MERIDIAN THAT IS PARALLEL TO Y-AXIS, OCTETS 52-55</li>
+<li>(15): X-DIRECTION GRID LENGTH, OCTETS 56-59</li>
+<li>(16): Y-DIRECTION GRID LENGTH, OCTETS 60-63</li>
+<li>(17): PROJECTION CENTER FLAG, OCTET 64</li>
+<li>(18): SCANNING MODE, OCTET 65</li>
+<li>(19): FIRST TANGENT LATITUDE FROM POLE, OCTETS 66-69</li>
+<li>(20): SECOND TANGENT LATITUDE FROM POLE, OCTETS 70-73</li>
+<li>(21): LATITUDE OF SOUTH POLE OF PROJECTION, OCTETS 74-77</li>
+<li>(22): LONGITUDE OF SOUTH POLE OF PROJECTION, OCTETS 78-81</li>
+</ul>
+<p>Gaussian Cylindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): NUMBER OF PARALLELS BETWEEN POLE AND EQUATOR, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+</ul>
+<p>Polar Stereographic Azimuthal:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG X-AXIS, OCTETS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG Y-AXIS, OCTETS 35-38</li>
+<li>(10): LATITUDE OF FIRST GRID POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST GRID POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION AND COMPONENT FLAGS, OCTET 47</li>
+<li>(13): TRUE LATITUDE, OCTETS 48-51</li>
+<li>(14): ORIENTATION LONGITUDE, OCTETS 52-55</li>
+<li>(15): X-DIRECTION GRID LENGTH, OCTETS 56-59</li>
+<li>(16): Y-DIRECTION GRID LENGTH, OCTETS 60-63</li>
+<li>(17): PROJECTION CENTER FLAG, OCTET 64</li>
+<li>(18): SCANNING MODE FLAGS, OCTET 65</li>
+</ul>
+<p>Rotated Equidistant Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): J-DIRECTION INCREMENT, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+<li>(20): LATITUDE OF SOUTHERN POLE OF PROJECTION, OCTETS 73-76</li>
+<li>(21): LONGITUDE OF SOUTHERN POLE OF PROJECTION, OCTETS 77-80</li>
+<li>(22): ANGLE OF ROTATION OF PROJECTION, OCTS 81-84</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>Number of elements of the grid definition template array for the input grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>Grid definition template number for the output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. See "igdtnumi" for specific template definitions. Note: igdtnumo&lt;0 means interpolate to random station points.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>Grid definition template array for the output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. See "igdtmpli" for definition of array elements.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>Number of elements of the grid definition template array for the output grid. c Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>Examples demonstrating relative cpu costs. This example is interpolating 12 levels of temperatures from the 360 x 181 global grid (ncep grid 3) to the 93 x 68 hawaiian mercator grid (ncep grid 204).</dd></dl>
+<p>The example times are for the c90. As a reference, the cp time for unpacking the global 12 temperature fields is 0.04 seconds.</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.03    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.07    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.07    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.01    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.48    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">0.22    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">0.24    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">0.42    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.15   </td></tr>
+</table>
+<p>The spectral interpolation is fast for the mercator grid. However, for some grids the spectral interpolation is slow.</p>
+<p>The following example is interpolating 12 levels of temperatures from the 360 x 181 global grid (ncep grid 3) to the 93 x 65 conus lambert conformal grid (ncep grid 211).</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.03    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.07    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.07    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.01    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.51    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">3.94    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">5.02    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">11.36    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.18   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00587">587</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+
+</div>
+</div>
+<a id="a49541b2af75b7c037a863a4785726856"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49541b2af75b7c037a863a4785726856">&#9670;&nbsp;</a></span>ipolates_grib2_single_field()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public ipolates_mod::ipolates_grib2_single_field </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Special case of ipolates_grib2 when interpolating a single field. </p>
+<p>Removes the km dimension of input arrays so scalars can be passed to ibi/ibo.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip=0 for bilinear</li>
+<li>ip=1 for bicubic</li>
+<li>ip=2 for neighbor;</li>
+<li>ip=3 for budget;</li>
+<li>ip=4 for spectral;</li>
+<li>ip=6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0: (No options)</li>
+<li>ip=1: Constraint option</li>
+<li>ip=2: (No options)</li>
+<li>ip=3: Number in radius, radius weights, search radius</li>
+<li>ip=4: Spectral shape, spectral truncation</li>
+<li>ip=6: Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>Grid definition template number for the input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - EQUIDISTANT CYLINDRICAL</li>
+<li>01 - Rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - MERCATOR CYCLINDRICAL</li>
+<li>20 - POLAR STEREOGRAPHIC AZIMUTHAL</li>
+<li>30 - LAMBERT CONFORMAL CONICAL</li>
+<li>40 - GAUSSIAN EQUIDISTANT CYCLINDRICAL</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>Grid definition template array input grid. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Section 3 Info:</p>
+<p>All map projections:</p><ul>
+<li>(1): SHAPE OF EARTH, OCTET 15</li>
+<li>(2): SCALE FACTOR OF SPHERICAL EARTH RADIUS, OCTET 16</li>
+<li>(3): SCALED VALUE OF RADIUS OF SPHERICAL EARTH, OCTETS 17-20</li>
+<li>(4): SCALE FACTOR OF MAJOR AXIS OF ELLIPTICAL EARTH, OCTET 21</li>
+<li>(5): SCALED VALUE OF MAJOR AXIS OF ELLIPTICAL EARTH, OCTETS 22-25</li>
+<li>(6): SCALE FACTOR OF MINOR AXIS OF ELLIPTICAL EARTH, OCTET 26</li>
+<li>(7): SCALED VALUE OF MINOR AXIS OF ELLIPTICAL EARTH, OCTETS 27-30</li>
+</ul>
+<p>Equidistant Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42.</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): J-DIRECTION INCREMENT, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+</ul>
+<p>Mercator Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): LATITUDE OF FIRST POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION AND COMPONENT FLAGS, OCTET 47</li>
+<li>(13): TANGENT LATITUDE, OCTETS 48-51</li>
+<li>(14): LATITUDE OF LAST POINT, OCTETS 52-55</li>
+<li>(15): LONGITUDE OF LAST POINT, OCTETS 56-59</li>
+<li>(16): SCANNING MODE FLAGS, OCTET 60</li>
+<li>(17): ORIENTATION OF GRID, OCTETS 61-64</li>
+<li>(18): LONGITUDINAL GRID LENGTH, OCTETS 65-68</li>
+<li>(19): LATITUDINAL GRID LENGTH, OCTETS 69-72</li>
+</ul>
+<p>Lambert Conformal Conical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG X-AXIS, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG Y-AXIS, OCTS 35-38</li>
+<li>(10): LATITUDE OF FIRST POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION OF COMPONENT FLAG, OCTET 47</li>
+<li>(13): LATITUDE WHERE GRID LENGTHS SPECIFIED,OCTETS 48-51</li>
+<li>(14): LONGITUDE OF MERIDIAN THAT IS PARALLEL TO Y-AXIS, OCTETS 52-55</li>
+<li>(15): X-DIRECTION GRID LENGTH, OCTETS 56-59</li>
+<li>(16): Y-DIRECTION GRID LENGTH, OCTETS 60-63</li>
+<li>(17): PROJECTION CENTER FLAG, OCTET 64</li>
+<li>(18): SCANNING MODE, OCTET 65</li>
+<li>(19): FIRST TANGENT LATITUDE FROM POLE, OCTETS 66-69</li>
+<li>(20): SECOND TANGENT LATITUDE FROM POLE, OCTETS 70-73</li>
+<li>(21): LATITUDE OF SOUTH POLE OF PROJECTION, OCTETS 74-77</li>
+<li>(22): LONGITUDE OF SOUTH POLE OF PROJECTION, OCTETS 78-81</li>
+</ul>
+<p>Gaussian Cylindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): NUMBER OF PARALLELS BETWEEN POLE AND EQUATOR, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+</ul>
+<p>Polar Stereographic Azimuthal:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG X-AXIS, OCTETS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG Y-AXIS, OCTETS 35-38</li>
+<li>(10): LATITUDE OF FIRST GRID POINT, OCTETS 39-42</li>
+<li>(11): LONGITUDE OF FIRST GRID POINT, OCTETS 43-46</li>
+<li>(12): RESOLUTION AND COMPONENT FLAGS, OCTET 47</li>
+<li>(13): TRUE LATITUDE, OCTETS 48-51</li>
+<li>(14): ORIENTATION LONGITUDE, OCTETS 52-55</li>
+<li>(15): X-DIRECTION GRID LENGTH, OCTETS 56-59</li>
+<li>(16): Y-DIRECTION GRID LENGTH, OCTETS 60-63</li>
+<li>(17): PROJECTION CENTER FLAG, OCTET 64</li>
+<li>(18): SCANNING MODE FLAGS, OCTET 65</li>
+</ul>
+<p>Rotated Equidistant Cyclindrical:</p><ul>
+<li>(8): NUMBER OF POINTS ALONG A PARALLEL, OCTS 31-34</li>
+<li>(9): NUMBER OF POINTS ALONG A MERIDIAN, OCTS 35-38</li>
+<li>(10): BASIC ANGLE OF INITIAL PRODUCTION DOMAIN, OCTETS 39-42</li>
+<li>(11): SUBDIVISIONS OF BASIC ANGLE, OCTETS 43-46</li>
+<li>(12): LATITUDE OF FIRST GRID POINT, OCTETS 47-50</li>
+<li>(13): LONGITUDE OF FIRST GRID POINT, OCTETS 51-54</li>
+<li>(14): RESOLUTION AND COMPONENT FLAGS, OCTET 55</li>
+<li>(15): LATITUDE OF LAST GRID POINT, OCTETS 56-59</li>
+<li>(16): LONGITUDE OF LAST GRID POINT, OCTETS 60-63</li>
+<li>(17): I-DIRECTION INCREMENT, OCTETS 64-67</li>
+<li>(18): J-DIRECTION INCREMENT, OCTETS 68-71</li>
+<li>(19): SCANNING MODE, OCTET 72</li>
+<li>(20): LATITUDE OF SOUTHERN POLE OF PROJECTION, OCTETS 73-76</li>
+<li>(21): LONGITUDE OF SOUTHERN POLE OF PROJECTION, OCTETS 77-80</li>
+<li>(22): ANGLE OF ROTATION OF PROJECTION, OCTS 81-84</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>Number of elements of the grid definition template array for the input grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>Grid definition template number for the output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. See "igdtnumi" for specific template definitions. Note: igdtnumo&lt;0 means interpolate to random station points.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>Grid definition template array for the output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. See "igdtmpli" for definition of array elements.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>Number of elements of the grid definition template array for the output grid. c Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>November 2022 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00808">808</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2761e20fab898e7fd9963f3e0eb5d104"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2761e20fab898e7fd9963f3e0eb5d104">&#9670;&nbsp;</a></span>ipolates_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolates_mod::ipolates_grid </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>gi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>go</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolates scalar fields between grids given ip_grid objects. </p>
+<p>Calls the specific interpolation routines on the generic ip_grids created from a grib1/grib2 descriptor.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid object created. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>Input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>Output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell, Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolates_8F90_source.html#l00063">63</a> of file <a class="el" href="ipolates_8F90_source.html">ipolates.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__interpolators__mod_8F90_source.html#l00019">ip_interpolators_mod::bicubic_interp_id</a>, <a class="el" href="ip__interpolators__mod_8F90_source.html#l00017">ip_interpolators_mod::bilinear_interp_id</a>, <a class="el" href="ip__interpolators__mod_8F90_source.html#l00023">ip_interpolators_mod::budget_interp_id</a>, <a class="el" href="ip__interpolators__mod_8F90_source.html#l00027">ip_interpolators_mod::neighbor_budget_interp_id</a>, <a class="el" href="ip__interpolators__mod_8F90_source.html#l00021">ip_interpolators_mod::neighbor_interp_id</a>, and <a class="el" href="ip__interpolators__mod_8F90_source.html#l00025">ip_interpolators_mod::spectral_interp_id</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ipolates_8F90_source.html#l00295">ipolates_mod::ipolates::ipolates_grib1()</a>, <a class="el" href="ipolates_8F90_source.html#l00160">ipolates_mod::ipolates::ipolates_grib1_single_field()</a>, <a class="el" href="ipolates_8F90_source.html#l00591">ipolates_mod::ipolates::ipolates_grib2()</a>, and <a class="el" href="ipolates_8F90_source.html#l00812">ipolates_mod::ipolates::ipolates_grib2_single_field()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceipolates__mod.html">ipolates_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceipolates__mod.js b/ver-4.4.0/namespaceipolates__mod.js
new file mode 100644
index 00000000..4197e28d
--- /dev/null
+++ b/ver-4.4.0/namespaceipolates__mod.js
@@ -0,0 +1,9 @@
+var namespaceipolates__mod =
+[
+    [ "ipolates", "interfaceipolates__mod_1_1ipolates.html", "interfaceipolates__mod_1_1ipolates" ],
+    [ "ipolates_grib1", "namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269", null ],
+    [ "ipolates_grib1_single_field", "namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d", null ],
+    [ "ipolates_grib2", "namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac", null ],
+    [ "ipolates_grib2_single_field", "namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856", null ],
+    [ "ipolates_grid", "namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceipolatev__mod.html b/ver-4.4.0/namespaceipolatev__mod.html
new file mode 100644
index 00000000..90b6cd79
--- /dev/null
+++ b/ver-4.4.0/namespaceipolatev__mod.html
@@ -0,0 +1,1443 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ipolatev_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceipolatev__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">ipolatev_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Top-level driver for vector interpolation interpolation routine ipolatev().  
+<a href="namespaceipolatev__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html">ipolatev</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:abddc4a9b00133b358443b118f1352d1f"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">ipolatev_grib1</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:abddc4a9b00133b358443b118f1352d1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates vector field from any grid to any grid given a grib1 Grid Descriptor Section.  <a href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">More...</a><br /></td></tr>
+<tr class="separator:abddc4a9b00133b358443b118f1352d1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad535ffd159c46e770effd774aabede58"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">ipolatev_grib1_single_field</a> (ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:ad535ffd159c46e770effd774aabede58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special case of ipolatev_grib1 when interpolating a single field.  <a href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">More...</a><br /></td></tr>
+<tr class="separator:ad535ffd159c46e770effd774aabede58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00fed53dd867a802b3adbc1141e8d272"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">ipolatev_grib2</a> (ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:a00fed53dd867a802b3adbc1141e8d272"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor.  <a href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">More...</a><br /></td></tr>
+<tr class="separator:a00fed53dd867a802b3adbc1141e8d272"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71d7507e8f89e1229caaaacb37e0c9c7"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">ipolatev_grib2_single_field</a> (ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)</td></tr>
+<tr class="memdesc:a71d7507e8f89e1229caaaacb37e0c9c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor.  <a href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">More...</a><br /></td></tr>
+<tr class="separator:a71d7507e8f89e1229caaaacb37e0c9c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f3bfec7495e13b75b2035e8e1f081a1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_grid</a> (IP, IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a8f3bfec7495e13b75b2035e8e1f081a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolates vector fields between grids given ip_grid objects.  <a href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">More...</a><br /></td></tr>
+<tr class="separator:a8f3bfec7495e13b75b2035e8e1f081a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Top-level driver for vector interpolation interpolation routine ipolatev(). </p>
+<p>The ipolatev() subprogram is overloaded with interfaces for GRIB1 and GRIB2 descriptors.</p>
+<dl class="section author"><dt>Author</dt><dd>George Gayno, Mark Iredell, Kyle Gerheiser </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="abddc4a9b00133b358443b118f1352d1f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abddc4a9b00133b358443b118f1352d1f">&#9670;&nbsp;</a></span>ipolatev_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public ipolatev_mod::ipolatev_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(inout)&#160;</td>
+          <td class="paramname"><em>kgdsi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(inout)&#160;</td>
+          <td class="paramname"><em>kgdso</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates vector field from any grid to any grid given a grib1 Grid Descriptor Section. </p>
+<p>Only horizontal interpolation is performed. The following interpolation methods are possible:</p><ul>
+<li>(ip=0) bilinear</li>
+<li>(ip=1) bicubic</li>
+<li>(ip=2) neighbor</li>
+<li>(ip=3) budget</li>
+<li>(ip=4) spectral</li>
+<li>(ip=6) neighbor-budget</li>
+</ul>
+<p>Some of these methods have interpolation options and/or restrictions on the input or output grids, both of which are documented more fully in their respective subprograms.</p>
+<p>The grids are defined by their grid description sections (passed in integer form as decoded by subprogram w3fi63).</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>(kgds(1)=000) equidistant cylindrical</li>
+<li>(kgds(1)=001) mercator cylindrical</li>
+<li>(kgds(1)=003) lambert conformal conical</li>
+<li>(kgds(1)=004) gaussian cylindrical</li>
+<li>(kgds(1)=005) polar stereographic azimuthal</li>
+<li>(kgds(1)=203) rotated equidistant cylindrical - e-stagger</li>
+<li>(kgds(1)=205) rotated equidistant cylindrical - b-stagger</li>
+</ul>
+<p>Where kgds could be either input kgdsi or output kgdso.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned.</p>
+<p>On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input. for the budget approach, a subsection of the grid may be output by subtracting kgdso(1) from 255 and passing in the latitudes and longitudes of the points. Input bitmaps will be interpolated to output bitmaps.</p>
+<p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip = BILINEAR_INTERP_ID = 0 for bilinear</li>
+<li>ip = BICUBIC_INTERP_ID = 1 for bicubic</li>
+<li>ip = NEIGHBOR_INTERP_ID = 2 for neighbor;</li>
+<li>ip = BUDGET_INTERP_ID = 3 for budget;</li>
+<li>ip = SPECTRAL_INTERP_ID = 4 for spectral;</li>
+<li>ip = NEIGHBOR_BUDGET_INTERP_ID = 6 for neighbor-budget </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0 (bilinear): (No options)</li>
+<li>ip=1 Cbicubic): constraint option</li>
+<li>ip=2 (neighbor): (No options)</li>
+<li>ip=3 (budget): Number in radius, radius weights, search radius</li>
+<li>ip=4 (spectral): Spectral shape, spectral truncation</li>
+<li>ip=6 (neighbor-budget): Number in radius, radius weights ...) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>Input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>Output gds parameters. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>Examples demonstrating relative cpu costs. This example is interpolating 12 levels of winds from the 360 x 181 global grid (ncep grid 3) to the 93 x 68 hawaiian mercator grid (ncep grid 204).</dd></dl>
+<p>The example times are for the c90. As a reference, the cp time for unpacking the global 12 temperature fields is 0.07 seconds.</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.05    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.16    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.17    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.02    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.94    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">0.31    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">0.33    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">0.59    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.31   </td></tr>
+</table>
+<p>The spectral interpolation is fast for the mercator grid. However, for some grids the spectral interpolation is slow.</p>
+<p>The following example is interpolating 12 levels of temperatures from the 360 x 181 global grid (ncep grid 3) to the 93 x 65 conus lambert conformal grid (ncep grid 211).</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.05    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.15    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.16    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.02    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.92    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">4.51    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">5.77    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">12.60    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.33   </td></tr>
+</table>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00565">565</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+
+</div>
+</div>
+<a id="ad535ffd159c46e770effd774aabede58"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad535ffd159c46e770effd774aabede58">&#9670;&nbsp;</a></span>ipolatev_grib1_single_field()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public ipolatev_mod::ipolatev_grib1_single_field </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(inout)&#160;</td>
+          <td class="paramname"><em>kgdsi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(200), intent(inout)&#160;</td>
+          <td class="paramname"><em>kgdso</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Special case of ipolatev_grib1 when interpolating a single field. </p>
+<p>Removes the km dimension of input arrays so vectors can be passed to ibi/ibo.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir"></td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip = BILINEAR_INTERP_ID = 0 for bilinear</li>
+<li>ip = BICUBIC_INTERP_ID = 1 for bicubic</li>
+<li>ip = NEIGHBOR_INTERP_ID = 2 for neighbor;</li>
+<li>ip = BUDGET_INTERP_ID = 3 for budget;</li>
+<li>ip = SPECTRAL_INTERP_ID = 4 for spectral;</li>
+<li>ip = NEIGHBOR_BUDGET_INTERP_ID = 6 for neighbor-budget </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir"></td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0 (bilinear): (No options)</li>
+<li>ip=1 Cbicubic): constraint option</li>
+<li>ip=2 (neighbor): (No options)</li>
+<li>ip=3 (budget): Number in radius, radius weights, search radius</li>
+<li>ip=4 (spectral): Spectral shape, spectral truncation</li>
+<li>ip=6 (neighbor-budget): Number in radius, radius weights ...) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>Input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>Output gds parameters. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section date"><dt>Date</dt><dd>Jan 2022 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00680">680</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+
+</div>
+</div>
+<a id="a00fed53dd867a802b3adbc1141e8d272"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00fed53dd867a802b3adbc1141e8d272">&#9670;&nbsp;</a></span>ipolatev_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public ipolatev_mod::ipolatev_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtnumi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtmpli</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtleni</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtnumo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtmplo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtleno</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor. </p>
+<p>This is a wrapper for ipolates_grid which converts a grib1 descriptor into an ip_grid_descriptor, which is used to create an ip_grid. Only horizontal interpolation is performed.</p>
+<p>The following interpolation methods are possible:</p><ul>
+<li>(ip=0) bilinear</li>
+<li>(ip=1) bicubic</li>
+<li>(ip=2) neighbor</li>
+<li>(ip=3) budget</li>
+<li>(ip=4) spectral</li>
+<li>(ip=6) neighbor-budget</li>
+</ul>
+<p>Some of these methods have interpolation options and/or restrictions on the input or output grids, both of which are documented more fully in their respective subprograms.</p>
+<p>Input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library. The current code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned.</p>
+<p>On the other hand, data may be interpolated to a set of station points if "igdtnumo"&lt;0 (or subtracted from 255 for the budget option), in which case the number of points and their latitudes and longitudes must be input.</p>
+<p>Input bitmaps will be interpolated to output bitmaps. Output bitmaps will also be created when the output grid extends outside of the domain of the input grid.</p>
+<p>The output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip=0 for bilinear</li>
+<li>ip=1 for bicubic</li>
+<li>ip=2 for neighbor;</li>
+<li>ip=3 for budget;</li>
+<li>ip=4 for spectral;</li>
+<li>ip=6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0: (No options)</li>
+<li>ip=1: Constraint option</li>
+<li>ip=2: (No options)</li>
+<li>ip=3: Number in radius, radius weights, search radius</li>
+<li>ip=4: Spectral shape, spectral truncation</li>
+<li>ip=6: Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>Grid definition template number for the input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - Equidistant Cylindrical</li>
+<li>01 - Rotated Equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - Mercator Cyclindrical</li>
+<li>20 - Polar Stereographic azimuthal</li>
+<li>30 - Lambert Conformal Conical</li>
+<li>40 - Gaussian Equidistant Cyclindrical</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>Grid definition template array input grid. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Section 3 Info:</p>
+<p>All map projections:</p><ol type="1">
+<li>Shape of earth, octet 15.</li>
+<li>Scale factor of spherical earth radius, octet 16.</li>
+<li>Scaled value of radius of spherical earth, octets 17-20.</li>
+<li>Scale factor of major axis of elliptical earth, octet 21.</li>
+<li>Scaled value of major axis of elliptical earth, octets 22-25.</li>
+<li>Scale factor of minor axis of elliptical earth, octet 26. 7: Scaled value of minor axis of elliptical earth, octets 27-30.</li>
+</ol>
+<p>Equidistant Cyclindrical:</p><ol type="1">
+<li>Number of points along a parallel, octs 31-34.</li>
+<li>Number of points along a meridian, octs 35-38.</li>
+<li>Basic angle of initial production domain, octets 39-42.</li>
+<li>Subdivisions of basic angle, octets 43-46.</li>
+<li>Latitude of first grid point, octets 47-50.</li>
+<li>Longitude of first grid point, octets 51-54.</li>
+<li>Resolution and component flags, octet 55.</li>
+<li>Latitude of last grid point, octets 56-59.</li>
+<li>Longitude of last grid point, octets 60-63.</li>
+<li>i-direction increment, octets 64-67.</li>
+<li>j-direction increment, octets 68-71.</li>
+<li>Scanning mode, octet 72.</li>
+</ol>
+<p>Mercator Cyclindrical:</p><ol type="1">
+<li>Number of points along a parallel, octs 31-34.</li>
+<li>Number of points along a meridian, octs 35-38.</li>
+<li>Latitude of first point, octets 39-42.</li>
+<li>Longitude of first point, octets 43-46.</li>
+<li>Resolution and component flags, octet 47.</li>
+<li>Tangent latitude, octets 48-51.</li>
+<li>Latitude of last point, octets 52-55.</li>
+<li>Longitude of last point, octets 56-59.</li>
+<li>Scanning mode flags, octet 60.</li>
+<li>Orientation of grid, octets 61-64.</li>
+<li>Longitudinal grid length, octets 65-68.</li>
+<li>Latitudinal grid length, octets 69-72.</li>
+</ol>
+<p>Lambert Conformal Conical:</p><ol type="1">
+<li>Number of points along x-axis, octs 31-34.</li>
+<li>Number of points along y-axis, octs 35-38.</li>
+<li>Latitude of first point, octets 39-42.</li>
+<li>Longitude of first point, octets 43-46.</li>
+<li>Resolution of component flag, octet 47.</li>
+<li>Latitude where grid lengths specified,octets 48-51.</li>
+<li>Longitude of meridian that is parallel to y-axis, octets 52-55.</li>
+<li>x-direction grid length, octets 56-59.</li>
+<li>y-direction grid length, octets 60-63.</li>
+<li>Projection center flag, octet 64.</li>
+<li>Scanning mode, octet 65.</li>
+<li>First tangent latitude from pole, octets 66-69.</li>
+<li>Second tangent latitude from pole, octets 70-73.</li>
+<li>Latitude of south pole of projection, octets 74-77.</li>
+<li>Longitude of south pole of projection, octets 78-81.</li>
+</ol>
+<p>Gaussian Cylindrical:</p><ol type="1">
+<li>Number of points along a parallel, octs 31-34.</li>
+<li>Number of points along a meridian, octs 35-38.</li>
+<li>Basic angle of initial production domain, octets 39-42.</li>
+<li>Subdivisions of basic angle, octets 43-46.</li>
+<li>Latitude of first grid point, octets 47-50.</li>
+<li>Longitude of first grid point, octets 51-54.</li>
+<li>Resolution and component flags, octet 55.</li>
+<li>Latitude of last grid point, octets 56-59.</li>
+<li>Longitude of last grid point, octets 60-63.</li>
+<li>i-direction increment, octets 64-67.</li>
+<li>Number of parallels between pole and equator, octets 68-71.</li>
+<li>Scanning mode, octet 72.</li>
+</ol>
+<p>Polar Stereographic Azimuthal:</p><ol type="1">
+<li>Number of points along x-axis, octets 31-34.</li>
+<li>Number of points along y-axis, octets 35-38.</li>
+<li>Latitude of first grid point, octets 39-42.</li>
+<li>Longitude of first grid point, octets 43-46.</li>
+<li>Resolution and component flags, octet 47.</li>
+<li>True latitude, octets 48-51.</li>
+<li>Orientation longitude, octets 52-55.</li>
+<li>x-direction grid length, octets 56-59.</li>
+<li>y-direction grid length, octets 60-63.</li>
+<li>Projection center flag, octet 64.</li>
+<li>Scanning mode flags, octet 65.</li>
+</ol>
+<p>Rotated Equidistant Cyclindrical:</p><ol type="1">
+<li>Number of points along a parallel, octs 31-34.</li>
+<li>Number of points along a meridian, octs 35-38.</li>
+<li>Basic angle of initial production domain, octets 39-42.</li>
+<li>Subdivisions of basic angle, octets 43-46.</li>
+<li>Latitude of first grid point, octets 47-50.</li>
+<li>Longitude of first grid point, octets 51-54.</li>
+<li>Resolution and component flags, octet 55.</li>
+<li>Latitude of last grid point, octets 56-59.</li>
+<li>Longitude of last grid point, octets 60-63.</li>
+<li>i-direction increment, octets 64-67.</li>
+<li>j-direction increment, octets 68-71.</li>
+<li>Scanning mode, octet 72.</li>
+<li>Latitude of southern pole of projection, octets 73-76.</li>
+<li>Longitude of southern pole of projection, octets 77-80.</li>
+<li>Angle of rotation of projection, octs 81-84.</li>
+</ol>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>Number of elements of the grid definition template array for the input grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>Grid definition template number for the output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. See "igdtnumi" for specific template definitions. Note: igdtnumo&lt;0 means interpolate to random station points.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>Grid definition template array for the output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. See "igdtmpli" for definition of array elements.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>Number of elements of the grid definition template array for the output grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>Examples demonstrating relative cpu costs. This example is interpolating 12 levels of winds from the 360 x 181 global grid (ncep grid 3) to the 93 x 68 hawaiian mercator grid (ncep grid 204).</dd></dl>
+<p>The example times are for the c90. As a reference, the cp time for unpacking the global 12 wind fields is 0.07 seconds.</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.05    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.16    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.17    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.02    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.94    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">0.31    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">0.33    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">0.59    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.31   </td></tr>
+</table>
+<p>The spectral interpolation is fast for the mercator grid. However, for some grids the spectral interpolation is slow.</p>
+<p>The following example is interpolating 12 levels of winds from the 360 x 181 global grid (ncep grid 3) to the 93 x 65 conus lambert conformal grid (ncep grid 211).</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">METHOD   </th><th class="markdownTableHeadNone">IP   </th><th class="markdownTableHeadNone">IPOPT   </th><th class="markdownTableHeadNone">CP SECONDS    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BILINEAR   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.05    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0   </td><td class="markdownTableBodyNone">0.15    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BICUBIC   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">1   </td><td class="markdownTableBodyNone">0.16    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">NEIGHBOR   </td><td class="markdownTableBodyNone">2   </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0.02    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">BUDGET   </td><td class="markdownTableBodyNone">3   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.92    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,40   </td><td class="markdownTableBodyNone">4.51    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">1,40   </td><td class="markdownTableBodyNone">5.77    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">SPECTRAL   </td><td class="markdownTableBodyNone">4   </td><td class="markdownTableBodyNone">0,-1   </td><td class="markdownTableBodyNone">12.60    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">N-BUDGET   </td><td class="markdownTableBodyNone">6   </td><td class="markdownTableBodyNone">-1,-1   </td><td class="markdownTableBodyNone">0.33   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00382">382</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+
+</div>
+</div>
+<a id="a71d7507e8f89e1229caaaacb37e0c9c7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71d7507e8f89e1229caaaacb37e0c9c7">&#9670;&nbsp;</a></span>ipolatev_grib2_single_field()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public ipolatev_mod::ipolatev_grib2_single_field </td>
+          <td>(</td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ip</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>ipopt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtnumi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtmpli</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtleni</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtnumo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtmplo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>igdtleno</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>mo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>km</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(in)&#160;</td>
+          <td class="paramname"><em>ibi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>li</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>ui</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mi), intent(in)&#160;</td>
+          <td class="paramname"><em>vi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>no</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>rlon</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>crot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>srot</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>ibo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical(c_bool), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>lo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>uo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real(c_double), dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>vo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer(c_int), intent(out)&#160;</td>
+          <td class="paramname"><em>iret</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>This subprogram interpolates vector fields from any grid to any grid given a grib2 descriptor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method<ul>
+<li>ip=0 for bilinear</li>
+<li>ip=1 for bicubic</li>
+<li>ip=2 for neighbor;</li>
+<li>ip=3 for budget;</li>
+<li>ip=4 for spectral;</li>
+<li>ip=6 for neighbor-budget</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options<ul>
+<li>ip=0: (No options)</li>
+<li>ip=1: Constraint option</li>
+<li>ip=2: (No options)</li>
+<li>ip=3: Number in radius, radius weights, search radius</li>
+<li>ip=4: Spectral shape, spectral truncation</li>
+<li>ip=6: Number in radius, radius weights ...)</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>Grid definition template number for the input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 - Equidistant Cylindrical</li>
+<li>01 - Rotated Equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - Mercator Cyclindrical</li>
+<li>20 - Polar Stereographic azimuthal</li>
+<li>30 - Lambert Conformal Conical</li>
+<li>40 - Gaussian Equidistant Cyclindrical</li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>Grid definition template array input grid. Corresponds to the gfldigdtmpl component of the NCEPLIBS-g2 gridmod data structure</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>Number of elements of the grid definition template array for the input grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>Grid definition template number for the output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. See "igdtnumi" for specific template definitions. Note: igdtnumo&lt;0 means interpolate to random station points.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>Grid definition template array for the output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure. See "igdtmpli" for definition of array elements.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>Number of elements of the grid definition template array for the output grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure.</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters.</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>November 2022 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00832">832</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+
+</div>
+</div>
+<a id="a8f3bfec7495e13b75b2035e8e1f081a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f3bfec7495e13b75b2035e8e1f081a1">&#9670;&nbsp;</a></span>ipolatev_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine ipolatev_mod::ipolatev_grid </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IP</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolates vector fields between grids given ip_grid objects. </p>
+<p>Calls the specific interpolation routines on the generic ip_grids created from a GRIB1 or GRIB2 descriptor.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>Interpolation method. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>Interpolation options. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>Input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>Output grid object created. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>Skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>Skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>Number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>Input bitmap flags. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>Input bitmaps (if respective ibi(k)=1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>Input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>Input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>Number of output points (only if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>Output latitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>Output longitudes in degrees (if kgdso(1)&lt;0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>Vector rotation cosines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>Vector rotation sines (if igdtnumo&gt;=0). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>Output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>Output bitmaps (always output). </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>Output u-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>Output v-component fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>Return code.<ul>
+<li>0 Successful interpolation.</li>
+<li>1 Unrecognized interpolation method.</li>
+<li>2 Unrecognized input grid or no grid overlap.</li>
+<li>3 Unrecognized output grid.</li>
+<li>1x Invalid bicubic method parameters.</li>
+<li>3x Invalid budget method parameters.</li>
+<li>4x Invalid spectral method parameters. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ipolatev_8F90_source.html#l00067">67</a> of file <a class="el" href="ipolatev_8F90_source.html">ipolatev.F90</a>.</p>
+
+<p class="reference">References <a class="el" href="ip__interpolators__mod_8F90_source.html#l00019">ip_interpolators_mod::bicubic_interp_id</a>, <a class="el" href="ip__interpolators__mod_8F90_source.html#l00017">ip_interpolators_mod::bilinear_interp_id</a>, <a class="el" href="ip__interpolators__mod_8F90_source.html#l00023">ip_interpolators_mod::budget_interp_id</a>, <a class="el" href="ip__interpolators__mod_8F90_source.html#l00027">ip_interpolators_mod::neighbor_budget_interp_id</a>, <a class="el" href="ip__interpolators__mod_8F90_source.html#l00021">ip_interpolators_mod::neighbor_interp_id</a>, and <a class="el" href="ip__interpolators__mod_8F90_source.html#l00025">ip_interpolators_mod::spectral_interp_id</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="ipolatev_8F90_source.html#l00567">ipolatev_mod::ipolatev::ipolatev_grib1()</a>, <a class="el" href="ipolatev_8F90_source.html#l00682">ipolatev_mod::ipolatev::ipolatev_grib1_single_field()</a>, <a class="el" href="ipolatev_8F90_source.html#l00386">ipolatev_mod::ipolatev::ipolatev_grib2()</a>, and <a class="el" href="ipolatev_8F90_source.html#l00836">ipolatev_mod::ipolatev::ipolatev_grib2_single_field()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceipolatev__mod.html">ipolatev_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceipolatev__mod.js b/ver-4.4.0/namespaceipolatev__mod.js
new file mode 100644
index 00000000..89b5018f
--- /dev/null
+++ b/ver-4.4.0/namespaceipolatev__mod.js
@@ -0,0 +1,9 @@
+var namespaceipolatev__mod =
+[
+    [ "ipolatev", "interfaceipolatev__mod_1_1ipolatev.html", "interfaceipolatev__mod_1_1ipolatev" ],
+    [ "ipolatev_grib1", "namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f", null ],
+    [ "ipolatev_grib1_single_field", "namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58", null ],
+    [ "ipolatev_grib2", "namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272", null ],
+    [ "ipolatev_grib2_single_field", "namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7", null ],
+    [ "ipolatev_grid", "namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespacemembers.html b/ver-4.4.0/namespacemembers.html
new file mode 100644
index 00000000..9c577c78
--- /dev/null
+++ b/ver-4.4.0/namespacemembers.html
@@ -0,0 +1,598 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Module Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacemembers.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented module members with links to the modules they belong to:</div>
+
+<h3><a id="index_a"></a>- a -</h3><ul>
+<li>an
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">ip_lambert_conf_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_b"></a>- b -</h3><ul>
+<li>bicubic_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">ip_interpolators_mod</a>
+</li>
+<li>bilinear_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">ip_interpolators_mod</a>
+</li>
+<li>blat
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">ip_gaussian_grid_mod</a>
+</li>
+<li>budget_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">ip_interpolators_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>clat
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>clat0
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>clatr
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>clon
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_d"></a>- d -</h3><ul>
+<li>de2
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">ip_polar_stereo_grid_mod</a>
+</li>
+<li>dlat
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">ip_equid_cylind_grid_mod</a>
+</li>
+<li>dlats
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>dlon
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">ip_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">ip_gaussian_grid_mod</a>
+, <a class="el" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">ip_mercator_grid_mod</a>
+</li>
+<li>dlons
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>dphi
+: <a class="el" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">ip_mercator_grid_mod</a>
+</li>
+<li>dpr
+: <a class="el" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">ip_constants_mod</a>
+</li>
+<li>dxs
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">ip_polar_stereo_grid_mod</a>
+</li>
+<li>dys
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">ip_polar_stereo_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_e"></a>- e -</h3><ul>
+<li>e2
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">ip_polar_stereo_grid_mod</a>
+</li>
+<li>e2_wgs84
+: <a class="el" href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">ip_constants_mod</a>
+</li>
+<li>earth_radius()
+: <a class="el" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius_mod</a>
+</li>
+<li>equid_cylind_grid_area()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">ip_equid_cylind_grid_mod</a>
+</li>
+<li>equid_cylind_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">ip_grid_mod</a>
+</li>
+<li>equid_cylind_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">ip_grid_mod</a>
+</li>
+<li>equid_cylind_map_jacob()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">ip_equid_cylind_grid_mod</a>
+</li>
+<li>equid_cylind_vect_rot()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">ip_equid_cylind_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_f"></a>- f -</h3><ul>
+<li>field_pos()
+: <a class="el" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">ip_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>gaussian_grid_area()
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">ip_gaussian_grid_mod</a>
+</li>
+<li>gaussian_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">ip_grid_mod</a>
+</li>
+<li>gaussian_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">ip_grid_mod</a>
+</li>
+<li>gaussian_map_jacob()
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">ip_gaussian_grid_mod</a>
+</li>
+<li>gaussian_vect_rot()
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">ip_gaussian_grid_mod</a>
+</li>
+<li>gdswzd_1d_array()
+: <a class="el" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_mod</a>
+</li>
+<li>gdswzd_2d_array()
+: <a class="el" href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">gdswzd_mod</a>
+</li>
+<li>gdswzd_2d_array_grib1()
+: <a class="el" href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">gdswzd_mod</a>
+</li>
+<li>gdswzd_c()
+: <a class="el" href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">gdswzd_c_mod</a>
+</li>
+<li>gdswzd_c_grib1()
+: <a class="el" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">gdswzd_c_mod</a>
+</li>
+<li>gdswzd_equid_cylind()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">ip_equid_cylind_grid_mod</a>
+</li>
+<li>gdswzd_gaussian()
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">ip_gaussian_grid_mod</a>
+</li>
+<li>gdswzd_grib1()
+: <a class="el" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">gdswzd_mod</a>
+</li>
+<li>gdswzd_grid()
+: <a class="el" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_mod</a>
+</li>
+<li>gdswzd_lambert_conf()
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">ip_lambert_conf_grid_mod</a>
+</li>
+<li>gdswzd_mercator()
+: <a class="el" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">ip_mercator_grid_mod</a>
+</li>
+<li>gdswzd_polar_stereo()
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">ip_polar_stereo_grid_mod</a>
+</li>
+<li>gdswzd_rot_equid_cylind()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>gdswzd_rot_equid_cylind_egrid()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>gdswzd_scalar()
+: <a class="el" href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">gdswzd_mod</a>
+</li>
+<li>gdswzd_station_points()
+: <a class="el" href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">ip_station_points_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_h"></a>- h -</h3><ul>
+<li>h
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">ip_polar_stereo_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>init_grib1()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">ip_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">ip_gaussian_grid_mod</a>
+, <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">ip_mercator_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">ip_polar_stereo_grid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">ip_rot_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">ip_station_points_grid_mod</a>
+</li>
+<li>init_grib1_descriptor()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">ip_grid_descriptor_mod</a>
+</li>
+<li>init_grib2()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">ip_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">ip_gaussian_grid_mod</a>
+, <a class="el" href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">ip_mercator_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">ip_polar_stereo_grid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">ip_rot_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">ip_station_points_grid_mod</a>
+</li>
+<li>init_grib2_descriptor()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">ip_grid_descriptor_mod</a>
+</li>
+<li>init_grid_generic()
+: <a class="el" href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">ip_grid_factory_mod</a>
+</li>
+<li>init_grid_grib1()
+: <a class="el" href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">ip_grid_factory_mod</a>
+</li>
+<li>init_grid_grib2()
+: <a class="el" href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">ip_grid_factory_mod</a>
+</li>
+<li>interpolate_bicubic_scalar()
+: <a class="el" href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">bicubic_interp_mod</a>
+</li>
+<li>interpolate_bicubic_vector()
+: <a class="el" href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">bicubic_interp_mod</a>
+</li>
+<li>interpolate_bilinear_scalar()
+: <a class="el" href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">bilinear_interp_mod</a>
+</li>
+<li>interpolate_bilinear_vector()
+: <a class="el" href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">bilinear_interp_mod</a>
+</li>
+<li>interpolate_budget_scalar()
+: <a class="el" href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">budget_interp_mod</a>
+</li>
+<li>interpolate_budget_vector()
+: <a class="el" href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">budget_interp_mod</a>
+</li>
+<li>interpolate_neighbor_budget_scalar()
+: <a class="el" href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">neighbor_budget_interp_mod</a>
+</li>
+<li>interpolate_neighbor_budget_vector()
+: <a class="el" href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">neighbor_budget_interp_mod</a>
+</li>
+<li>interpolate_neighbor_scalar()
+: <a class="el" href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">neighbor_interp_mod</a>
+</li>
+<li>interpolate_neighbor_vector()
+: <a class="el" href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">neighbor_interp_mod</a>
+</li>
+<li>interpolate_spectral_scalar()
+: <a class="el" href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">spectral_interp_mod</a>
+</li>
+<li>interpolate_spectral_vector()
+: <a class="el" href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">spectral_interp_mod</a>
+</li>
+<li>ipolates_grib1()
+: <a class="el" href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">ipolates_mod</a>
+</li>
+<li>ipolates_grib1_single_field()
+: <a class="el" href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">ipolates_mod</a>
+</li>
+<li>ipolates_grib2()
+: <a class="el" href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">ipolates_mod</a>
+</li>
+<li>ipolates_grib2_single_field()
+: <a class="el" href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">ipolates_mod</a>
+</li>
+<li>ipolates_grid()
+: <a class="el" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_mod</a>
+</li>
+<li>ipolatev_grib1()
+: <a class="el" href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">ipolatev_mod</a>
+</li>
+<li>ipolatev_grib1_single_field()
+: <a class="el" href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">ipolatev_mod</a>
+</li>
+<li>ipolatev_grib2()
+: <a class="el" href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">ipolatev_mod</a>
+</li>
+<li>ipolatev_grib2_single_field()
+: <a class="el" href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">ipolatev_mod</a>
+</li>
+<li>ipolatev_grid()
+: <a class="el" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_mod</a>
+</li>
+<li>irot
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">ip_polar_stereo_grid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>is_same_grid()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">ip_grid_descriptor_mod</a>
+, <a class="el" href="namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045">ip_grid_mod</a>
+</li>
+<li>is_same_grid_grib1()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">ip_grid_descriptor_mod</a>
+</li>
+<li>is_same_grid_grib2()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">ip_grid_descriptor_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_j"></a>- j -</h3><ul>
+<li>j1
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">ip_gaussian_grid_mod</a>
+</li>
+<li>jh
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">ip_gaussian_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_k"></a>- k -</h3><ul>
+<li>kd
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">ip_rot_equid_cylind_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_l"></a>- l -</h3><ul>
+<li>lambert_conf_grid_area()
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">ip_lambert_conf_grid_mod</a>
+</li>
+<li>lambert_conf_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">ip_grid_mod</a>
+</li>
+<li>lambert_conf_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">ip_grid_mod</a>
+</li>
+<li>lambert_conf_map_jacob()
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">ip_lambert_conf_grid_mod</a>
+</li>
+<li>lambert_conf_vect_rot()
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">ip_lambert_conf_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_m"></a>- m -</h3><ul>
+<li>mercator_grid_area()
+: <a class="el" href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">ip_mercator_grid_mod</a>
+</li>
+<li>mercator_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">ip_grid_mod</a>
+</li>
+<li>mercator_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">ip_grid_mod</a>
+</li>
+<li>mercator_map_jacob()
+: <a class="el" href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">ip_mercator_grid_mod</a>
+</li>
+<li>mercator_vect_rot()
+: <a class="el" href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">ip_mercator_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>neighbor_budget_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">ip_interpolators_mod</a>
+</li>
+<li>neighbor_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">ip_interpolators_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_o"></a>- o -</h3><ul>
+<li>orient
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">ip_polar_stereo_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_p"></a>- p -</h3><ul>
+<li>pi
+: <a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">ip_constants_mod</a>
+</li>
+<li>pi2
+: <a class="el" href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">ip_constants_mod</a>
+</li>
+<li>pi4
+: <a class="el" href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">ip_constants_mod</a>
+</li>
+<li>polar_stereo_grid_area()
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">ip_polar_stereo_grid_mod</a>
+</li>
+<li>polar_stereo_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">ip_grid_mod</a>
+</li>
+<li>polar_stereo_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">ip_grid_mod</a>
+</li>
+<li>polar_stereo_map_jacob()
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">ip_polar_stereo_grid_mod</a>
+</li>
+<li>polar_stereo_vect_rot()
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">ip_polar_stereo_grid_mod</a>
+</li>
+<li>polates4_grib1()
+: <a class="el" href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">spectral_interp_mod</a>
+</li>
+<li>polates4_grib2()
+: <a class="el" href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">spectral_interp_mod</a>
+</li>
+<li>polatev4_grib1()
+: <a class="el" href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">spectral_interp_mod</a>
+</li>
+<li>polatev4_grib2()
+: <a class="el" href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">spectral_interp_mod</a>
+</li>
+<li>polfixs()
+: <a class="el" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfix_mod</a>
+</li>
+<li>polfixv()
+: <a class="el" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfix_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>rerth
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">ip_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">ip_gaussian_grid_mod</a>
+, <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">ip_mercator_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">ip_polar_stereo_grid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rerth_wgs84
+: <a class="el" href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">ip_constants_mod</a>
+</li>
+<li>rlon0
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rot_equid_cylind_b_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">ip_grid_mod</a>
+</li>
+<li>rot_equid_cylind_e_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">ip_grid_mod</a>
+</li>
+<li>rot_equid_cylind_egrid_error()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>rot_equid_cylind_egrid_grid_area()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>rot_equid_cylind_egrid_map_jacob()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>rot_equid_cylind_egrid_vect_rot()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>rot_equid_cylind_error()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rot_equid_cylind_grid_area()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rot_equid_cylind_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">ip_grid_mod</a>
+</li>
+<li>rot_equid_cylind_map_jacob()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rot_equid_cylind_vect_rot()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">ip_rot_equid_cylind_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>slat
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>slat0
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>slatr
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>spectral_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">ip_interpolators_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_y"></a>- y -</h3><ul>
+<li>ylat_row
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ip_gaussian_grid_mod</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacemembers_func.html b/ver-4.4.0/namespacemembers_func.html
new file mode 100644
index 00000000..cf4c8b94
--- /dev/null
+++ b/ver-4.4.0/namespacemembers_func.html
@@ -0,0 +1,378 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Module Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacemembers_func.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_e"></a>- e -</h3><ul>
+<li>earth_radius()
+: <a class="el" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius_mod</a>
+</li>
+<li>equid_cylind_grid_area()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2">ip_equid_cylind_grid_mod</a>
+</li>
+<li>equid_cylind_map_jacob()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd">ip_equid_cylind_grid_mod</a>
+</li>
+<li>equid_cylind_vect_rot()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d">ip_equid_cylind_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_f"></a>- f -</h3><ul>
+<li>field_pos()
+: <a class="el" href="namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442">ip_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>gaussian_grid_area()
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780">ip_gaussian_grid_mod</a>
+</li>
+<li>gaussian_map_jacob()
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d">ip_gaussian_grid_mod</a>
+</li>
+<li>gaussian_vect_rot()
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad">ip_gaussian_grid_mod</a>
+</li>
+<li>gdswzd_1d_array()
+: <a class="el" href="namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76">gdswzd_mod</a>
+</li>
+<li>gdswzd_2d_array()
+: <a class="el" href="namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25">gdswzd_mod</a>
+</li>
+<li>gdswzd_2d_array_grib1()
+: <a class="el" href="namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4">gdswzd_mod</a>
+</li>
+<li>gdswzd_c()
+: <a class="el" href="namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4">gdswzd_c_mod</a>
+</li>
+<li>gdswzd_c_grib1()
+: <a class="el" href="namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504">gdswzd_c_mod</a>
+</li>
+<li>gdswzd_equid_cylind()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">ip_equid_cylind_grid_mod</a>
+</li>
+<li>gdswzd_gaussian()
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">ip_gaussian_grid_mod</a>
+</li>
+<li>gdswzd_grib1()
+: <a class="el" href="namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37">gdswzd_mod</a>
+</li>
+<li>gdswzd_grid()
+: <a class="el" href="namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45">gdswzd_mod</a>
+</li>
+<li>gdswzd_lambert_conf()
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">ip_lambert_conf_grid_mod</a>
+</li>
+<li>gdswzd_mercator()
+: <a class="el" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">ip_mercator_grid_mod</a>
+</li>
+<li>gdswzd_polar_stereo()
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">ip_polar_stereo_grid_mod</a>
+</li>
+<li>gdswzd_rot_equid_cylind()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>gdswzd_rot_equid_cylind_egrid()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>gdswzd_scalar()
+: <a class="el" href="namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861">gdswzd_mod</a>
+</li>
+<li>gdswzd_station_points()
+: <a class="el" href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">ip_station_points_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>init_grib1()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477">ip_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01">ip_gaussian_grid_mod</a>
+, <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d">ip_mercator_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f">ip_polar_stereo_grid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee">ip_rot_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff">ip_station_points_grid_mod</a>
+</li>
+<li>init_grib1_descriptor()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98">ip_grid_descriptor_mod</a>
+</li>
+<li>init_grib2()
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a">ip_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2">ip_gaussian_grid_mod</a>
+, <a class="el" href="namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82">ip_mercator_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7">ip_polar_stereo_grid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d">ip_rot_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d">ip_station_points_grid_mod</a>
+</li>
+<li>init_grib2_descriptor()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451">ip_grid_descriptor_mod</a>
+</li>
+<li>init_grid_generic()
+: <a class="el" href="namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46">ip_grid_factory_mod</a>
+</li>
+<li>init_grid_grib1()
+: <a class="el" href="namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5">ip_grid_factory_mod</a>
+</li>
+<li>init_grid_grib2()
+: <a class="el" href="namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225">ip_grid_factory_mod</a>
+</li>
+<li>interpolate_bicubic_scalar()
+: <a class="el" href="namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1">bicubic_interp_mod</a>
+</li>
+<li>interpolate_bicubic_vector()
+: <a class="el" href="namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16">bicubic_interp_mod</a>
+</li>
+<li>interpolate_bilinear_scalar()
+: <a class="el" href="namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398">bilinear_interp_mod</a>
+</li>
+<li>interpolate_bilinear_vector()
+: <a class="el" href="namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04">bilinear_interp_mod</a>
+</li>
+<li>interpolate_budget_scalar()
+: <a class="el" href="namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466">budget_interp_mod</a>
+</li>
+<li>interpolate_budget_vector()
+: <a class="el" href="namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803">budget_interp_mod</a>
+</li>
+<li>interpolate_neighbor_budget_scalar()
+: <a class="el" href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">neighbor_budget_interp_mod</a>
+</li>
+<li>interpolate_neighbor_budget_vector()
+: <a class="el" href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">neighbor_budget_interp_mod</a>
+</li>
+<li>interpolate_neighbor_scalar()
+: <a class="el" href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">neighbor_interp_mod</a>
+</li>
+<li>interpolate_neighbor_vector()
+: <a class="el" href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">neighbor_interp_mod</a>
+</li>
+<li>interpolate_spectral_scalar()
+: <a class="el" href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">spectral_interp_mod</a>
+</li>
+<li>interpolate_spectral_vector()
+: <a class="el" href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">spectral_interp_mod</a>
+</li>
+<li>ipolates_grib1()
+: <a class="el" href="namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269">ipolates_mod</a>
+</li>
+<li>ipolates_grib1_single_field()
+: <a class="el" href="namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d">ipolates_mod</a>
+</li>
+<li>ipolates_grib2()
+: <a class="el" href="namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac">ipolates_mod</a>
+</li>
+<li>ipolates_grib2_single_field()
+: <a class="el" href="namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856">ipolates_mod</a>
+</li>
+<li>ipolates_grid()
+: <a class="el" href="namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104">ipolates_mod</a>
+</li>
+<li>ipolatev_grib1()
+: <a class="el" href="namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f">ipolatev_mod</a>
+</li>
+<li>ipolatev_grib1_single_field()
+: <a class="el" href="namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58">ipolatev_mod</a>
+</li>
+<li>ipolatev_grib2()
+: <a class="el" href="namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272">ipolatev_mod</a>
+</li>
+<li>ipolatev_grib2_single_field()
+: <a class="el" href="namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7">ipolatev_mod</a>
+</li>
+<li>ipolatev_grid()
+: <a class="el" href="namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1">ipolatev_mod</a>
+</li>
+<li>is_same_grid()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec">ip_grid_descriptor_mod</a>
+, <a class="el" href="namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045">ip_grid_mod</a>
+</li>
+<li>is_same_grid_grib1()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019">ip_grid_descriptor_mod</a>
+</li>
+<li>is_same_grid_grib2()
+: <a class="el" href="namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988">ip_grid_descriptor_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_l"></a>- l -</h3><ul>
+<li>lambert_conf_grid_area()
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c">ip_lambert_conf_grid_mod</a>
+</li>
+<li>lambert_conf_map_jacob()
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae">ip_lambert_conf_grid_mod</a>
+</li>
+<li>lambert_conf_vect_rot()
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71">ip_lambert_conf_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_m"></a>- m -</h3><ul>
+<li>mercator_grid_area()
+: <a class="el" href="namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd">ip_mercator_grid_mod</a>
+</li>
+<li>mercator_map_jacob()
+: <a class="el" href="namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a">ip_mercator_grid_mod</a>
+</li>
+<li>mercator_vect_rot()
+: <a class="el" href="namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17">ip_mercator_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_p"></a>- p -</h3><ul>
+<li>polar_stereo_grid_area()
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2">ip_polar_stereo_grid_mod</a>
+</li>
+<li>polar_stereo_map_jacob()
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223">ip_polar_stereo_grid_mod</a>
+</li>
+<li>polar_stereo_vect_rot()
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462">ip_polar_stereo_grid_mod</a>
+</li>
+<li>polates4_grib1()
+: <a class="el" href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">spectral_interp_mod</a>
+</li>
+<li>polates4_grib2()
+: <a class="el" href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">spectral_interp_mod</a>
+</li>
+<li>polatev4_grib1()
+: <a class="el" href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">spectral_interp_mod</a>
+</li>
+<li>polatev4_grib2()
+: <a class="el" href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">spectral_interp_mod</a>
+</li>
+<li>polfixs()
+: <a class="el" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfix_mod</a>
+</li>
+<li>polfixv()
+: <a class="el" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfix_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>rot_equid_cylind_egrid_error()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>rot_equid_cylind_egrid_grid_area()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>rot_equid_cylind_egrid_map_jacob()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>rot_equid_cylind_egrid_vect_rot()
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>rot_equid_cylind_error()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rot_equid_cylind_grid_area()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rot_equid_cylind_map_jacob()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rot_equid_cylind_vect_rot()
+: <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10">ip_rot_equid_cylind_grid_mod</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacemembers_vars.html b/ver-4.4.0/namespacemembers_vars.html
new file mode 100644
index 00000000..cde6b34d
--- /dev/null
+++ b/ver-4.4.0/namespacemembers_vars.html
@@ -0,0 +1,342 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Module Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacemembers_vars.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_a"></a>- a -</h3><ul>
+<li>an
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8">ip_lambert_conf_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_b"></a>- b -</h3><ul>
+<li>bicubic_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e">ip_interpolators_mod</a>
+</li>
+<li>bilinear_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1">ip_interpolators_mod</a>
+</li>
+<li>blat
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc">ip_gaussian_grid_mod</a>
+</li>
+<li>budget_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359">ip_interpolators_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>clat
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>clat0
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>clatr
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>clon
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_d"></a>- d -</h3><ul>
+<li>de2
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962">ip_polar_stereo_grid_mod</a>
+</li>
+<li>dlat
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb">ip_equid_cylind_grid_mod</a>
+</li>
+<li>dlats
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>dlon
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f">ip_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d">ip_gaussian_grid_mod</a>
+, <a class="el" href="namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f">ip_mercator_grid_mod</a>
+</li>
+<li>dlons
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>dphi
+: <a class="el" href="namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732">ip_mercator_grid_mod</a>
+</li>
+<li>dpr
+: <a class="el" href="namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011">ip_constants_mod</a>
+</li>
+<li>dxs
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354">ip_polar_stereo_grid_mod</a>
+</li>
+<li>dys
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f">ip_polar_stereo_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_e"></a>- e -</h3><ul>
+<li>e2
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b">ip_polar_stereo_grid_mod</a>
+</li>
+<li>e2_wgs84
+: <a class="el" href="namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545">ip_constants_mod</a>
+</li>
+<li>equid_cylind_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb">ip_grid_mod</a>
+</li>
+<li>equid_cylind_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6">ip_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>gaussian_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3">ip_grid_mod</a>
+</li>
+<li>gaussian_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316">ip_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_h"></a>- h -</h3><ul>
+<li>h
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645">ip_polar_stereo_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>irot
+: <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c">ip_polar_stereo_grid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1">ip_rot_equid_cylind_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_j"></a>- j -</h3><ul>
+<li>j1
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a">ip_gaussian_grid_mod</a>
+</li>
+<li>jh
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028">ip_gaussian_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_k"></a>- k -</h3><ul>
+<li>kd
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">ip_rot_equid_cylind_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_l"></a>- l -</h3><ul>
+<li>lambert_conf_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16">ip_grid_mod</a>
+</li>
+<li>lambert_conf_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe">ip_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_m"></a>- m -</h3><ul>
+<li>mercator_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682">ip_grid_mod</a>
+</li>
+<li>mercator_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856">ip_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>neighbor_budget_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c">ip_interpolators_mod</a>
+</li>
+<li>neighbor_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258">ip_interpolators_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_o"></a>- o -</h3><ul>
+<li>orient
+: <a class="el" href="namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18">ip_polar_stereo_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_p"></a>- p -</h3><ul>
+<li>pi
+: <a class="el" href="namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4">ip_constants_mod</a>
+</li>
+<li>pi2
+: <a class="el" href="namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5">ip_constants_mod</a>
+</li>
+<li>pi4
+: <a class="el" href="namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15">ip_constants_mod</a>
+</li>
+<li>polar_stereo_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1">ip_grid_mod</a>
+</li>
+<li>polar_stereo_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3">ip_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>rerth
+: <a class="el" href="namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c">ip_equid_cylind_grid_mod</a>
+, <a class="el" href="namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2">ip_gaussian_grid_mod</a>
+, <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d">ip_lambert_conf_grid_mod</a>
+, <a class="el" href="namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419">ip_mercator_grid_mod</a>
+, <a class="el" href="namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5">ip_polar_stereo_grid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rerth_wgs84
+: <a class="el" href="namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb">ip_constants_mod</a>
+</li>
+<li>rlon0
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>rot_equid_cylind_b_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14">ip_grid_mod</a>
+</li>
+<li>rot_equid_cylind_e_grid_id_grib1
+: <a class="el" href="namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c">ip_grid_mod</a>
+</li>
+<li>rot_equid_cylind_grid_id_grib2
+: <a class="el" href="namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a">ip_grid_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>slat
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>slat0
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d">ip_rot_equid_cylind_egrid_mod</a>
+, <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1">ip_rot_equid_cylind_grid_mod</a>
+</li>
+<li>slatr
+: <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900">ip_rot_equid_cylind_egrid_mod</a>
+</li>
+<li>spectral_interp_id
+: <a class="el" href="namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851">ip_interpolators_mod</a>
+</li>
+</ul>
+
+
+<h3><a id="index_y"></a>- y -</h3><ul>
+<li>ylat_row
+: <a class="el" href="namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc">ip_gaussian_grid_mod</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceneighbor__budget__interp__mod.html b/ver-4.4.0/namespaceneighbor__budget__interp__mod.html
new file mode 100644
index 00000000..ddbfd79a
--- /dev/null
+++ b/ver-4.4.0/namespaceneighbor__budget__interp__mod.html
@@ -0,0 +1,532 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: neighbor_budget_interp_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceneighbor__budget__interp__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">neighbor_budget_interp_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Interpolate scalar fields (neighbor).  
+<a href="namespaceneighbor__budget__interp__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html">interpolate_neighbor_budget</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a6d5110a9e9facf8c3132ec27d6857817"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">interpolate_neighbor_budget_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a6d5110a9e9facf8c3132ec27d6857817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (budget).  <a href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">More...</a><br /></td></tr>
+<tr class="separator:a6d5110a9e9facf8c3132ec27d6857817"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4309c1e6b7fc60ded40657fe6c72297e"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">interpolate_neighbor_budget_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a4309c1e6b7fc60ded40657fe6c72297e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (budget).  <a href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">More...</a><br /></td></tr>
+<tr class="separator:a4309c1e6b7fc60ded40657fe6c72297e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interpolate scalar fields (neighbor). </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a6d5110a9e9facf8c3132ec27d6857817"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d5110a9e9facf8c3132ec27d6857817">&#9670;&nbsp;</a></span>interpolate_neighbor_budget_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine neighbor_budget_interp_mod::interpolate_neighbor_budget_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate scalar fields (budget). </p>
+<p>This subprogram performs budget interpolation from any grid to any grid for scalar fields.</p>
+<p>The algorithm simply computes (weighted) averages of neighbor points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points.</p>
+<p>Options allow choices of number of points in each radius from the center point (ipopt(1)) which defaults to 2 (if ipopt(1)=-1) meaning that 25 points will be averaged; further options are the respective weights for the radius points starting at the center point (ipopt(2:2+ipopt(1)) which defaults to all 1 (if ipopt(1)=-1 or ipopt(2)=-1).</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(3+ipopt(1)) which defaults to 50 (if -1).</p>
+<p>Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. Input bitmaps will be interpolated to output bitmaps. Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<h3><a class="anchor" id="autotoc_md38"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">96-10-04   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">neighbor points not bilinear interpolation    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">1999-04-08   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">split ijkgds into two pieces    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">include minimum mask percentage option    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz with new merged version of gdswzd.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace grib 1 kgds arrays with grib 2 grid definition template arrays.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2023-05-04   </td><td class="markdownTableBodyNone">Engle   </td><td class="markdownTableBodyNone">allow calls to GDSWZD for station points   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1) is number of radius points (defaults to 2 if ipopt(1)=-1); ipopt(2:2+ipopt(1)) are respective weights (defaults to all 1 if ipopt(1)=-1 or ipopt(2)=-1). ipopt(3+ipopt(1)) is minimum percentage for mask (defaults to 50 if ipopt(3+ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>The input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>The output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>(mi,km) input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>(mi,km) input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>(mo,km) output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>31 invalid undefined output grid</li>
+<li>32 invalid budget method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="neighbor__budget__interp__mod_8F90_source.html#l00107">107</a> of file <a class="el" href="neighbor__budget__interp__mod_8F90_source.html">neighbor_budget_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a4309c1e6b7fc60ded40657fe6c72297e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4309c1e6b7fc60ded40657fe6c72297e">&#9670;&nbsp;</a></span>interpolate_neighbor_budget_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine neighbor_budget_interp_mod::interpolate_neighbor_budget_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate vector fields (budget). </p>
+<p>This subprogram performs budget interpolation from any grid to any grid for vector fields.</p>
+<p>The algorithm simply computes (weighted) averages of neighbor points arranged in a square box centered around each output grid point and stretching nearly halfway to each of the neighboring grid points.</p>
+<p>Options allow choices of number of points in each radius from the center point (ipopt(1)) which defaults to 2 (if ipopt(1)=-1) meaning that 25 points will be averaged; further options are the respective weights for the radius points starting at the center point (ipopt(2:2+ipopt(1)) which defaults to all 1 (if ipopt(1)=-1 or ipopt(2)=-1).</p>
+<p>Another option is the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(3+ipopt(1)) which defaults to 50 (if -1).</p>
+<p>Only horizontal interpolation is performed.</p>
+<p>The input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library. the code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. Input bitmaps will be interpolated to output bitmaps.</p>
+<p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<h3><a class="anchor" id="autotoc_md39"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1999-04-08   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">split ijkgds into two pieces    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">include minimum mask percentage option    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2002-01-17   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">save data from last call for optimization    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz with new merged routine gdswzd.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace grib 1 kgds arrays with grib 2 grid definition template arrays.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2023-05-04   </td><td class="markdownTableBodyNone">Engle   </td><td class="markdownTableBodyNone">allow calls to GDSWZD for station points   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1) is number of radius points (defaults to 2 if ipopt(1)=-1); ipopt(2:2+ipopt(1)) are respective weights (defaults to all 1 if ipopt(1)=-1 or ipopt(2)=-1). ipopt(3+ipopt(1)) is minimum percentage for mask (defaults to 50 if ipopt(3+ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>The input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>The output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>(mi,km) input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>(mi,km) input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>(mi,km) input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>(mo) vector rotation cosines </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>(mo) vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>(mo,km) output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>(mo,km) output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>31 invalid undefined output grid</li>
+<li>32 invalid budget method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 <br  />
+ </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="neighbor__budget__interp__mod_8F90_source.html#l00351">351</a> of file <a class="el" href="neighbor__budget__interp__mod_8F90_source.html">neighbor_budget_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceneighbor__budget__interp__mod.html">neighbor_budget_interp_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceneighbor__budget__interp__mod.js b/ver-4.4.0/namespaceneighbor__budget__interp__mod.js
new file mode 100644
index 00000000..86fa793e
--- /dev/null
+++ b/ver-4.4.0/namespaceneighbor__budget__interp__mod.js
@@ -0,0 +1,6 @@
+var namespaceneighbor__budget__interp__mod =
+[
+    [ "interpolate_neighbor_budget", "interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html", "interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget" ],
+    [ "interpolate_neighbor_budget_scalar", "namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817", null ],
+    [ "interpolate_neighbor_budget_vector", "namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespaceneighbor__interp__mod.html b/ver-4.4.0/namespaceneighbor__interp__mod.html
new file mode 100644
index 00000000..c31d3b14
--- /dev/null
+++ b/ver-4.4.0/namespaceneighbor__interp__mod.html
@@ -0,0 +1,511 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: neighbor_interp_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaceneighbor__interp__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">neighbor_interp_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Interpolate scalar fields (neighbor).  
+<a href="namespaceneighbor__interp__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html">interpolate_neighbor</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a78452d1527c6974ad54091f0318e4b1f"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">interpolate_neighbor_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a78452d1527c6974ad54091f0318e4b1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (neighbor).  <a href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">More...</a><br /></td></tr>
+<tr class="separator:a78452d1527c6974ad54091f0318e4b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a744ccffd8cd6c13d360e634db4851756"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">interpolate_neighbor_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a744ccffd8cd6c13d360e634db4851756"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (neighbor).  <a href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">More...</a><br /></td></tr>
+<tr class="separator:a744ccffd8cd6c13d360e634db4851756"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interpolate scalar fields (neighbor). </p>
+<h3><a class="anchor" id="autotoc_md40"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">1999-04-08   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">split ijkgds into two pieces    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">include spiral search option    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2006-01-04   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">minor bug fix    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2007-10-30   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">save weights and thread for performance    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2012-06-26   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">fix out-of-bounds error. see nceplibs ticket #9.    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz() with new merged version of <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace grib 1 kgds arrays with grib 2 grid definition template arrays.   </td></tr>
+</table>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a78452d1527c6974ad54091f0318e4b1f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78452d1527c6974ad54091f0318e4b1f">&#9670;&nbsp;</a></span>interpolate_neighbor_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine neighbor_interp_mod::interpolate_neighbor_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate scalar fields (neighbor). </p>
+<p>This subprogram performs neighbor interpolation from any grid to any grid for scalar fields.</p>
+<p>Options allow choosing the width of the grid square (ipopt(1)) to search for valid data, which defaults to 1 (if ipopt(1)=-1). Odd width squares are centered on the nearest input grid point; even width squares are centered on the nearest four input grid points. Squares are searched for valid data in a spiral pattern starting from the center. No searching is done where the output grid is outside the input grid. Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input.</p>
+<p>Input bitmaps will be interpolated to output bitmaps.</p>
+<p>Output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1) is width of square to examine in spiral search (defaults to 1 if ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>The input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>The output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>(mi,km) input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>(mi,km) input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(no) output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(no) output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>(mo,km) output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>23-05-04 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="neighbor__interp__mod_8F90_source.html#l00100">100</a> of file <a class="el" href="neighbor__interp__mod_8F90_source.html">neighbor_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a744ccffd8cd6c13d360e634db4851756"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a744ccffd8cd6c13d360e634db4851756">&#9670;&nbsp;</a></span>interpolate_neighbor_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine neighbor_interp_mod::interpolate_neighbor_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>LI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(inout)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate vector fields (neighbor). </p>
+<p>This subprogram performs neighbor interpolation from any grid to any grid for vector fields.</p>
+<p>Options allow choosing the width of the grid square (ipopt(1)) to search for valid data, which defaults to 1 (IF IPOPT(1)=-1). Odd width squares are centered on the nearest input grid point; even width squares are centered on the nearest four input grid points.</p>
+<p>Squares are searched for valid data in a spiral pattern starting from the center. no searching is done where the output grid is outside the input grid. Only horizontal interpolation is performed.</p>
+<p>The input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library.</p>
+<p>The code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>(igdtnumi/o=00) equidistant cylindrical</li>
+<li>(igdtnumi/o=01) rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>(igdtnumi/o=10) mercator cylindrical</li>
+<li>(igdtnumi/o=20) polar stereographic azimuthal</li>
+<li>(igdtnumi/o=30) lambert conformal conical</li>
+<li>(igdtnumi/o=40) gaussian cylindrical</li>
+</ul>
+<p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid definition sections.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
+<p>Input bitmaps will be interpolated to output bitmaps. output bitmaps will also be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1) is width of square to examine in spiral search (defaults to 1 if ipopt(1)=-1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>The input grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>The output grid. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">li</td><td>(mi,km) input bitmaps (if some ibi(k)=1) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>(mi,km) input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>(mi,km) input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&gt;=0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>(mo) vector rotation cosines (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>(mo) vector rotation sines (if igdtnumo&lt;0) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>(mo,km) output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>(mo,km) output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Eric Engle </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>23-05-04 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="neighbor__interp__mod_8F90_source.html#l00352">352</a> of file <a class="el" href="neighbor__interp__mod_8F90_source.html">neighbor_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceneighbor__interp__mod.html">neighbor_interp_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaceneighbor__interp__mod.js b/ver-4.4.0/namespaceneighbor__interp__mod.js
new file mode 100644
index 00000000..2e4123af
--- /dev/null
+++ b/ver-4.4.0/namespaceneighbor__interp__mod.js
@@ -0,0 +1,6 @@
+var namespaceneighbor__interp__mod =
+[
+    [ "interpolate_neighbor", "interfaceneighbor__interp__mod_1_1interpolate__neighbor.html", "interfaceneighbor__interp__mod_1_1interpolate__neighbor" ],
+    [ "interpolate_neighbor_scalar", "namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f", null ],
+    [ "interpolate_neighbor_vector", "namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespacepolfix__mod.html b/ver-4.4.0/namespacepolfix__mod.html
new file mode 100644
index 00000000..80d69a4f
--- /dev/null
+++ b/ver-4.4.0/namespacepolfix__mod.html
@@ -0,0 +1,290 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: polfix_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacepolfix__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">polfix_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Make multiple pole scalar values consistent.  
+<a href="namespacepolfix__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfixs</a> (NM, NX, KM, RLAT, IB, LO, GO)</td></tr>
+<tr class="memdesc:a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make multiple pole scalar values consistent.  <a href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">More...</a><br /></td></tr>
+<tr class="separator:a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeefc8f045777f6d962d9ec539ef6007d"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfixv</a> (NM, NX, KM, RLAT, RLON, IB, LO, UO, VO)</td></tr>
+<tr class="memdesc:aeefc8f045777f6d962d9ec539ef6007d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make multiple pole vector values consistent,.  <a href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">More...</a><br /></td></tr>
+<tr class="separator:aeefc8f045777f6d962d9ec539ef6007d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Make multiple pole scalar values consistent. </p>
+<dl class="section author"><dt>Author</dt><dd>Iredell, Kyle Gerheiser </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a15df1ba2e1fcad1e9465c4aa3a2ba0d6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">&#9670;&nbsp;</a></span>polfixs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public polfix_mod::polfixs </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nm), intent(in)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(nx,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nx,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>GO</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Make multiple pole scalar values consistent. </p>
+<p>This subprogram averages multiple pole scalar values on a latitude/longitude grid. Bitmaps may be averaged too.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">nm</td><td>integer number of grid points </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">nx</td><td>integer leading dimension of fields </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>integer number of fields </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlat</td><td>real (no) latitudes in degrees </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ib</td><td>integer (km) bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>logical*1 (nx,km) bitmaps (if some ib(k)=1) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>real (nx,km) fields</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="polfix__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="polfix__mod_8F90_source.html">polfix_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="bicubic__interp__mod_8F90_source.html#l00083">bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_scalar()</a>, <a class="el" href="bilinear__interp__mod_8F90_source.html#l00073">bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_scalar()</a>, <a class="el" href="budget__interp__mod_8F90_source.html#l00097">budget_interp_mod::interpolate_budget::interpolate_budget_scalar()</a>, <a class="el" href="neighbor__budget__interp__mod_8F90_source.html#l00110">neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_scalar()</a>, and <a class="el" href="neighbor__interp__mod_8F90_source.html#l00103">neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_scalar()</a>.</p>
+
+</div>
+</div>
+<a id="aeefc8f045777f6d962d9ec539ef6007d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeefc8f045777f6d962d9ec539ef6007d">&#9670;&nbsp;</a></span>polfixv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine, public polfix_mod::polfixv </td>
+          <td>(</td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>NX</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nm), intent(in)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nm), intent(in)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(nx,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nx,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(nx,km), intent(inout)&#160;</td>
+          <td class="paramname"><em>VO</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Make multiple pole vector values consistent,. </p>
+<p>This subprogram averages multiple pole vector values on a latitude/longitude grid. Bitmaps may be averaged too. Vectors are rotated with respect to their longitude.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">nm</td><td>integer number of grid points </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">nx</td><td>integer leading dimension of fields </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>integer number of fields </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlat</td><td>real (nm) latitudes in degrees </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">rlon</td><td>real (nm) longitudes in degrees </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ib</td><td>integer (km) bitmap flags </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">lo</td><td>logical*1 (nx,km) bitmaps (if some ib(k)=1) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">uo</td><td>real (nx,km) u-winds </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">vo</td><td>real (nx,km) v-winds</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="polfix__mod_8F90_source.html#l00124">124</a> of file <a class="el" href="polfix__mod_8F90_source.html">polfix_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="bicubic__interp__mod_8F90_source.html#l00341">bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_vector()</a>, <a class="el" href="bilinear__interp__mod_8F90_source.html#l00332">bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_vector()</a>, <a class="el" href="budget__interp__mod_8F90_source.html#l00426">budget_interp_mod::interpolate_budget::interpolate_budget_vector()</a>, <a class="el" href="neighbor__budget__interp__mod_8F90_source.html#l00354">neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_vector()</a>, and <a class="el" href="neighbor__interp__mod_8F90_source.html#l00355">neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_vector()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacepolfix__mod.html">polfix_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaces.html b/ver-4.4.0/namespaces.html
new file mode 100644
index 00000000..07b3531a
--- /dev/null
+++ b/ver-4.4.0/namespaces.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: Modules List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaces.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Modules List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all documented modules with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacebicubic__interp__mod.html" target="_self">bicubic_interp_mod</a></td><td class="desc">Bicubic interpolation routines for scalars and vectors </td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacebicubic__interp__mod_1_1interpolate__bicubic.html" target="_self">interpolate_bicubic</a></td><td class="desc"></td></tr>
+<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacebilinear__interp__mod.html" target="_self">bilinear_interp_mod</a></td><td class="desc">Bilinear interpolation routines for scalars and vectors </td></tr>
+<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacebilinear__interp__mod_1_1interpolate__bilinear.html" target="_self">interpolate_bilinear</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacebudget__interp__mod.html" target="_self">budget_interp_mod</a></td><td class="desc">Budget interpolation routines for scalars and vectors </td></tr>
+<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacebudget__interp__mod_1_1interpolate__budget.html" target="_self">interpolate_budget</a></td><td class="desc"></td></tr>
+<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceearth__radius__mod.html" target="_self">earth_radius_mod</a></td><td class="desc">Determine earth radius and shape </td></tr>
+<tr id="row_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacegdswzd__c__mod.html" target="_self">gdswzd_c_mod</a></td><td class="desc">Module that contains C wrapper for routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a> </td></tr>
+<tr id="row_5_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacegdswzd__mod.html" target="_self">gdswzd_mod</a></td><td class="desc">Driver module for gdswzd routines </td></tr>
+<tr id="row_5_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacegdswzd__mod_1_1gdswzd.html" target="_self">gdswzd</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__constants__mod.html" target="_self">ip_constants_mod</a></td><td class="desc">Module containing common constants </td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__equid__cylind__grid__mod.html" target="_self">ip_equid_cylind_grid_mod</a></td><td class="desc">Equidistant cylindrical grib decoder and grid coordinate transformations </td></tr>
+<tr id="row_7_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html" target="_self">ip_equid_cylind_grid</a></td><td class="desc"></td></tr>
+<tr id="row_8_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__gaussian__grid__mod.html" target="_self">ip_gaussian_grid_mod</a></td><td class="desc">Gaussian grid coordinate transformations </td></tr>
+<tr id="row_8_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html" target="_self">ip_gaussian_grid</a></td><td class="desc"></td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_9_" class="arrow" onclick="toggleFolder('9_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__grid__descriptor__mod.html" target="_self">ip_grid_descriptor_mod</a></td><td class="desc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions </td></tr>
+<tr id="row_9_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html" target="_self">grib1_descriptor</a></td><td class="desc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array </td></tr>
+<tr id="row_9_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html" target="_self">grib2_descriptor</a></td><td class="desc">Grib-2 descriptor containing a grib2 GDT represented by an integer array </td></tr>
+<tr id="row_9_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html" target="_self">init_descriptor</a></td><td class="desc"></td></tr>
+<tr id="row_9_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" target="_self">ip_grid_descriptor</a></td><td class="desc">Abstract descriptor object which represents a grib1 or grib2 descriptor </td></tr>
+<tr id="row_9_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html" target="_self">operator(==)</a></td><td class="desc"></td></tr>
+<tr id="row_10_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__grid__factory__mod.html" target="_self">ip_grid_factory_mod</a></td><td class="desc">Routines for creating an ip_grid given a Grib descriptor </td></tr>
+<tr id="row_10_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__factory__mod_1_1init__grid.html" target="_self">init_grid</a></td><td class="desc"></td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_11_" class="arrow" onclick="toggleFolder('11_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__grid__mod.html" target="_self">ip_grid_mod</a></td><td class="desc">Abstract <a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a> type </td></tr>
+<tr id="row_11_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html" target="_self">gdswzd_interface</a></td><td class="desc"></td></tr>
+<tr id="row_11_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html" target="_self">init_grib1_interface</a></td><td class="desc"></td></tr>
+<tr id="row_11_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html" target="_self">init_grib2_interface</a></td><td class="desc"></td></tr>
+<tr id="row_11_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__grid__mod_1_1ip__grid.html" target="_self">ip_grid</a></td><td class="desc">Abstract grid that holds fields and methods common to all grids </td></tr>
+<tr id="row_11_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceip__grid__mod_1_1operator_07_0a_0a_08.html" target="_self">operator(==)</a></td><td class="desc">Check equality </td></tr>
+<tr id="row_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__grids__mod.html" target="_self">ip_grids_mod</a></td><td class="desc">Re-export the individual grids </td></tr>
+<tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__interpolators__mod.html" target="_self">ip_interpolators_mod</a></td><td class="desc">Top-level module to export interpolation routines and constants </td></tr>
+<tr id="row_14_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_14_" class="arrow" onclick="toggleFolder('14_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__lambert__conf__grid__mod.html" target="_self">ip_lambert_conf_grid_mod</a></td><td class="desc">Lambert conformal grib decoder and grid coordinate transformations </td></tr>
+<tr id="row_14_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html" target="_self">ip_lambert_conf_grid</a></td><td class="desc"></td></tr>
+<tr id="row_15_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_15_" class="arrow" onclick="toggleFolder('15_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__mercator__grid__mod.html" target="_self">ip_mercator_grid_mod</a></td><td class="desc">GDS wizard for mercator cylindrical </td></tr>
+<tr id="row_15_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html" target="_self">ip_mercator_grid</a></td><td class="desc"></td></tr>
+<tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__mod.html" target="_self">ip_mod</a></td><td class="desc">Top-level module for the ip library which re-exports public routines such as ipolates, ipolatev, and gdswzd </td></tr>
+<tr id="row_17_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_17_" class="arrow" onclick="toggleFolder('17_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__polar__stereo__grid__mod.html" target="_self">ip_polar_stereo_grid_mod</a></td><td class="desc">GDS wizard for polar stereographic azimuthal </td></tr>
+<tr id="row_17_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html" target="_self">ip_polar_stereo_grid</a></td><td class="desc"></td></tr>
+<tr id="row_18_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_18_" class="arrow" onclick="toggleFolder('18_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html" target="_self">ip_rot_equid_cylind_egrid_mod</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grid E </td></tr>
+<tr id="row_18_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html" target="_self">ip_rot_equid_cylind_egrid</a></td><td class="desc"></td></tr>
+<tr id="row_19_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_19_" class="arrow" onclick="toggleFolder('19_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html" target="_self">ip_rot_equid_cylind_grid_mod</a></td><td class="desc">Rotated equidistant cylindrical GRIB decoder and grid coordinate transformations for Arakawa grids A through D </td></tr>
+<tr id="row_19_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html" target="_self">ip_rot_equid_cylind_grid</a></td><td class="desc"></td></tr>
+<tr id="row_20_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_20_" class="arrow" onclick="toggleFolder('20_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceip__station__points__grid__mod.html" target="_self">ip_station_points_grid_mod</a></td><td class="desc">Interpolate gridded data to a series of station points </td></tr>
+<tr id="row_20_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html" target="_self">ip_station_points_grid</a></td><td class="desc"></td></tr>
+<tr id="row_21_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_21_" class="arrow" onclick="toggleFolder('21_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceipolates__mod.html" target="_self">ipolates_mod</a></td><td class="desc">Top-level driver for scalar interpolation interpolation routine ipolates() </td></tr>
+<tr id="row_21_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceipolates__mod_1_1ipolates.html" target="_self">ipolates</a></td><td class="desc"></td></tr>
+<tr id="row_22_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_22_" class="arrow" onclick="toggleFolder('22_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceipolatev__mod.html" target="_self">ipolatev_mod</a></td><td class="desc">Top-level driver for vector interpolation interpolation routine ipolatev() </td></tr>
+<tr id="row_22_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceipolatev__mod_1_1ipolatev.html" target="_self">ipolatev</a></td><td class="desc"></td></tr>
+<tr id="row_23_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_23_" class="arrow" onclick="toggleFolder('23_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceneighbor__budget__interp__mod.html" target="_self">neighbor_budget_interp_mod</a></td><td class="desc">Interpolate scalar fields (neighbor) </td></tr>
+<tr id="row_23_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html" target="_self">interpolate_neighbor_budget</a></td><td class="desc"></td></tr>
+<tr id="row_24_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_24_" class="arrow" onclick="toggleFolder('24_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceneighbor__interp__mod.html" target="_self">neighbor_interp_mod</a></td><td class="desc">Interpolate scalar fields (neighbor) </td></tr>
+<tr id="row_24_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html" target="_self">interpolate_neighbor</a></td><td class="desc"></td></tr>
+<tr id="row_25_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacepolfix__mod.html" target="_self">polfix_mod</a></td><td class="desc">Make multiple pole scalar values consistent </td></tr>
+<tr id="row_26_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_26_" class="arrow" onclick="toggleFolder('26_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacespectral__interp__mod.html" target="_self">spectral_interp_mod</a></td><td class="desc">Interpolate spectral </td></tr>
+<tr id="row_26_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html" target="_self">interpolate_spectral</a></td><td class="desc"></td></tr>
+<tr id="row_26_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacespectral__interp__mod_1_1polates4.html" target="_self">polates4</a></td><td class="desc"></td></tr>
+<tr id="row_26_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interfacespectral__interp__mod_1_1polatev4.html" target="_self">polatev4</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespaces_dup.js b/ver-4.4.0/namespaces_dup.js
new file mode 100644
index 00000000..703939f4
--- /dev/null
+++ b/ver-4.4.0/namespaces_dup.js
@@ -0,0 +1,52 @@
+var namespaces_dup =
+[
+    [ "bicubic_interp_mod", "namespacebicubic__interp__mod.html", "namespacebicubic__interp__mod" ],
+    [ "bilinear_interp_mod", "namespacebilinear__interp__mod.html", "namespacebilinear__interp__mod" ],
+    [ "budget_interp_mod", "namespacebudget__interp__mod.html", "namespacebudget__interp__mod" ],
+    [ "earth_radius_mod", "namespaceearth__radius__mod.html", [
+      [ "earth_radius", "namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54", null ]
+    ] ],
+    [ "gdswzd_c_mod", "namespacegdswzd__c__mod.html", [
+      [ "gdswzd_c", "namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4", null ],
+      [ "gdswzd_c_grib1", "namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504", null ]
+    ] ],
+    [ "gdswzd_mod", "namespacegdswzd__mod.html", "namespacegdswzd__mod" ],
+    [ "ip_constants_mod", "namespaceip__constants__mod.html", [
+      [ "dpr", "namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011", null ],
+      [ "e2_wgs84", "namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545", null ],
+      [ "pi", "namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4", null ],
+      [ "pi2", "namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5", null ],
+      [ "pi4", "namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15", null ],
+      [ "rerth_wgs84", "namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb", null ]
+    ] ],
+    [ "ip_equid_cylind_grid_mod", "namespaceip__equid__cylind__grid__mod.html", "namespaceip__equid__cylind__grid__mod" ],
+    [ "ip_gaussian_grid_mod", "namespaceip__gaussian__grid__mod.html", "namespaceip__gaussian__grid__mod" ],
+    [ "ip_grid_descriptor_mod", "namespaceip__grid__descriptor__mod.html", "namespaceip__grid__descriptor__mod" ],
+    [ "ip_grid_factory_mod", "namespaceip__grid__factory__mod.html", "namespaceip__grid__factory__mod" ],
+    [ "ip_grid_mod", "namespaceip__grid__mod.html", "namespaceip__grid__mod" ],
+    [ "ip_grids_mod", "namespaceip__grids__mod.html", null ],
+    [ "ip_interpolators_mod", "namespaceip__interpolators__mod.html", [
+      [ "bicubic_interp_id", "namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e", null ],
+      [ "bilinear_interp_id", "namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1", null ],
+      [ "budget_interp_id", "namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359", null ],
+      [ "neighbor_budget_interp_id", "namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c", null ],
+      [ "neighbor_interp_id", "namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258", null ],
+      [ "spectral_interp_id", "namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851", null ]
+    ] ],
+    [ "ip_lambert_conf_grid_mod", "namespaceip__lambert__conf__grid__mod.html", "namespaceip__lambert__conf__grid__mod" ],
+    [ "ip_mercator_grid_mod", "namespaceip__mercator__grid__mod.html", "namespaceip__mercator__grid__mod" ],
+    [ "ip_mod", "namespaceip__mod.html", null ],
+    [ "ip_polar_stereo_grid_mod", "namespaceip__polar__stereo__grid__mod.html", "namespaceip__polar__stereo__grid__mod" ],
+    [ "ip_rot_equid_cylind_egrid_mod", "namespaceip__rot__equid__cylind__egrid__mod.html", "namespaceip__rot__equid__cylind__egrid__mod" ],
+    [ "ip_rot_equid_cylind_grid_mod", "namespaceip__rot__equid__cylind__grid__mod.html", "namespaceip__rot__equid__cylind__grid__mod" ],
+    [ "ip_station_points_grid_mod", "namespaceip__station__points__grid__mod.html", "namespaceip__station__points__grid__mod" ],
+    [ "ipolates_mod", "namespaceipolates__mod.html", "namespaceipolates__mod" ],
+    [ "ipolatev_mod", "namespaceipolatev__mod.html", "namespaceipolatev__mod" ],
+    [ "neighbor_budget_interp_mod", "namespaceneighbor__budget__interp__mod.html", "namespaceneighbor__budget__interp__mod" ],
+    [ "neighbor_interp_mod", "namespaceneighbor__interp__mod.html", "namespaceneighbor__interp__mod" ],
+    [ "polfix_mod", "namespacepolfix__mod.html", [
+      [ "polfixs", "namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6", null ],
+      [ "polfixv", "namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d", null ]
+    ] ],
+    [ "spectral_interp_mod", "namespacespectral__interp__mod.html", "namespacespectral__interp__mod" ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/namespacespectral__interp__mod.html b/ver-4.4.0/namespacespectral__interp__mod.html
new file mode 100644
index 00000000..22d5d20a
--- /dev/null
+++ b/ver-4.4.0/namespacespectral__interp__mod.html
@@ -0,0 +1,1273 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spectral_interp_mod Module Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacespectral__interp__mod.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spectral_interp_mod Module Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Interpolate spectral.  
+<a href="namespacespectral__interp__mod.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html">interpolate_spectral</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1polates4.html">polates4</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1polatev4.html">polatev4</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a438646d69e941def0ada00d5ca19f618"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">interpolate_spectral_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a438646d69e941def0ada00d5ca19f618"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate spectral scalar.  <a href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">More...</a><br /></td></tr>
+<tr class="separator:a438646d69e941def0ada00d5ca19f618"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb61ad529b7decc2a6ff58dd12fbadd0"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">interpolate_spectral_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:acb61ad529b7decc2a6ff58dd12fbadd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate spectral vector.  <a href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">More...</a><br /></td></tr>
+<tr class="separator:acb61ad529b7decc2a6ff58dd12fbadd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9fb87d87f2f9d578a5ade6b512ff366"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">polates4_grib1</a> (IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:ab9fb87d87f2f9d578a5ade6b512ff366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (spectral).  <a href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">More...</a><br /></td></tr>
+<tr class="separator:ab9fb87d87f2f9d578a5ade6b512ff366"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54dfd0ea8368242a1053d64770bd295a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">polates4_grib2</a> (IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a54dfd0ea8368242a1053d64770bd295a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (spectral).  <a href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">More...</a><br /></td></tr>
+<tr class="separator:a54dfd0ea8368242a1053d64770bd295a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4ce7638750e787dd69c7fe3ff2335cc"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">polatev4_grib1</a> (IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:af4ce7638750e787dd69c7fe3ff2335cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (spectral).  <a href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">More...</a><br /></td></tr>
+<tr class="separator:af4ce7638750e787dd69c7fe3ff2335cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f76e9900554d90753ca788c2ddf9ac3"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">polatev4_grib2</a> (IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a2f76e9900554d90753ca788c2ddf9ac3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (spectral).  <a href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">More...</a><br /></td></tr>
+<tr class="separator:a2f76e9900554d90753ca788c2ddf9ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interpolate spectral. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
+<a id="a438646d69e941def0ada00d5ca19f618"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a438646d69e941def0ada00d5ca19f618">&#9670;&nbsp;</a></span>interpolate_spectral_scalar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::interpolate_spectral_scalar </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate spectral scalar. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>interpolation options; ipopt(1)=0 for triangular; ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to a sensible truncation if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_in</td><td>input grid descriptor. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">grid_out</td><td>output grid descriptor. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">MI</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">MO</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">KM</td><td>number of fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">IBI</td><td>input bitmap flags (Must be all 0. Routine does not do bitmapped interpolation.) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">GI</td><td>input fields to interpolate. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">NO</td><td>number of output points. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">RLAT</td><td>output latitudes in degrees. </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">RLON</td><td>output longitudes in degrees. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">IBO</td><td>output bitmap flags. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">LO</td><td>output bitmaps. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">GO</td><td>output fields interpolated. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">IRET</td><td>return code. 0/non-0 - successful/not successful.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00060">60</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="acb61ad529b7decc2a6ff58dd12fbadd0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb61ad529b7decc2a6ff58dd12fbadd0">&#9670;&nbsp;</a></span>interpolate_spectral_vector()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::interpolate_spectral_vector </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_in</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">class(<a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), intent(in)&#160;</td>
+          <td class="paramname"><em>grid_out</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate spectral vector. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">ipopt</td><td>interpolation options; ipopt(1)=0 for triangular; ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to a sensible truncation if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramname">grid_in</td><td>input grid descriptor. </td></tr>
+    <tr><td class="paramname">grid_out</td><td>output grid descriptor. </td></tr>
+    <tr><td class="paramname">MI</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramname">MO</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramname">KM</td><td>number of fields to interpolate. </td></tr>
+    <tr><td class="paramname">IBI</td><td>input bitmap flags (Must be all 0. Routine does not do bitmapped interpolation.) </td></tr>
+    <tr><td class="paramname">UI</td><td>input u-component fields to interpolate. </td></tr>
+    <tr><td class="paramname">VI</td><td>input v-component fields to interpolate. </td></tr>
+    <tr><td class="paramname">NO</td><td>number of output points. </td></tr>
+    <tr><td class="paramname">RLAT</td><td>output latitudes in degrees. </td></tr>
+    <tr><td class="paramname">RLON</td><td>output longitudes in degrees. </td></tr>
+    <tr><td class="paramname">CROT</td><td>vector rotation cosines. </td></tr>
+    <tr><td class="paramname">SROT</td><td>vector rotation sines. </td></tr>
+    <tr><td class="paramname">IBO</td><td>output bitmap flags. </td></tr>
+    <tr><td class="paramname">LO</td><td>output bitmaps. </td></tr>
+    <tr><td class="paramname">UO</td><td>output u-component fields interpolated. </td></tr>
+    <tr><td class="paramname">VO</td><td>output v-component fields interpolated. </td></tr>
+    <tr><td class="paramname">IRET</td><td>return code. 0/non-0 - successful/not successful.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00121">121</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ab9fb87d87f2f9d578a5ade6b512ff366"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab9fb87d87f2f9d578a5ade6b512ff366">&#9670;&nbsp;</a></span>polates4_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::polates4_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDSI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDSO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate scalar fields (spectral). </p>
+<p>This subprogram performs spectral interpolation from any grid to any grid for scalar fields. It requires that the input fields be uniformly global.</p>
+<p>Options allow choices between triangular shape (ipopt(1)=0) and rhomboidal shape (ipopt(1)=1) which has no default; a second option is the truncation (ipopt(2)) which defaults to a sensible truncation for the input grid (if opt(2)=-1).</p>
+<dl class="section note"><dt>Note</dt><dd>If the output grid is not found in a special list, then the transform back to grid is not very fast. This special list contains global cylindrical grids, polar stereographic grids centered at the pole and mercator grids.</dd></dl>
+<p>Only horizontal interpolation is performed. The grids are defined by their grid description sections (passed in integer form as decoded by subprogram w3fi63()).</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>kgds(1) = 000 equidistant cylindrical</li>
+<li>kgds(1) = 001 mercator cylindrical</li>
+<li>kgds(1) = 003 lambert conformal conical</li>
+<li>kgds(1) = 004 gaussian cylindrical (spectral native)</li>
+<li>kgds(1) = 005 polar stereographic azimuthal</li>
+<li>kgds(1) = 203 rotated equidistant cylindrical (e-stagger)</li>
+<li>kgds(1) = 205 rotated equidistant cylindrical (b-stagger)</li>
+</ul>
+<p>Where kgds could be either input kgdsi or output kgdso. As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input. Output bitmaps will not be created.</p>
+<h3><a class="anchor" id="autotoc_md42"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">Initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">improve detection of special fast transform    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz() with new merged version of <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1)=0 for triangular, ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to sensible if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>(200) input gds parameters as decoded by w3fi63 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>(200) output gds parameters (kgdso(1)&lt;0 implies random station points) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags (must be all 0) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">gi</td><td>(mi,km) input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points (only if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(no) output latitudes in degrees (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(no) output longitudes in degrees (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>(mo,km) output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>41 invalid nonglobal input grid</li>
+<li>42 invalid spectral method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00559">559</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a54dfd0ea8368242a1053d64770bd295a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a54dfd0ea8368242a1053d64770bd295a">&#9670;&nbsp;</a></span>polates4_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::polates4_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>GI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>GO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate scalar fields (spectral). </p>
+<p>This subprogram performs spectral interpolation from any grid to any grid for scalar fields. It requires that the input fields be uniformly global. Options allow choices between triangular shape (ipopt(1)=0) and rhomboidal shape (ipopt(1)=1) which has no default; a second option is the truncation (ipopt(2)) which defaults to a sensible truncation for the input grid (if opt(2)=-1).</p>
+<dl class="section note"><dt>Note</dt><dd>If the output grid is not found in a special list, then the transform back to grid is not very fast. This special list contains global cylindrical grids, polar stereographic grids centered at the pole and mercator grids.</dd></dl>
+<p>Only horizontal interpolation is performed.</p>
+<p>The code recognizes the following projections, where "igdtnumi/o" is the GRIB2 grid defintion template number for the input and onutput grids, respectively:</p><ul>
+<li>igdtnumi/o = 00 equidistant cylindrical</li>
+<li>igdtnumo = 01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>igdtnumo = 10 mercator cylindrical</li>
+<li>igdtnumo = 20 polar stereographic azimuthal</li>
+<li>igdtnumo = 30 lambert conformal conical</li>
+<li>igdtnumi/o = 40 gaussian cylindrical</li>
+</ul>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned. On the other hand, the output can be a set of station points if igdtnumo &lt; 0, in which case the number of points and their latitudes and longitudes must be input. Output bitmaps will not be created.</p>
+<h3><a class="anchor" id="autotoc_md41"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">Iredell   </td><td class="markdownTableBodyNone">improve detection of special fast transform    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz with new merged version of gdswzd.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">Gayno   </td><td class="markdownTableBodyNone">convert to grib 2. replace grib 1 kgds arrays with grib 2 grid definition template arrays.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options; ipopt(1)=0 for triangular, ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to sensible if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>grid definition template number - input grid. Corresponds to the gfldigdtnum component of the <a href="https://github.com/NOAA-EMC/NCEPLIBS-g2">NCEPLIBS-g2</a> library gridmod data structure.<ul>
+<li>00 - equidistant cylindrical</li>
+<li>01 - rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 - mercator cyclindrical</li>
+<li>20 - polar stereographic azimuthal</li>
+<li>30 - lambert conformal conical</li>
+<li>40 - gaussian equidistant cyclindrical </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>(igdtleni) grid definition template array - input grid. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure: (section 3 info). See comments in routine ipolates() for complete definition. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>number of elements of the grid definition template array - input grid. corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>grid definition template number - output grid. Corresponds to the gfldigdtnum component of the <a href="https://github.com/NOAA-EMC/NCEPLIBS-g2">NCEPLIBS-g2</a> library gridmod data structure. igdtnumo&lt;0 means interpolate to random station points. Otherwise, same definition as igdtnumi. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>(igdtleno) grid definition template array - output grid. Corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info). See comments in routine ipolates() for complete definition. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>number of elements of the grid definition template array - output grid. Corresponds to the gfldigdtlen component of the [NCEPLIBS-g2](<a href="https://github.com/NOAA-EMC/NCEPLIBS-g2">https://github.com/NOAA-EMC/NCEPLIBS-g2</a>) library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1 </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibi</td><td>(km) input bitmap flags (must be all 0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">gi</td><td>(mi,km) input fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&gt;=0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">go</td><td>(mo,km) output fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>41 invalid nonglobal input grid</li>
+<li>42 invalid spectral method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>! </p><dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00254">254</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="af4ce7638750e787dd69c7fe3ff2335cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af4ce7638750e787dd69c7fe3ff2335cc">&#9670;&nbsp;</a></span>polatev4_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::polatev4_grib1 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDSI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(200), intent(in)&#160;</td>
+          <td class="paramname"><em>KGDSO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate vector fields (spectral). </p>
+<p>This subprogram performs spectral interpolation from any grid to any grid for vector fields. It requires that the input fields be uniformly global. Options allow choices between triangular shape (ipopt(1)=0) and rhomboidal shape (ipopt(1)=1) which has no default; a second option is the truncation (ipopt(2)) which defaults to a sensible truncation for the input grid (if opt(2)=-1).</p>
+<dl class="section note"><dt>Note</dt><dd>If the output grid is not found in a special list, then the transform back to grid is not very fast. This special list contains global cylindrical grids, polar stereographic grids centered at the pole and mercator grids.</dd></dl>
+<p>Only horizontal interpolation is performed. The grids are defined by their grid description sections (passed in integer form as decoded by subprogram w3fi63).</p>
+<p>The current code recognizes the following projections:</p><ul>
+<li>(KGDS(1)=000) EQUIDISTANT CYLINDRICAL</li>
+<li>(KGDS(1)=001) MERCATOR CYLINDRICAL</li>
+<li>(KGDS(1)=003) LAMBERT CONFORMAL CONICAL</li>
+<li>(KGDS(1)=004) GAUSSIAN CYLINDRICAL (SPECTRAL NATIVE)</li>
+<li>(KGDS(1)=005) POLAR STEREOGRAPHIC AZIMUTHAL</li>
+<li>(KGDS(1)=203) ROTATED EQUIDISTANT CYLINDRICAL (E-STAGGER)</li>
+<li>(KGDS(1)=205) ROTATED EQUIDISTANT CYLINDRICAL (B-STAGGER)</li>
+</ul>
+<p>Where kgds could be either input kgdsi or output kgdso.</p>
+<p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections. As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if kgdso(1)&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
+<p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. The output field is set to 0 where the output bitmap is off.</p>
+<h3><a class="anchor" id="autotoc_md44"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">initial.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">improve detection of special fast transform    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz() with new merged routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1)=0 for triangular, ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to sensible if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdsi</td><td>(200) input gds parameters as decoded by w3fi63. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">kgdso</td><td>(200) output gds parameters (kgdso(1)&lt;0 implies random station points). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags (must be all 0) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>(mi,km) input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>(mi,km) input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points (only if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlat</td><td>(no) output latitudes in degrees (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">rlon</td><td>(no) output longitudes in degrees (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">crot</td><td>(no) vector rotation cosines (if kgdso(1)&lt;0) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">srot</td><td>(no) vector rotation sines (if kgdso(1)&lt;0) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>(mo,km) output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>(mo,km) output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>41 invalid nonglobal input grid</li>
+<li>42 invalid spectral method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l01221">1221</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="spectral__interp__mod_8F90_source.html#l00124">spectral_interp_mod::interpolate_spectral::interpolate_spectral_vector()</a>.</p>
+
+</div>
+</div>
+<a id="a2f76e9900554d90753ca788c2ddf9ac3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2f76e9900554d90753ca788c2ddf9ac3">&#9670;&nbsp;</a></span>polatev4_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">subroutine spectral_interp_mod::polatev4_grib2 </td>
+          <td>(</td>
+          <td class="paramtype">integer, dimension(20), intent(in)&#160;</td>
+          <td class="paramname"><em>IPOPT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtleni), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTNUMO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(igdtleno), intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTMPLO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>IGDTLENO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>MO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(in)&#160;</td>
+          <td class="paramname"><em>KM</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(in)&#160;</td>
+          <td class="paramname"><em>IBI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>UI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mi,km), intent(in)&#160;</td>
+          <td class="paramname"><em>VI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>NO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLAT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(inout)&#160;</td>
+          <td class="paramname"><em>RLON</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>CROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo), intent(out)&#160;</td>
+          <td class="paramname"><em>SROT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, dimension(km), intent(out)&#160;</td>
+          <td class="paramname"><em>IBO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">logical*1, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>LO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>UO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">real, dimension(mo,km), intent(out)&#160;</td>
+          <td class="paramname"><em>VO</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer, intent(out)&#160;</td>
+          <td class="paramname"><em>IRET</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Interpolate vector fields (spectral). </p>
+<p>This subprogram performs spectral interpolation from any grid to any grid for vector fields. It requires that the input fields be uniformly global. Options allow choices between triangular shape (ipopt(1)=0) and rhomboidal shape (ipopt(1)=1) which has no default; a second option is the truncation (ipopt(2)) which defaults to a sensible truncation for the input grid (if opt(2)=-1).</p>
+<dl class="section note"><dt>Note</dt><dd>If the output grid is not found in a special list, then the transform back to grid is not very fast. This special list contains global cylindrical grids, polar stereographic grids centered at the pole and mercator grids. Only horizontal interpolation is performed.</dd></dl>
+<p>The input and output grids are defined by their grib 2 grid definition template as decoded by the ncep g2 library. The code recognizes the following projections, where "igdtnumi/o" is the grib 2 grid defintion template number for the input and output grids, respectively:</p><ul>
+<li>igdtnumi/o=00 equidistant cylindrical</li>
+<li>igdtnumo =01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>igdtnumo =10 mercator cylindrical</li>
+<li>igdtnumo =20 polar stereographic azimuthal</li>
+<li>igdtnumo =30 lambert conformal conical</li>
+<li>igdtnumi/o=40 gaussian cylindrical</li>
+</ul>
+<p>The input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.</p>
+<p>As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. On the other hand, the output can be a set of station points if igdtnumo&lt;0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters.</p>
+<p>Output bitmaps will only be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.</p>
+<h3><a class="anchor" id="autotoc_md43"></a>
+Program History Log</h3>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">Date   </th><th class="markdownTableHeadNone">Programmer   </th><th class="markdownTableHeadNone">Comments    </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">96-04-10   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">initial    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2001-06-18   </td><td class="markdownTableBodyNone">iredell   </td><td class="markdownTableBodyNone">improve detection of special fast transform    </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">2015-01-27   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">replace calls to gdswiz() with new merged routine <a class="el" href="iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53" title="gdswzd() interface for C for _4 build of library.">gdswzd()</a>.    </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">2015-07-13   </td><td class="markdownTableBodyNone">gayno   </td><td class="markdownTableBodyNone">convert to grib 2. replace grib 1 kgds arrays with grib 2 grid definition template arrays.   </td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ipopt</td><td>(20) interpolation options ipopt(1)=0 for triangular, ipopt(1)=1 for rhomboidal; ipopt(2) is truncation number (defaults to sensible if ipopt(2)=-1). </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumi</td><td>grid definition template number - input grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure:<ul>
+<li>00 equidistant cylindrical</li>
+<li>01 rotated equidistant cylindrical. "e" and non-"e" staggered</li>
+<li>10 mercator cyclindrical</li>
+<li>20 polar stereographic azimuthal</li>
+<li>30 lambert conformal conical</li>
+<li>40 gaussian equidistant cyclindrical </li>
+</ul>
+</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmpli</td><td>(igdtleni) grid definition template array - input grid. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info). see comments in routine ipolatev for complete definition. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleni</td><td>number of elements of the grid definition template array - input grid. corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtnumo</td><td>grid definition template number - output grid. Corresponds to the gfldigdtnum component of the ncep g2 library gridmod data structure. igdtnumo&lt;0 means interpolate to random station points. Otherwise, same definition as "igdtnumi". </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtmplo</td><td>(igdtleno) grid definition template array - output grid. corresponds to the gfldigdtmpl component of the ncep g2 library gridmod data structure (section 3 info). see comments in routine ipolatev() for complete definition. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">igdtleno</td><td>number of elements of the grid definition template array - output grid. Corresponds to the gfldigdtlen component of the ncep g2 library gridmod data structure. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mi</td><td>skip number between input grid fields if km&gt;1 or dimension of input grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mo</td><td>skip number between output grid fields if km&gt;1 or dimension of output grid fields if km=1. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">km</td><td>number of fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ibi</td><td>(km) input bitmap flags (must be all 0) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ui</td><td>(mi,km) input u-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">vi</td><td>(mi,km) input v-component fields to interpolate </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">no</td><td>number of output points (only if igdtnumo&gt;=0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlat</td><td>(mo) output latitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">rlon</td><td>(mo) output longitudes in degrees (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">crot</td><td>(mo) vector rotation cosines (if igdtnumo&lt;0) </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">srot</td><td>(mo) vector rotation sines (if igdtnumo&lt;0) (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ibo</td><td>(km) output bitmap flags </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">lo</td><td>(mo,km) output bitmaps (always output) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">uo</td><td>(mo,km) output u-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">vo</td><td>(mo,km) output v-component fields interpolated </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">iret</td><td>return code<ul>
+<li>0 successful interpolation</li>
+<li>2 unrecognized input grid or no grid overlap</li>
+<li>3 unrecognized output grid</li>
+<li>41 invalid nonglobal input grid</li>
+<li>42 invalid spectral method parameters</li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section author"><dt>Author</dt><dd>IREDELL </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="spectral__interp__mod_8F90_source.html#l00887">887</a> of file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespacespectral__interp__mod.html">spectral_interp_mod</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/namespacespectral__interp__mod.js b/ver-4.4.0/namespacespectral__interp__mod.js
new file mode 100644
index 00000000..05dbff31
--- /dev/null
+++ b/ver-4.4.0/namespacespectral__interp__mod.js
@@ -0,0 +1,12 @@
+var namespacespectral__interp__mod =
+[
+    [ "interpolate_spectral", "interfacespectral__interp__mod_1_1interpolate__spectral.html", "interfacespectral__interp__mod_1_1interpolate__spectral" ],
+    [ "polates4", "interfacespectral__interp__mod_1_1polates4.html", "interfacespectral__interp__mod_1_1polates4" ],
+    [ "polatev4", "interfacespectral__interp__mod_1_1polatev4.html", "interfacespectral__interp__mod_1_1polatev4" ],
+    [ "interpolate_spectral_scalar", "namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618", null ],
+    [ "interpolate_spectral_vector", "namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0", null ],
+    [ "polates4_grib1", "namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366", null ],
+    [ "polates4_grib2", "namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a", null ],
+    [ "polatev4_grib1", "namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc", null ],
+    [ "polatev4_grib2", "namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/nav_f.png b/ver-4.4.0/nav_f.png
new file mode 100644
index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2
GIT binary patch
literal 153
zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc)
zn!W8uqtnIQ>_<lqdB{jiFDSaaN3W^xbJMH7CDK7=Q3_$6tQ&<~Cp4L6ZEndC`8;cO
zrss?`_g+2sGU&M|cu~La_w1Rnf~7w`e!jQgteDwDLg6kW!`DinT@0SCelF{r5}E+Y
CM>z8U

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/nav_g.png b/ver-4.4.0/nav_g.png
new file mode 100644
index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81
GIT binary patch
literal 95
zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE
tr?otc=hd~V+ws&_A@j8Fiv!K<?EJwDd;c`qumW{3c)I$ztaD0e0syCC7$E=v

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/nav_h.png b/ver-4.4.0/nav_h.png
new file mode 100644
index 0000000000000000000000000000000000000000..33389b101d9cd9b4c98ad286b5d9c46a6671f650
GIT binary patch
literal 98
zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2~3AUOE6t22D>F$B+ufw|5=67#uj90@pIL
wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&v<Kx}xDV3h>FVdQ&MBb@0HFXL<NyEw

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/navtree.css b/ver-4.4.0/navtree.css
new file mode 100644
index 00000000..33341a67
--- /dev/null
+++ b/ver-4.4.0/navtree.css
@@ -0,0 +1,146 @@
+#nav-tree .children_ul {
+  margin:0;
+  padding:4px;
+}
+
+#nav-tree ul {
+  list-style:none outside none;
+  margin:0px;
+  padding:0px;
+}
+
+#nav-tree li {
+  white-space:nowrap;
+  margin:0px;
+  padding:0px;
+}
+
+#nav-tree .plus {
+  margin:0px;
+}
+
+#nav-tree .selected {
+  background-image: url('tab_a.png');
+  background-repeat:repeat-x;
+  color: #fff;
+  text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
+
+#nav-tree img {
+  margin:0px;
+  padding:0px;
+  border:0px;
+  vertical-align: middle;
+}
+
+#nav-tree a {
+  text-decoration:none;
+  padding:0px;
+  margin:0px;
+  outline:none;
+}
+
+#nav-tree .label {
+  margin:0px;
+  padding:0px;
+  font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+}
+
+#nav-tree .label a {
+  padding:2px;
+}
+
+#nav-tree .selected a {
+  text-decoration:none;
+  color:#fff;
+}
+
+#nav-tree .children_ul {
+  margin:0px;
+  padding:0px;
+}
+
+#nav-tree .item {
+  margin:0px;
+  padding:0px;
+}
+
+#nav-tree {
+  padding: 0px 0px;
+  background-color: #FAFAFF; 
+  font-size:14px;
+  overflow:auto;
+}
+
+#doc-content {
+  overflow:auto;
+  display:block;
+  padding:0px;
+  margin:0px;
+  -webkit-overflow-scrolling : touch; /* iOS 5+ */
+}
+
+#side-nav {
+  padding:0 6px 0 0;
+  margin: 0px;
+  display:block;
+  position: absolute;
+  left: 0px;
+  width: 250px;
+}
+
+.ui-resizable .ui-resizable-handle {
+  display:block;
+}
+
+.ui-resizable-e {
+  background-image:url("splitbar.png");
+  background-size:100%;
+  background-repeat:repeat-y;
+  background-attachment: scroll;
+  cursor:ew-resize;
+  height:100%;
+  right:0;
+  top:0;
+  width:6px;
+}
+
+.ui-resizable-handle {
+  display:none;
+  font-size:0.1px;
+  position:absolute;
+  z-index:1;
+}
+
+#nav-tree-contents {
+  margin: 6px 0px 0px 0px;
+}
+
+#nav-tree {
+  background-image:url('nav_h.png');
+  background-repeat:repeat-x;
+  background-color: #F9FAFC;
+  -webkit-overflow-scrolling : touch; /* iOS 5+ */
+}
+
+#nav-sync {
+  position:absolute;
+  top:5px;
+  right:24px;
+  z-index:0;
+}
+
+#nav-sync img {
+  opacity:0.3;
+}
+
+#nav-sync img:hover {
+  opacity:0.9;
+}
+
+@media print
+{
+  #nav-tree { display: none; }
+  div.ui-resizable-handle { display: none; position: relative; }
+}
+
diff --git a/ver-4.4.0/navtree.js b/ver-4.4.0/navtree.js
new file mode 100644
index 00000000..1e272d31
--- /dev/null
+++ b/ver-4.4.0/navtree.js
@@ -0,0 +1,546 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+var navTreeSubIndices = new Array();
+var arrowDown = '&#9660;';
+var arrowRight = '&#9658;';
+
+function getData(varName)
+{
+  var i = varName.lastIndexOf('/');
+  var n = i>=0 ? varName.substring(i+1) : varName;
+  return eval(n.replace(/\-/g,'_'));
+}
+
+function stripPath(uri)
+{
+  return uri.substring(uri.lastIndexOf('/')+1);
+}
+
+function stripPath2(uri)
+{
+  var i = uri.lastIndexOf('/');
+  var s = uri.substring(i+1);
+  var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
+  return m ? uri.substring(i-6) : s;
+}
+
+function hashValue()
+{
+  return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,'');
+}
+
+function hashUrl()
+{
+  return '#'+hashValue();
+}
+
+function pathName()
+{
+  return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, '');
+}
+
+function localStorageSupported()
+{
+  try {
+    return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem;
+  }
+  catch(e) {
+    return false;
+  }
+}
+
+function storeLink(link)
+{
+  if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) {
+      window.localStorage.setItem('navpath',link);
+  }
+}
+
+function deleteLink()
+{
+  if (localStorageSupported()) {
+    window.localStorage.setItem('navpath','');
+  }
+}
+
+function cachedLink()
+{
+  if (localStorageSupported()) {
+    return window.localStorage.getItem('navpath');
+  } else {
+    return '';
+  }
+}
+
+function getScript(scriptName,func,show)
+{
+  var head = document.getElementsByTagName("head")[0];
+  var script = document.createElement('script');
+  script.id = scriptName;
+  script.type = 'text/javascript';
+  script.onload = func;
+  script.src = scriptName+'.js';
+  head.appendChild(script);
+}
+
+function createIndent(o,domNode,node,level)
+{
+  var level=-1;
+  var n = node;
+  while (n.parentNode) { level++; n=n.parentNode; }
+  if (node.childrenData) {
+    var imgNode = document.createElement("span");
+    imgNode.className = 'arrow';
+    imgNode.style.paddingLeft=(16*level).toString()+'px';
+    imgNode.innerHTML=arrowRight;
+    node.plus_img = imgNode;
+    node.expandToggle = document.createElement("a");
+    node.expandToggle.href = "javascript:void(0)";
+    node.expandToggle.onclick = function() {
+      if (node.expanded) {
+        $(node.getChildrenUL()).slideUp("fast");
+        node.plus_img.innerHTML=arrowRight;
+        node.expanded = false;
+      } else {
+        expandNode(o, node, false, false);
+      }
+    }
+    node.expandToggle.appendChild(imgNode);
+    domNode.appendChild(node.expandToggle);
+  } else {
+    var span = document.createElement("span");
+    span.className = 'arrow';
+    span.style.width   = 16*(level+1)+'px';
+    span.innerHTML = '&#160;';
+    domNode.appendChild(span);
+  }
+}
+
+var animationInProgress = false;
+
+function gotoAnchor(anchor,aname,updateLocation)
+{
+  var pos, docContent = $('#doc-content');
+  var ancParent = $(anchor.parent());
+  if (ancParent.hasClass('memItemLeft') ||
+      ancParent.hasClass('memtitle') ||
+      ancParent.hasClass('fieldname') ||
+      ancParent.hasClass('fieldtype') ||
+      ancParent.is(':header'))
+  {
+    pos = ancParent.position().top;
+  } else if (anchor.position()) {
+    pos = anchor.position().top;
+  }
+  if (pos) {
+    var dist = Math.abs(Math.min(
+               pos-docContent.offset().top,
+               docContent[0].scrollHeight-
+               docContent.height()-docContent.scrollTop()));
+    animationInProgress=true;
+    docContent.animate({
+      scrollTop: pos + docContent.scrollTop() - docContent.offset().top
+    },Math.max(50,Math.min(500,dist)),function(){
+      if (updateLocation) window.location.href=aname;
+      animationInProgress=false;
+    });
+  }
+}
+
+function newNode(o, po, text, link, childrenData, lastNode)
+{
+  var node = new Object();
+  node.children = Array();
+  node.childrenData = childrenData;
+  node.depth = po.depth + 1;
+  node.relpath = po.relpath;
+  node.isLast = lastNode;
+
+  node.li = document.createElement("li");
+  po.getChildrenUL().appendChild(node.li);
+  node.parentNode = po;
+
+  node.itemDiv = document.createElement("div");
+  node.itemDiv.className = "item";
+
+  node.labelSpan = document.createElement("span");
+  node.labelSpan.className = "label";
+
+  createIndent(o,node.itemDiv,node,0);
+  node.itemDiv.appendChild(node.labelSpan);
+  node.li.appendChild(node.itemDiv);
+
+  var a = document.createElement("a");
+  node.labelSpan.appendChild(a);
+  node.label = document.createTextNode(text);
+  node.expanded = false;
+  a.appendChild(node.label);
+  if (link) {
+    var url;
+    if (link.substring(0,1)=='^') {
+      url = link.substring(1);
+      link = url;
+    } else {
+      url = node.relpath+link;
+    }
+    a.className = stripPath(link.replace('#',':'));
+    if (link.indexOf('#')!=-1) {
+      var aname = '#'+link.split('#')[1];
+      var srcPage = stripPath(pathName());
+      var targetPage = stripPath(link.split('#')[0]);
+      a.href = srcPage!=targetPage ? url : "javascript:void(0)";
+      a.onclick = function(){
+        storeLink(link);
+        if (!$(a).parent().parent().hasClass('selected'))
+        {
+          $('.item').removeClass('selected');
+          $('.item').removeAttr('id');
+          $(a).parent().parent().addClass('selected');
+          $(a).parent().parent().attr('id','selected');
+        }
+        var anchor = $(aname);
+        gotoAnchor(anchor,aname,true);
+      };
+    } else {
+      a.href = url;
+      a.onclick = function() { storeLink(link); }
+    }
+  } else {
+    if (childrenData != null)
+    {
+      a.className = "nolink";
+      a.href = "javascript:void(0)";
+      a.onclick = node.expandToggle.onclick;
+    }
+  }
+
+  node.childrenUL = null;
+  node.getChildrenUL = function() {
+    if (!node.childrenUL) {
+      node.childrenUL = document.createElement("ul");
+      node.childrenUL.className = "children_ul";
+      node.childrenUL.style.display = "none";
+      node.li.appendChild(node.childrenUL);
+    }
+    return node.childrenUL;
+  };
+
+  return node;
+}
+
+function showRoot()
+{
+  var headerHeight = $("#top").height();
+  var footerHeight = $("#nav-path").height();
+  var windowHeight = $(window).height() - headerHeight - footerHeight;
+  (function (){ // retry until we can scroll to the selected item
+    try {
+      var navtree=$('#nav-tree');
+      navtree.scrollTo('#selected',100,{offset:-windowHeight/2});
+    } catch (err) {
+      setTimeout(arguments.callee, 0);
+    }
+  })();
+}
+
+function expandNode(o, node, imm, showRoot)
+{
+  if (node.childrenData && !node.expanded) {
+    if (typeof(node.childrenData)==='string') {
+      var varName    = node.childrenData;
+      getScript(node.relpath+varName,function(){
+        node.childrenData = getData(varName);
+        expandNode(o, node, imm, showRoot);
+      }, showRoot);
+    } else {
+      if (!node.childrenVisited) {
+        getNode(o, node);
+      }
+      $(node.getChildrenUL()).slideDown("fast");
+      node.plus_img.innerHTML = arrowDown;
+      node.expanded = true;
+    }
+  }
+}
+
+function glowEffect(n,duration)
+{
+  n.addClass('glow').delay(duration).queue(function(next){
+    $(this).removeClass('glow');next();
+  });
+}
+
+function highlightAnchor()
+{
+  var aname = hashUrl();
+  var anchor = $(aname);
+  if (anchor.parent().attr('class')=='memItemLeft'){
+    var rows = $('.memberdecls tr[class$="'+hashValue()+'"]');
+    glowEffect(rows.children(),300); // member without details
+  } else if (anchor.parent().attr('class')=='fieldname'){
+    glowEffect(anchor.parent().parent(),1000); // enum value
+  } else if (anchor.parent().attr('class')=='fieldtype'){
+    glowEffect(anchor.parent().parent(),1000); // struct field
+  } else if (anchor.parent().is(":header")) {
+    glowEffect(anchor.parent(),1000); // section header
+  } else {
+    glowEffect(anchor.next(),1000); // normal member
+  }
+}
+
+function selectAndHighlight(hash,n)
+{
+  var a;
+  if (hash) {
+    var link=stripPath(pathName())+':'+hash.substring(1);
+    a=$('.item a[class$="'+link+'"]');
+  }
+  if (a && a.length) {
+    a.parent().parent().addClass('selected');
+    a.parent().parent().attr('id','selected');
+    highlightAnchor();
+  } else if (n) {
+    $(n.itemDiv).addClass('selected');
+    $(n.itemDiv).attr('id','selected');
+  }
+  if ($('#nav-tree-contents .item:first').hasClass('selected')) {
+    $('#nav-sync').css('top','30px');
+  } else {
+    $('#nav-sync').css('top','5px');
+  }
+  showRoot();
+}
+
+function showNode(o, node, index, hash)
+{
+  if (node && node.childrenData) {
+    if (typeof(node.childrenData)==='string') {
+      var varName    = node.childrenData;
+      getScript(node.relpath+varName,function(){
+        node.childrenData = getData(varName);
+        showNode(o,node,index,hash);
+      },true);
+    } else {
+      if (!node.childrenVisited) {
+        getNode(o, node);
+      }
+      $(node.getChildrenUL()).css({'display':'block'});
+      node.plus_img.innerHTML = arrowDown;
+      node.expanded = true;
+      var n = node.children[o.breadcrumbs[index]];
+      if (index+1<o.breadcrumbs.length) {
+        showNode(o,n,index+1,hash);
+      } else {
+        if (typeof(n.childrenData)==='string') {
+          var varName = n.childrenData;
+          getScript(n.relpath+varName,function(){
+            n.childrenData = getData(varName);
+            node.expanded=false;
+            showNode(o,node,index,hash); // retry with child node expanded
+          },true);
+        } else {
+          var rootBase = stripPath(o.toroot.replace(/\..+$/, ''));
+          if (rootBase=="index" || rootBase=="pages" || rootBase=="search") {
+            expandNode(o, n, true, true);
+          }
+          selectAndHighlight(hash,n);
+        }
+      }
+    }
+  } else {
+    selectAndHighlight(hash);
+  }
+}
+
+function removeToInsertLater(element) {
+  var parentNode = element.parentNode;
+  var nextSibling = element.nextSibling;
+  parentNode.removeChild(element);
+  return function() {
+    if (nextSibling) {
+      parentNode.insertBefore(element, nextSibling);
+    } else {
+      parentNode.appendChild(element);
+    }
+  };
+}
+
+function getNode(o, po)
+{
+  var insertFunction = removeToInsertLater(po.li);
+  po.childrenVisited = true;
+  var l = po.childrenData.length-1;
+  for (var i in po.childrenData) {
+    var nodeData = po.childrenData[i];
+    po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],
+      i==l);
+  }
+  insertFunction();
+}
+
+function gotoNode(o,subIndex,root,hash,relpath)
+{
+  var nti = navTreeSubIndices[subIndex][root+hash];
+  o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]);
+  if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index
+    navTo(o,NAVTREE[0][1],"",relpath);
+    $('.item').removeClass('selected');
+    $('.item').removeAttr('id');
+  }
+  if (o.breadcrumbs) {
+    o.breadcrumbs.unshift(0); // add 0 for root node
+    showNode(o, o.node, 0, hash);
+  }
+}
+
+function navTo(o,root,hash,relpath)
+{
+  var link = cachedLink();
+  if (link) {
+    var parts = link.split('#');
+    root = parts[0];
+    if (parts.length>1) hash = '#'+parts[1].replace(/[^\w\-]/g,'');
+    else hash='';
+  }
+  if (hash.match(/^#l\d+$/)) {
+    var anchor=$('a[name='+hash.substring(1)+']');
+    glowEffect(anchor.parent(),1000); // line number
+    hash=''; // strip line number anchors
+  }
+  var url=root+hash;
+  var i=-1;
+  while (NAVTREEINDEX[i+1]<=url) i++;
+  if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
+  if (navTreeSubIndices[i]) {
+    gotoNode(o,i,root,hash,relpath)
+  } else {
+    getScript(relpath+'navtreeindex'+i,function(){
+      navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
+      if (navTreeSubIndices[i]) {
+        gotoNode(o,i,root,hash,relpath);
+      }
+    },true);
+  }
+}
+
+function showSyncOff(n,relpath)
+{
+    n.html('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>');
+}
+
+function showSyncOn(n,relpath)
+{
+    n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>');
+}
+
+function toggleSyncButton(relpath)
+{
+  var navSync = $('#nav-sync');
+  if (navSync.hasClass('sync')) {
+    navSync.removeClass('sync');
+    showSyncOff(navSync,relpath);
+    storeLink(stripPath2(pathName())+hashUrl());
+  } else {
+    navSync.addClass('sync');
+    showSyncOn(navSync,relpath);
+    deleteLink();
+  }
+}
+
+var loadTriggered = false;
+var readyTriggered = false;
+var loadObject,loadToRoot,loadUrl,loadRelPath;
+
+$(window).on('load',function(){
+  if (readyTriggered) { // ready first
+    navTo(loadObject,loadToRoot,loadUrl,loadRelPath);
+    showRoot();
+  }
+  loadTriggered=true;
+});
+
+function initNavTree(toroot,relpath)
+{
+  var o = new Object();
+  o.toroot = toroot;
+  o.node = new Object();
+  o.node.li = document.getElementById("nav-tree-contents");
+  o.node.childrenData = NAVTREE;
+  o.node.children = new Array();
+  o.node.childrenUL = document.createElement("ul");
+  o.node.getChildrenUL = function() { return o.node.childrenUL; };
+  o.node.li.appendChild(o.node.childrenUL);
+  o.node.depth = 0;
+  o.node.relpath = relpath;
+  o.node.expanded = false;
+  o.node.isLast = true;
+  o.node.plus_img = document.createElement("span");
+  o.node.plus_img.className = 'arrow';
+  o.node.plus_img.innerHTML = arrowRight;
+
+  if (localStorageSupported()) {
+    var navSync = $('#nav-sync');
+    if (cachedLink()) {
+      showSyncOff(navSync,relpath);
+      navSync.removeClass('sync');
+    } else {
+      showSyncOn(navSync,relpath);
+    }
+    navSync.click(function(){ toggleSyncButton(relpath); });
+  }
+
+  if (loadTriggered) { // load before ready
+    navTo(o,toroot,hashUrl(),relpath);
+    showRoot();
+  } else { // ready before load
+    loadObject  = o;
+    loadToRoot  = toroot;
+    loadUrl     = hashUrl();
+    loadRelPath = relpath;
+    readyTriggered=true;
+  }
+
+  $(window).bind('hashchange', function(){
+     if (window.location.hash && window.location.hash.length>1){
+       var a;
+       if ($(location).attr('hash')){
+         var clslink=stripPath(pathName())+':'+hashValue();
+         a=$('.item a[class$="'+clslink.replace(/</g,'\\3c ')+'"]');
+       }
+       if (a==null || !$(a).parent().parent().hasClass('selected')){
+         $('.item').removeClass('selected');
+         $('.item').removeAttr('id');
+       }
+       var link=stripPath2(pathName());
+       navTo(o,link,hashUrl(),relpath);
+     } else if (!animationInProgress) {
+       $('#doc-content').scrollTop(0);
+       $('.item').removeClass('selected');
+       $('.item').removeAttr('id');
+       navTo(o,toroot,hashUrl(),relpath);
+     }
+  })
+}
+/* @license-end */
diff --git a/ver-4.4.0/navtreedata.js b/ver-4.4.0/navtreedata.js
new file mode 100644
index 00000000..9a17bc2d
--- /dev/null
+++ b/ver-4.4.0/navtreedata.js
@@ -0,0 +1,78 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+*/
+var NAVTREE =
+[
+  [ "NCEPLIBS-ip", "index.html", [
+    [ "Modules", "namespaces.html", [
+      [ "Introduction", "index.html#autotoc_md0", null ],
+      [ "Interpolation", "index.html#autotoc_md1", [
+        [ "Bilinear Interpolation", "index.html#autotoc_md2", null ],
+        [ "Bicubic Interpolation", "index.html#autotoc_md3", null ],
+        [ "Neighbor Interpolation", "index.html#autotoc_md4", null ],
+        [ "Budget interpolation", "index.html#autotoc_md5", null ],
+        [ "Spectral Interpolation", "index.html#autotoc_md6", null ],
+        [ "Neighbor-Budget Interpolation", "index.html#autotoc_md7", null ]
+      ] ],
+      [ "Vectors and Scalars", "index.html#autotoc_md8", null ],
+      [ "Grids", "index.html#autotoc_md9", null ],
+      [ "Return Codes", "index.html#autotoc_md10", null ],
+      [ "Entry point list", "index.html#autotoc_md11", null ],
+      [ "How to invoke ip2lib: examples", "index.html#autotoc_md12", null ],
+      [ "Modules List", "namespaces.html", "namespaces_dup" ],
+      [ "Module Members", "namespacemembers.html", [
+        [ "All", "namespacemembers.html", null ],
+        [ "Functions/Subroutines", "namespacemembers_func.html", null ],
+        [ "Variables", "namespacemembers_vars.html", null ]
+      ] ]
+    ] ],
+    [ "Data Types List", "annotated.html", [
+      [ "Data Types List", "annotated.html", "annotated_dup" ],
+      [ "Class Hierarchy", "hierarchy.html", "hierarchy" ],
+      [ "Data Fields", "functions.html", [
+        [ "All", "functions.html", null ],
+        [ "Functions/Subroutines", "functions_func.html", null ],
+        [ "Variables", "functions_vars.html", null ]
+      ] ]
+    ] ],
+    [ "Files", "files.html", [
+      [ "File List", "files.html", "files_dup" ],
+      [ "Globals", "globals.html", [
+        [ "All", "globals.html", null ],
+        [ "Functions/Subroutines", "globals_func.html", null ]
+      ] ]
+    ] ]
+  ] ]
+];
+
+var NAVTREEINDEX =
+[
+"annotated.html",
+"ip__rot__equid__cylind__grid__mod_8F90.html#ab43075e39d4e2dde4110e608931a392d",
+"namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0",
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e"
+];
+
+var SYNCONMSG = 'click to disable panel synchronisation';
+var SYNCOFFMSG = 'click to enable panel synchronisation';
\ No newline at end of file
diff --git a/ver-4.4.0/navtreeindex0.js b/ver-4.4.0/navtreeindex0.js
new file mode 100644
index 00000000..5caa36f2
--- /dev/null
+++ b/ver-4.4.0/navtreeindex0.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX0 =
+{
+"annotated.html":[1,0],
+"bicubic__interp__mod_8F90.html":[2,0,0],
+"bicubic__interp__mod_8F90.html#a54a442e47f1be9511c1684a337d7e2d1":[2,0,0,1],
+"bicubic__interp__mod_8F90.html#a9d27db7d350fc2699aaf5057c3b53d16":[2,0,0,2],
+"bicubic__interp__mod_8F90_source.html":[2,0,0],
+"bilinear__interp__mod_8F90.html":[2,0,1],
+"bilinear__interp__mod_8F90.html#a34d2eea4682104097dccf3e7ab6a9398":[2,0,1,1],
+"bilinear__interp__mod_8F90.html#abc218f8774d2af09299eb299d6f38e04":[2,0,1,2],
+"bilinear__interp__mod_8F90_source.html":[2,0,1],
+"budget__interp__mod_8F90.html":[2,0,2],
+"budget__interp__mod_8F90.html#a09bd6535b0c2e1022cfde39c39d14466":[2,0,2,1],
+"budget__interp__mod_8F90.html#abc99486ee9c0091c1514af6114d4e803":[2,0,2,2],
+"budget__interp__mod_8F90_source.html":[2,0,2],
+"earth__radius__mod_8F90.html":[2,0,3],
+"earth__radius__mod_8F90.html#a810f60db1a1faff0d6f59937a8207a54":[2,0,3,0],
+"earth__radius__mod_8F90_source.html":[2,0,3],
+"files.html":[2,0],
+"functions.html":[1,2,0],
+"functions_func.html":[1,2,1],
+"functions_vars.html":[1,2,2],
+"gdswzd__c_8F90.html":[2,0,4],
+"gdswzd__c_8F90.html#a06861f1403edf106bb3b399c39981504":[2,0,4,1],
+"gdswzd__c_8F90.html#ae3026381f7f41561507c97c9125d24e4":[2,0,4,0],
+"gdswzd__c_8F90_source.html":[2,0,4],
+"gdswzd__mod_8F90.html":[2,0,5],
+"gdswzd__mod_8F90.html#a133e040fac8dd56e607b8e3fb6a58c37":[2,0,5,4],
+"gdswzd__mod_8F90.html#a584d2bddbc6d857b80cfac5e3b288d45":[2,0,5,5],
+"gdswzd__mod_8F90.html#aa032a55281b18e208630a730679958f4":[2,0,5,3],
+"gdswzd__mod_8F90.html#aba3235c5bc5797e72b9a6a8a587b8861":[2,0,5,6],
+"gdswzd__mod_8F90.html#ac304e2b046eccc701e24827c81107e76":[2,0,5,1],
+"gdswzd__mod_8F90.html#acdf970e498e9317522fbdfb690b86e25":[2,0,5,2],
+"gdswzd__mod_8F90_source.html":[2,0,5],
+"globals.html":[2,1,0],
+"globals_func.html":[2,1,1],
+"hierarchy.html":[1,1],
+"index.html":[],
+"index.html#autotoc_md0":[0],
+"index.html#autotoc_md1":[1],
+"index.html#autotoc_md10":[4],
+"index.html#autotoc_md11":[5],
+"index.html#autotoc_md12":[6],
+"index.html#autotoc_md2":[1,0],
+"index.html#autotoc_md3":[1,1],
+"index.html#autotoc_md4":[1,2],
+"index.html#autotoc_md5":[1,3],
+"index.html#autotoc_md6":[1,4],
+"index.html#autotoc_md7":[1,5],
+"index.html#autotoc_md8":[2],
+"index.html#autotoc_md9":[3],
+"interfacebicubic__interp__mod_1_1interpolate__bicubic.html":[1,0,0,0],
+"interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b":[1,0,0,0,1],
+"interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077":[1,0,0,0,0],
+"interfacebilinear__interp__mod_1_1interpolate__bilinear.html":[1,0,1,0],
+"interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65":[1,0,1,0,0],
+"interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd":[1,0,1,0,1],
+"interfacebudget__interp__mod_1_1interpolate__budget.html":[1,0,2,0],
+"interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0":[1,0,2,0,0],
+"interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6":[1,0,2,0,1],
+"interfacegdswzd__mod_1_1gdswzd.html":[1,0,3,0],
+"interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd":[1,0,3,0,5],
+"interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a":[1,0,3,0,3],
+"interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5":[1,0,3,0,2],
+"interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31":[1,0,3,0,1],
+"interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16":[1,0,3,0,4],
+"interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b":[1,0,3,0,0],
+"interfaceip__grid__descriptor__mod_1_1init__descriptor.html":[1,0,6,2],
+"interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e":[1,0,6,2,0],
+"interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c":[1,0,6,2,1],
+"interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html":[1,0,6,4],
+"interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c":[1,0,6,4,0],
+"interfaceip__grid__factory__mod_1_1init__grid.html":[1,0,7,0],
+"interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72":[1,0,7,0,0],
+"interfaceip__grid__mod_1_1gdswzd__interface.html":[1,0,8,0],
+"interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369":[1,0,8,0,0],
+"interfaceip__grid__mod_1_1init__grib1__interface.html":[1,0,8,1],
+"interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb":[1,0,8,1,0],
+"interfaceip__grid__mod_1_1init__grib2__interface.html":[1,0,8,2],
+"interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c":[1,0,8,2,0],
+"interfaceip__grid__mod_1_1operator_07_0a_0a_08.html":[1,0,8,4],
+"interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b":[1,0,8,4,0],
+"interfaceipolates__mod_1_1ipolates.html":[1,0,15,0],
+"interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240":[1,0,15,0,3],
+"interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b":[1,0,15,0,2],
+"interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b":[1,0,15,0,0],
+"interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d":[1,0,15,0,1],
+"interfaceipolatev__mod_1_1ipolatev.html":[1,0,16,0],
+"interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd":[1,0,16,0,3],
+"interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe":[1,0,16,0,2],
+"interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53":[1,0,16,0,0],
+"interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5":[1,0,16,0,1],
+"interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html":[1,0,17,0],
+"interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06":[1,0,17,0,1],
+"interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a":[1,0,17,0,0],
+"interfaceneighbor__interp__mod_1_1interpolate__neighbor.html":[1,0,18,0],
+"interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246":[1,0,18,0,0],
+"interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7":[1,0,18,0,1],
+"interfacespectral__interp__mod_1_1interpolate__spectral.html":[1,0,19,0],
+"interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1":[1,0,19,0,0],
+"interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487":[1,0,19,0,1],
+"interfacespectral__interp__mod_1_1polates4.html":[1,0,19,1],
+"interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4":[1,0,19,1,0],
+"interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9":[1,0,19,1,1],
+"interfacespectral__interp__mod_1_1polatev4.html":[1,0,19,2],
+"interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8":[1,0,19,2,0],
+"interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b":[1,0,19,2,1],
+"ip__constants__mod_8F90.html":[2,0,6],
+"ip__constants__mod_8F90.html#a309f7e3b1f83b6b272b12ce4fff501c5":[2,0,6,3],
+"ip__constants__mod_8F90.html#a47f83a2267da693170054c958c401cd4":[2,0,6,2],
+"ip__constants__mod_8F90.html#a5fe7cdd86b44487666dc37f655d9ff15":[2,0,6,4],
+"ip__constants__mod_8F90.html#ac6a501512f426673f064edbecd7a62fb":[2,0,6,5],
+"ip__constants__mod_8F90.html#ae6b74489db06341b78c3088b3f207011":[2,0,6,0],
+"ip__constants__mod_8F90.html#af7783a977fa10c54d85282dc6ac5f545":[2,0,6,1],
+"ip__constants__mod_8F90_source.html":[2,0,6],
+"ip__equid__cylind__grid__mod_8F90.html":[2,0,7],
+"ip__equid__cylind__grid__mod_8F90.html#a039501b44cd3ad4409983e193d509afd":[2,0,7,2],
+"ip__equid__cylind__grid__mod_8F90.html#a30cb127d26d74d2de6ab3cbfd63183fb":[2,0,7,7],
+"ip__equid__cylind__grid__mod_8F90.html#a39d24c9468ecb7effd16972fd72e088a":[2,0,7,6],
+"ip__equid__cylind__grid__mod_8F90.html#a3d0132823d27b60835ebb59ead173477":[2,0,7,5],
+"ip__equid__cylind__grid__mod_8F90.html#a46335f95ac343f7751bd519aec0a160f":[2,0,7,8],
+"ip__equid__cylind__grid__mod_8F90.html#a5a70b82abdce76bef22cdeaa96a986c2":[2,0,7,1],
+"ip__equid__cylind__grid__mod_8F90.html#ab5b84516fab9cee3316c07450f49746c":[2,0,7,9],
+"ip__equid__cylind__grid__mod_8F90.html#ade88ecea1c0bb4b4d5b0d08f8482268d":[2,0,7,3],
+"ip__equid__cylind__grid__mod_8F90.html#af20f6f308b5a33211c677b894e41b727":[2,0,7,4],
+"ip__equid__cylind__grid__mod_8F90_source.html":[2,0,7],
+"ip__gaussian__grid__mod_8F90.html":[2,0,8],
+"ip__gaussian__grid__mod_8F90.html#a3591b5701f3d03931c6a9d5278e161dc":[2,0,8,12],
+"ip__gaussian__grid__mod_8F90.html#a67d6cd6d188a8bded8bdf64927617028":[2,0,8,10],
+"ip__gaussian__grid__mod_8F90.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9":[2,0,8,4],
+"ip__gaussian__grid__mod_8F90.html#a8213e02ccf4325ad5db14f2e48990da2":[2,0,8,11],
+"ip__gaussian__grid__mod_8F90.html#a8852b7cfb7b99318140c66b0c551dc6d":[2,0,8,8],
+"ip__gaussian__grid__mod_8F90.html#a8fe2ee732a3a2db4891a6431787a0b01":[2,0,8,5],
+"ip__gaussian__grid__mod_8F90.html#ab602a870a477c7ab77438700af4e7780":[2,0,8,1],
+"ip__gaussian__grid__mod_8F90.html#ac72eec96d0012fbe0f0ec7c520f40dad":[2,0,8,3],
+"ip__gaussian__grid__mod_8F90.html#adca7b03877c6a7048ff1716a95e0bd9d":[2,0,8,2],
+"ip__gaussian__grid__mod_8F90.html#ae048ac033628515113b11b8c7364e0c2":[2,0,8,6],
+"ip__gaussian__grid__mod_8F90.html#ae2697b9c4dbe4945276633d1951e79fc":[2,0,8,7],
+"ip__gaussian__grid__mod_8F90.html#af5c4024263aa3eaef5801849ae32c15a":[2,0,8,9],
+"ip__gaussian__grid__mod_8F90_source.html":[2,0,8],
+"ip__grid__descriptor__mod_8F90.html":[2,0,9],
+"ip__grid__descriptor__mod_8F90.html#a143ac06a2a20697d01606a259213b451":[2,0,9,6],
+"ip__grid__descriptor__mod_8F90.html#a202219f9c5c84fa04d3eb1c2208358ec":[2,0,9,7],
+"ip__grid__descriptor__mod_8F90.html#a5bb3c5230b88012bddc3922bfa1cb019":[2,0,9,8],
+"ip__grid__descriptor__mod_8F90.html#a75ac34ea9372afaa29b0df2ce8919988":[2,0,9,9],
+"ip__grid__descriptor__mod_8F90.html#aa00884a7fca018535eaf0c2ebe26bc98":[2,0,9,5],
+"ip__grid__descriptor__mod_8F90_source.html":[2,0,9],
+"ip__grid__factory__mod_8F90.html":[2,0,10],
+"ip__grid__factory__mod_8F90.html#a2d2ea07d353bae8b057471aa99b58e46":[2,0,10,1],
+"ip__grid__factory__mod_8F90.html#aa187dc8dbd1d004a51cc0e9826ffa225":[2,0,10,3],
+"ip__grid__factory__mod_8F90.html#ad8906ed6fe52c2426c0ff09ce50b6fc5":[2,0,10,2],
+"ip__grid__factory__mod_8F90_source.html":[2,0,10],
+"ip__grid__mod_8F90.html":[2,0,11],
+"ip__grid__mod_8F90.html#a2e49846c9122b1fe1fcdbb2913fc32fe":[2,0,11,12],
+"ip__grid__mod_8F90.html#a36a9a73ecd50353f892341ae8a5c8316":[2,0,11,10],
+"ip__grid__mod_8F90.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6":[2,0,11,8],
+"ip__grid__mod_8F90.html#a45e8afad72b1b8856b3e44f2dd3123b3":[2,0,11,9],
+"ip__grid__mod_8F90.html#a4e11ce780c3d165c282684188890af1c":[2,0,11,18],
+"ip__grid__mod_8F90.html#a5b3ad320b41791e65966e1bb498e9ae3":[2,0,11,16],
+"ip__grid__mod_8F90.html#a63572318d74ec94c20c5ccd6ded2d442":[2,0,11,5],
+"ip__grid__mod_8F90.html#a663bda9af9dd991a09ba0f0de66dc045":[2,0,11,6],
+"ip__grid__mod_8F90.html#ab82b90d20f38ff39741f6890fa422d16":[2,0,11,11],
+"ip__grid__mod_8F90.html#ab9ff525eca4f053b04ec96a83cb06682":[2,0,11,13],
+"ip__grid__mod_8F90.html#ad96da95d40beceb1a1c405971e8130bb":[2,0,11,7],
+"ip__grid__mod_8F90.html#adb7d7d18410aaae52d7eee2e97f04b14":[2,0,11,17],
+"ip__grid__mod_8F90.html#adc7c650c524eb6425e77b2e0eac0979a":[2,0,11,19],
+"ip__grid__mod_8F90.html#af9c58af5162d96cb7d1ac5001139b856":[2,0,11,14],
+"ip__grid__mod_8F90.html#afee73c2f09ea9de43c156dc594ae1df1":[2,0,11,15],
+"ip__grid__mod_8F90_source.html":[2,0,11],
+"ip__grids__mod_8F90.html":[2,0,12],
+"ip__grids__mod_8F90_source.html":[2,0,12],
+"ip__interpolators__mod_8F90.html":[2,0,13],
+"ip__interpolators__mod_8F90.html#a35e5fe3a2dd79d205c0503f550388258":[2,0,13,4],
+"ip__interpolators__mod_8F90.html#a753e4b6c113a9a8b226c3c834786f3e1":[2,0,13,1],
+"ip__interpolators__mod_8F90.html#a7df843ca4a64e3178f448aebf7dad359":[2,0,13,2],
+"ip__interpolators__mod_8F90.html#a83ba2963a0b686c6ae67b53f9c385851":[2,0,13,5],
+"ip__interpolators__mod_8F90.html#adfdc7760718083d85618df85320c495e":[2,0,13,0],
+"ip__interpolators__mod_8F90.html#ae77a1da241f5de94f1874004ee8e715c":[2,0,13,3],
+"ip__interpolators__mod_8F90_source.html":[2,0,13],
+"ip__lambert__conf__grid__mod_8F90.html":[2,0,14],
+"ip__lambert__conf__grid__mod_8F90.html#a15c44b47172b926aea840caee9723b1c":[2,0,14,4],
+"ip__lambert__conf__grid__mod_8F90.html#a196e94b5a2add34133c87f845394fa81":[2,0,14,8],
+"ip__lambert__conf__grid__mod_8F90.html#a5544708e893ffcfbe7d958fdec700eea":[2,0,14,2],
+"ip__lambert__conf__grid__mod_8F90.html#a58187073914efa18eca897c6ec203b71":[2,0,14,6],
+"ip__lambert__conf__grid__mod_8F90.html#a5e1d42f0027236f47467e25c525e66ae":[2,0,14,5],
+"ip__lambert__conf__grid__mod_8F90.html#a5ebb9e4f1bd58caa254771b305c94f71":[2,0,14,1],
+"ip__lambert__conf__grid__mod_8F90.html#a7dea876ed4206c5ecc0444aadb7d6acd":[2,0,14,11],
+"ip__lambert__conf__grid__mod_8F90.html#a82b75fe2d8495aab75b225c6309e61c8":[2,0,14,7],
+"ip__lambert__conf__grid__mod_8F90.html#a9f0538d092cd7d2829a5b98247eb560d":[2,0,14,12],
+"ip__lambert__conf__grid__mod_8F90.html#aa91572e8b5ba3559c041f1750b6696c6":[2,0,14,10],
+"ip__lambert__conf__grid__mod_8F90.html#aad8b04b77b0920dbf9ed3827e2e8cfd7":[2,0,14,9],
+"ip__lambert__conf__grid__mod_8F90.html#acb0339a9fff4fff6c2017d37f8bed0cf":[2,0,14,3],
+"ip__lambert__conf__grid__mod_8F90_source.html":[2,0,14],
+"ip__mercator__grid__mod_8F90.html":[2,0,15],
+"ip__mercator__grid__mod_8F90.html#a14e1cb3f8c05d2de49d2aa8dc69d104f":[2,0,15,7],
+"ip__mercator__grid__mod_8F90.html#a156e638e2d1b93e388d674462ac3f732":[2,0,15,8],
+"ip__mercator__grid__mod_8F90.html#a4125dba8b09e9b69933e224b00f4758d":[2,0,15,2],
+"ip__mercator__grid__mod_8F90.html#a952ab9add18587c4dbe54699feb8eafd":[2,0,15,4],
+"ip__mercator__grid__mod_8F90.html#aad3b6fef6ee74b8df984c0159ff29c82":[2,0,15,3],
+"ip__mercator__grid__mod_8F90.html#ab93a0a6ae8c5f5056abece1dcffdc57a":[2,0,15,5],
+"ip__mercator__grid__mod_8F90.html#acc39017fa51125972ab8e755e16d339e":[2,0,15,1],
+"ip__mercator__grid__mod_8F90.html#adaa27c5d41ee24185b6d020420ce9419":[2,0,15,9],
+"ip__mercator__grid__mod_8F90.html#aea5e18faf7a18bf8d06c87ccb11f3e17":[2,0,15,6],
+"ip__mercator__grid__mod_8F90_source.html":[2,0,15],
+"ip__mod_8F90.html":[2,0,16],
+"ip__mod_8F90_source.html":[2,0,16],
+"ip__polar__stereo__grid__mod_8F90.html":[2,0,17],
+"ip__polar__stereo__grid__mod_8F90.html#a1269037aaecd12e75e17d8aac8e20c8c":[2,0,17,12],
+"ip__polar__stereo__grid__mod_8F90.html#a2a2e0854e5c129e320924a811cbd08e2":[2,0,17,4],
+"ip__polar__stereo__grid__mod_8F90.html#a3315b2efb5cb9aebc0b2cb2773aa20b5":[2,0,17,14],
+"ip__polar__stereo__grid__mod_8F90.html#a386933f7e52c348b9d742df423e0e223":[2,0,17,5],
+"ip__polar__stereo__grid__mod_8F90.html#a5210b986366b503683ae966519d501e7":[2,0,17,3],
+"ip__polar__stereo__grid__mod_8F90.html#a5a63da5168a1432a1af42c0b668f0645":[2,0,17,11],
+"ip__polar__stereo__grid__mod_8F90.html#a605d287e34e60f553521a5de2da22962":[2,0,17,7],
+"ip__polar__stereo__grid__mod_8F90.html#a6ed76f58f30993cd7be84b7e03cf4d6f":[2,0,17,2],
+"ip__polar__stereo__grid__mod_8F90.html#aa4a88f48d7b78cfdfc54754882195d18":[2,0,17,13],
+"ip__polar__stereo__grid__mod_8F90.html#abe4d416201e986421a8e325a9b00e462":[2,0,17,6],
+"ip__polar__stereo__grid__mod_8F90.html#abf3a34d9bb00c39dac5225798aea4d5b":[2,0,17,10],
+"ip__polar__stereo__grid__mod_8F90.html#acf60181f89954e2ff31b08bb1b345354":[2,0,17,8],
+"ip__polar__stereo__grid__mod_8F90.html#ae2694d90ab514a131e083dfba3b173c5":[2,0,17,1],
+"ip__polar__stereo__grid__mod_8F90.html#aea7950530d06d9c59ff61bf706df0a0f":[2,0,17,9],
+"ip__polar__stereo__grid__mod_8F90_source.html":[2,0,17],
+"ip__rot__equid__cylind__egrid__mod_8F90.html":[2,0,18],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a0b2faca2325b413e1f3207778d4c4c68":[2,0,18,12],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a134acf8ab7f40ff49ce8e03daad900e6":[2,0,18,17],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a45b87f77888d428ca0f551edae8da94e":[2,0,18,6],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a4ccccb64d3e7236d8cac19c279aab900":[2,0,18,20],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a4e6c3a758f9a6474d3e499fabeac0640":[2,0,18,5],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a50497d277c347a2991b0e34e85f1787e":[2,0,18,15],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a557d49c609fc8c5c564a3a5f10174eec":[2,0,18,11],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a69d4e473a1a276b855d37518dc6f1d48":[2,0,18,4],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a72199c827ab3218b7f2aba35ad30b94d":[2,0,18,19],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a83649d02b55d6252d59514aec4eb3142":[2,0,18,9],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a93ed996cf2dc9569e356256ec946b571":[2,0,18,14],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a9ac1f76f515981c464e8391d8c941888":[2,0,18,7],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#a9ad11a599fc0bdc4a9ece86a3b1cc399":[2,0,18,1],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#aa65616b97df9c89893161ff802e16eab":[2,0,18,2],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#aac1018f3ca1b7ad4b5d33f245678d416":[2,0,18,8],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#aad4e673a94976b2b5a9bfad9de9e6e30":[2,0,18,10],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#ae1f8503816477fb685fbadc7a9e50f0b":[2,0,18,18],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#aed7a425f4d300fe14ac1b48d76378edb":[2,0,18,16],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#af04f8a1044f4d9a7e0d13d38887adcbc":[2,0,18,13],
+"ip__rot__equid__cylind__egrid__mod_8F90.html#af3cbc17f27800bc67135feacb2c1c3e0":[2,0,18,3],
+"ip__rot__equid__cylind__egrid__mod_8F90_source.html":[2,0,18],
+"ip__rot__equid__cylind__grid__mod_8F90.html":[2,0,19],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a1cc09c83f9a3815d8c5f8ed2f239f53f":[2,0,19,4],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a3de472bfc18740a7d985f560f3541c10":[2,0,19,7],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a55c153201e15205d3f75e4ffb717cc0b":[2,0,19,1],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a620a55069afd33b301240533915387df":[2,0,19,14],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a64831f92d5306513987a98e97a32aea1":[2,0,19,15],
+"ip__rot__equid__cylind__grid__mod_8F90.html#a985f1dc1a20444cef706d4bb20e0841b":[2,0,19,6],
+"ip__rot__equid__cylind__grid__mod_8F90.html#aa0cf7bb2dd8be1239ae38c7220d29702":[2,0,19,10]
+};
diff --git a/ver-4.4.0/navtreeindex1.js b/ver-4.4.0/navtreeindex1.js
new file mode 100644
index 00000000..df368c6a
--- /dev/null
+++ b/ver-4.4.0/navtreeindex1.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX1 =
+{
+"ip__rot__equid__cylind__grid__mod_8F90.html#ab43075e39d4e2dde4110e608931a392d":[2,0,19,9],
+"ip__rot__equid__cylind__grid__mod_8F90.html#abb0c2acdbd71f0c07ffaf9db54ce06c1":[2,0,19,11],
+"ip__rot__equid__cylind__grid__mod_8F90.html#acb27dfdc6f03dea897d509910365afee":[2,0,19,2],
+"ip__rot__equid__cylind__grid__mod_8F90.html#ad8f1133eb6809705c15337134eafe9fd":[2,0,19,5],
+"ip__rot__equid__cylind__grid__mod_8F90.html#add3c6c1dad5748b452d291df6619867d":[2,0,19,3],
+"ip__rot__equid__cylind__grid__mod_8F90.html#ae08318392106d174ab36cf7dc05c570b":[2,0,19,13],
+"ip__rot__equid__cylind__grid__mod_8F90.html#af5dea0592cccce2de1c5c6a92d42cfd6":[2,0,19,12],
+"ip__rot__equid__cylind__grid__mod_8F90.html#afeb699d0eaa8d157277e93fe8e8c5852":[2,0,19,8],
+"ip__rot__equid__cylind__grid__mod_8F90_source.html":[2,0,19],
+"ip__station__points__grid__mod_8F90.html":[2,0,20],
+"ip__station__points__grid__mod_8F90.html#a4b28ebf2b4fe826c96af69db28e0a1ff":[2,0,20,2],
+"ip__station__points__grid__mod_8F90.html#a8da297b45242279a497dbd7062a33197":[2,0,20,1],
+"ip__station__points__grid__mod_8F90.html#ad17e6d245295803b62b146be984f874d":[2,0,20,3],
+"ip__station__points__grid__mod_8F90_source.html":[2,0,20],
+"iplib__4_8h.html":[2,0,21],
+"iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53":[2,0,21,0],
+"iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1":[2,0,21,1],
+"iplib__4_8h_source.html":[2,0,21],
+"iplib__8_8h.html":[2,0,22],
+"iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93":[2,0,22,1],
+"iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4":[2,0,22,0],
+"iplib__8_8h_source.html":[2,0,22],
+"iplib__d_8h.html":[2,0,23],
+"iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691":[2,0,23,1],
+"iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e":[2,0,23,0],
+"iplib__d_8h_source.html":[2,0,23],
+"ipolates_8F90.html":[2,0,24],
+"ipolates_8F90.html#a2761e20fab898e7fd9963f3e0eb5d104":[2,0,24,5],
+"ipolates_8F90.html#a49541b2af75b7c037a863a4785726856":[2,0,24,4],
+"ipolates_8F90.html#a6b2ea6d5b04d2a68baad261e7a409fac":[2,0,24,3],
+"ipolates_8F90.html#acb5408cf5c3a0f50326edc183f9bd269":[2,0,24,1],
+"ipolates_8F90.html#ae70a9ca9871bb33e038782b036b7b53d":[2,0,24,2],
+"ipolates_8F90_source.html":[2,0,24],
+"ipolatev_8F90.html":[2,0,25],
+"ipolatev_8F90.html#a00fed53dd867a802b3adbc1141e8d272":[2,0,25,3],
+"ipolatev_8F90.html#a71d7507e8f89e1229caaaacb37e0c9c7":[2,0,25,4],
+"ipolatev_8F90.html#a8f3bfec7495e13b75b2035e8e1f081a1":[2,0,25,5],
+"ipolatev_8F90.html#abddc4a9b00133b358443b118f1352d1f":[2,0,25,1],
+"ipolatev_8F90.html#ad535ffd159c46e770effd774aabede58":[2,0,25,2],
+"ipolatev_8F90_source.html":[2,0,25],
+"ipxetas_8F90.html":[2,0,26],
+"ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1":[2,0,26,0],
+"ipxetas_8F90_source.html":[2,0,26],
+"ipxwafs2_8F90.html":[2,0,28],
+"ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894":[2,0,28,0],
+"ipxwafs2_8F90_source.html":[2,0,28],
+"ipxwafs3_8F90.html":[2,0,29],
+"ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d":[2,0,29,0],
+"ipxwafs3_8F90_source.html":[2,0,29],
+"ipxwafs_8F90.html":[2,0,27],
+"ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12":[2,0,27,0],
+"ipxwafs_8F90_source.html":[2,0,27],
+"movect_8F90.html":[2,0,30],
+"movect_8F90.html#a5974e32c0cf90a65b39c68460d761882":[2,0,30,0],
+"movect_8F90_source.html":[2,0,30],
+"namespacebicubic__interp__mod.html":[0,7,0],
+"namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1":[0,7,0,1],
+"namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16":[0,7,0,2],
+"namespacebilinear__interp__mod.html":[0,7,1],
+"namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398":[0,7,1,1],
+"namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04":[0,7,1,2],
+"namespacebudget__interp__mod.html":[0,7,2],
+"namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466":[0,7,2,1],
+"namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803":[0,7,2,2],
+"namespaceearth__radius__mod.html":[0,7,3],
+"namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54":[0,7,3,0],
+"namespacegdswzd__c__mod.html":[0,7,4],
+"namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504":[0,7,4,1],
+"namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4":[0,7,4,0],
+"namespacegdswzd__mod.html":[0,7,5],
+"namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37":[0,7,5,4],
+"namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45":[0,7,5,5],
+"namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4":[0,7,5,3],
+"namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861":[0,7,5,6],
+"namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76":[0,7,5,1],
+"namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25":[0,7,5,2],
+"namespaceip__constants__mod.html":[0,7,6],
+"namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5":[0,7,6,3],
+"namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4":[0,7,6,2],
+"namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15":[0,7,6,4],
+"namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb":[0,7,6,5],
+"namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011":[0,7,6,0],
+"namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545":[0,7,6,1],
+"namespaceip__equid__cylind__grid__mod.html":[0,7,7],
+"namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd":[0,7,7,2],
+"namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb":[0,7,7,7],
+"namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a":[0,7,7,6],
+"namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477":[0,7,7,5],
+"namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f":[0,7,7,8],
+"namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2":[0,7,7,1],
+"namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c":[0,7,7,9],
+"namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d":[0,7,7,3],
+"namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727":[0,7,7,4],
+"namespaceip__gaussian__grid__mod.html":[0,7,8],
+"namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc":[0,7,8,12],
+"namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028":[0,7,8,10],
+"namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9":[0,7,8,4],
+"namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2":[0,7,8,11],
+"namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d":[0,7,8,8],
+"namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01":[0,7,8,5],
+"namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780":[0,7,8,1],
+"namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad":[0,7,8,3],
+"namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d":[0,7,8,2],
+"namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2":[0,7,8,6],
+"namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc":[0,7,8,7],
+"namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a":[0,7,8,9],
+"namespaceip__grid__descriptor__mod.html":[0,7,9],
+"namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451":[0,7,9,6],
+"namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec":[0,7,9,7],
+"namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019":[0,7,9,8],
+"namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988":[0,7,9,9],
+"namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98":[0,7,9,5],
+"namespaceip__grid__factory__mod.html":[0,7,10],
+"namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46":[0,7,10,1],
+"namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225":[0,7,10,3],
+"namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5":[0,7,10,2],
+"namespaceip__grid__mod.html":[0,7,11],
+"namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe":[0,7,11,12],
+"namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316":[0,7,11,10],
+"namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6":[0,7,11,8],
+"namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3":[0,7,11,9],
+"namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c":[0,7,11,18],
+"namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3":[0,7,11,16],
+"namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442":[0,7,11,5],
+"namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045":[0,7,11,6],
+"namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16":[0,7,11,11],
+"namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682":[0,7,11,13],
+"namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb":[0,7,11,7],
+"namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14":[0,7,11,17],
+"namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a":[0,7,11,19],
+"namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856":[0,7,11,14],
+"namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1":[0,7,11,15],
+"namespaceip__grids__mod.html":[0,7,12],
+"namespaceip__interpolators__mod.html":[0,7,13],
+"namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258":[0,7,13,4],
+"namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1":[0,7,13,1],
+"namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359":[0,7,13,2],
+"namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851":[0,7,13,5],
+"namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e":[0,7,13,0],
+"namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c":[0,7,13,3],
+"namespaceip__lambert__conf__grid__mod.html":[0,7,14],
+"namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c":[0,7,14,4],
+"namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81":[0,7,14,8],
+"namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea":[0,7,14,2],
+"namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71":[0,7,14,6],
+"namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae":[0,7,14,5],
+"namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71":[0,7,14,1],
+"namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd":[0,7,14,11],
+"namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8":[0,7,14,7],
+"namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d":[0,7,14,12],
+"namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6":[0,7,14,10],
+"namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7":[0,7,14,9],
+"namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf":[0,7,14,3],
+"namespaceip__mercator__grid__mod.html":[0,7,15],
+"namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f":[0,7,15,7],
+"namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732":[0,7,15,8],
+"namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d":[0,7,15,2],
+"namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd":[0,7,15,4],
+"namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82":[0,7,15,3],
+"namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a":[0,7,15,5],
+"namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e":[0,7,15,1],
+"namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419":[0,7,15,9],
+"namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17":[0,7,15,6],
+"namespaceip__mod.html":[0,7,16],
+"namespaceip__polar__stereo__grid__mod.html":[0,7,17],
+"namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c":[0,7,17,12],
+"namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2":[0,7,17,4],
+"namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5":[0,7,17,14],
+"namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223":[0,7,17,5],
+"namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7":[0,7,17,3],
+"namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645":[0,7,17,11],
+"namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962":[0,7,17,7],
+"namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f":[0,7,17,2],
+"namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18":[0,7,17,13],
+"namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462":[0,7,17,6],
+"namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b":[0,7,17,10],
+"namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354":[0,7,17,8],
+"namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5":[0,7,17,1],
+"namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f":[0,7,17,9],
+"namespaceip__rot__equid__cylind__egrid__mod.html":[0,7,18],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68":[0,7,18,12],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6":[0,7,18,17],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e":[0,7,18,6],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900":[0,7,18,20],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640":[0,7,18,5],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e":[0,7,18,15],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec":[0,7,18,11],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48":[0,7,18,4],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d":[0,7,18,19],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142":[0,7,18,9],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571":[0,7,18,14],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888":[0,7,18,7],
+"namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399":[0,7,18,1],
+"namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab":[0,7,18,2],
+"namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416":[0,7,18,8],
+"namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30":[0,7,18,10],
+"namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b":[0,7,18,18],
+"namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb":[0,7,18,16],
+"namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc":[0,7,18,13],
+"namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0":[0,7,18,3],
+"namespaceip__rot__equid__cylind__grid__mod.html":[0,7,19],
+"namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f":[0,7,19,4],
+"namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10":[0,7,19,7],
+"namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b":[0,7,19,1],
+"namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df":[0,7,19,14],
+"namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1":[0,7,19,15],
+"namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b":[0,7,19,6],
+"namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702":[0,7,19,10],
+"namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d":[0,7,19,9],
+"namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1":[0,7,19,11],
+"namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee":[0,7,19,2],
+"namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd":[0,7,19,5],
+"namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d":[0,7,19,3],
+"namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b":[0,7,19,13],
+"namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6":[0,7,19,12],
+"namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852":[0,7,19,8],
+"namespaceip__station__points__grid__mod.html":[0,7,20],
+"namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff":[0,7,20,2],
+"namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197":[0,7,20,1],
+"namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d":[0,7,20,3],
+"namespaceipolates__mod.html":[0,7,21],
+"namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104":[0,7,21,5],
+"namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856":[0,7,21,4],
+"namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac":[0,7,21,3],
+"namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269":[0,7,21,1],
+"namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d":[0,7,21,2],
+"namespaceipolatev__mod.html":[0,7,22],
+"namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272":[0,7,22,3],
+"namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7":[0,7,22,4],
+"namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1":[0,7,22,5],
+"namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f":[0,7,22,1],
+"namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58":[0,7,22,2],
+"namespacemembers.html":[0,8,0],
+"namespacemembers_func.html":[0,8,1],
+"namespacemembers_vars.html":[0,8,2],
+"namespaceneighbor__budget__interp__mod.html":[0,7,23],
+"namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e":[0,7,23,2],
+"namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817":[0,7,23,1],
+"namespaceneighbor__interp__mod.html":[0,7,24],
+"namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756":[0,7,24,2],
+"namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f":[0,7,24,1],
+"namespacepolfix__mod.html":[0,7,25],
+"namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6":[0,7,25,0],
+"namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d":[0,7,25,1],
+"namespaces.html":[0,7],
+"namespacespectral__interp__mod.html":[0,7,26],
+"namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3":[0,7,26,8],
+"namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618":[0,7,26,3],
+"namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a":[0,7,26,6],
+"namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366":[0,7,26,5]
+};
diff --git a/ver-4.4.0/navtreeindex2.js b/ver-4.4.0/navtreeindex2.js
new file mode 100644
index 00000000..a335f5ed
--- /dev/null
+++ b/ver-4.4.0/navtreeindex2.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX2 =
+{
+"namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0":[0,7,26,4],
+"namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc":[0,7,26,7],
+"neighbor__budget__interp__mod_8F90.html":[2,0,31],
+"neighbor__budget__interp__mod_8F90.html#a4309c1e6b7fc60ded40657fe6c72297e":[2,0,31,2],
+"neighbor__budget__interp__mod_8F90.html#a6d5110a9e9facf8c3132ec27d6857817":[2,0,31,1],
+"neighbor__budget__interp__mod_8F90_source.html":[2,0,31],
+"neighbor__interp__mod_8F90.html":[2,0,32],
+"neighbor__interp__mod_8F90.html#a744ccffd8cd6c13d360e634db4851756":[2,0,32,2],
+"neighbor__interp__mod_8F90.html#a78452d1527c6974ad54091f0318e4b1f":[2,0,32,1],
+"neighbor__interp__mod_8F90_source.html":[2,0,32],
+"pages.html":[],
+"polfix__mod_8F90.html":[2,0,33],
+"polfix__mod_8F90.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6":[2,0,33,0],
+"polfix__mod_8F90.html#aeefc8f045777f6d962d9ec539ef6007d":[2,0,33,1],
+"polfix__mod_8F90_source.html":[2,0,33],
+"spectral__interp__mod_8F90.html":[2,0,34],
+"spectral__interp__mod_8F90.html#a2f76e9900554d90753ca788c2ddf9ac3":[2,0,34,8],
+"spectral__interp__mod_8F90.html#a438646d69e941def0ada00d5ca19f618":[2,0,34,3],
+"spectral__interp__mod_8F90.html#a54dfd0ea8368242a1053d64770bd295a":[2,0,34,6],
+"spectral__interp__mod_8F90.html#ab9fb87d87f2f9d578a5ade6b512ff366":[2,0,34,5],
+"spectral__interp__mod_8F90.html#acb61ad529b7decc2a6ff58dd12fbadd0":[2,0,34,4],
+"spectral__interp__mod_8F90.html#af4ce7638750e787dd69c7fe3ff2335cc":[2,0,34,7],
+"spectral__interp__mod_8F90_source.html":[2,0,34],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html":[1,0,4,0],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,4,0,18],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,4,0,15],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,4,0,8],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,4,0,17],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea":[1,0,4,0,23],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,4,0,2],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,4,0,16],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,4,0,19],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,4,0,12],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7":[1,0,4,0,20],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,4,0,5],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,4,0,10],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70":[1,0,4,0,3],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719":[1,0,4,0,6],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db":[1,0,4,0,4],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,4,0,13],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3":[1,0,4,0,1],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871":[1,0,4,0,22],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,4,0,0],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42":[1,0,4,0,21],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,4,0,11],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7":[1,0,4,0,7],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,4,0,14],
+"structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc":[1,0,4,0,9],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html":[1,0,5,0],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,5,0,20],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,5,0,17],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34":[1,0,5,0,11],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,5,0,7],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,5,0,19],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,5,0,2],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,5,0,18],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,5,0,21],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8":[1,0,5,0,6],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a":[1,0,5,0,4],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44":[1,0,5,0,24],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903":[1,0,5,0,14],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,5,0,13],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,5,0,5],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,5,0,9],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4":[1,0,5,0,12],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d":[1,0,5,0,23],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885":[1,0,5,0,1],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,5,0,15],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,5,0,0],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc":[1,0,5,0,22],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,5,0,10],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,5,0,16],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc":[1,0,5,0,8],
+"structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7":[1,0,5,0,3],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html":[1,0,6,0],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9":[1,0,6,0,2],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95":[1,0,6,0,1],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1":[1,0,6,0,3],
+"structip__grid__descriptor__mod_1_1grib1__descriptor.html#a9da102dac348a63ffce6556ed5da81b6":[1,0,6,0,0],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html":[1,0,6,1],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe":[1,0,6,1,4],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1":[1,0,6,1,5],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#a9da102dac348a63ffce6556ed5da81b6":[1,0,6,1,0],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19":[1,0,6,1,3],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06":[1,0,6,1,2],
+"structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013":[1,0,6,1,1],
+"structip__grid__descriptor__mod_1_1ip__grid__descriptor.html":[1,0,6,3],
+"structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1":[1,0,6,3,1],
+"structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6":[1,0,6,3,0],
+"structip__grid__mod_1_1ip__grid.html":[1,0,8,3],
+"structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,8,3,15],
+"structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,8,3,12],
+"structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,8,3,6],
+"structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,8,3,14],
+"structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,8,3,2],
+"structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,8,3,13],
+"structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,8,3,16],
+"structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,8,3,9],
+"structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,8,3,5],
+"structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,8,3,7],
+"structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806":[1,0,8,3,3],
+"structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080":[1,0,8,3,1],
+"structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,8,3,10],
+"structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,8,3,0],
+"structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9":[1,0,8,3,4],
+"structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,8,3,8],
+"structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,8,3,11],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html":[1,0,9,0],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a":[1,0,9,0,20],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,9,0,19],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,9,0,16],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf":[1,0,9,0,11],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,9,0,8],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,9,0,18],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,9,0,2],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,9,0,17],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,9,0,21],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370":[1,0,9,0,3],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,9,0,13],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc":[1,0,9,0,7],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,9,0,5],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,9,0,10],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932":[1,0,9,0,22],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a":[1,0,9,0,4],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03":[1,0,9,0,9],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4":[1,0,9,0,23],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,9,0,14],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc":[1,0,9,0,6],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc":[1,0,9,0,1],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f":[1,0,9,0,25],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,9,0,0],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,9,0,12],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,9,0,15],
+"structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b":[1,0,9,0,24],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html":[1,0,10,0],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,10,0,18],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,10,0,15],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c":[1,0,10,0,23],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,10,0,8],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,10,0,17],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,10,0,2],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7":[1,0,10,0,20],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,10,0,16],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,10,0,19],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef":[1,0,10,0,21],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5":[1,0,10,0,7],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c":[1,0,10,0,3],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,10,0,12],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee":[1,0,10,0,6],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,10,0,5],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0":[1,0,10,0,4],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,10,0,10],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2":[1,0,10,0,9],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,10,0,13],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a":[1,0,10,0,1],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,10,0,0],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723":[1,0,10,0,22],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,10,0,11],
+"structip__mercator__grid__mod_1_1ip__mercator__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,10,0,14],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html":[1,0,11,0],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640":[1,0,11,0,23],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,11,0,20],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,11,0,17],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10":[1,0,11,0,12],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,11,0,8],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,11,0,19],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f":[1,0,11,0,9],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,11,0,2],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,11,0,18],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,11,0,22],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,11,0,14],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,11,0,5],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,11,0,11],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728":[1,0,11,0,24],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f":[1,0,11,0,10],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,11,0,15],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b":[1,0,11,0,7],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c":[1,0,11,0,4],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21":[1,0,11,0,1],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b":[1,0,11,0,25],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1":[1,0,11,0,6],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,11,0,0],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,11,0,13],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce":[1,0,11,0,3],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,11,0,16],
+"structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4":[1,0,11,0,21],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html":[1,0,12,0],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c":[1,0,12,0,7],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,12,0,20],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,12,0,17],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,12,0,9],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,12,0,19],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,12,0,2],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206":[1,0,12,0,8],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,12,0,18],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,12,0,21],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121":[1,0,12,0,24],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a41a2a38288864520d8c50854d1843f87":[1,0,12,0,14],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,12,0,6],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,12,0,11],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e":[1,0,12,0,12],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780":[1,0,12,0,1],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e":[1,0,12,0,23],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda":[1,0,12,0,5],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08":[1,0,12,0,22],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a92976f110dd7e823799991137ac970a1":[1,0,12,0,15],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5":[1,0,12,0,10],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a":[1,0,12,0,3],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,12,0,0],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66":[1,0,12,0,25],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4":[1,0,12,0,4],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,12,0,13],
+"structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,12,0,16],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html":[1,0,13,0],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,13,0,19],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,13,0,16],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4":[1,0,13,0,1],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,13,0,9],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,13,0,18],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,13,0,2],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f":[1,0,13,0,22],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,13,0,17],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,13,0,20],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634":[1,0,13,0,4],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a":[1,0,13,0,24],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,13,0,13],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5":[1,0,13,0,5],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,13,0,6],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,13,0,10],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85":[1,0,13,0,8],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c":[1,0,13,0,21],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc":[1,0,13,0,23],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,13,0,14],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca":[1,0,13,0,3],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,13,0,0],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,13,0,12],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f":[1,0,13,0,11],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,13,0,15],
+"structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6":[1,0,13,0,7],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html":[1,0,14,0],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a0640093c52461763f904cc2f12c96b6c":[1,0,14,0,15],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a084603b1c052e76c3335fea2e887cfce":[1,0,14,0,12],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a180a5da6c470fac34b8439d4c0a32d2a":[1,0,14,0,6],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18":[1,0,14,0,14],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c":[1,0,14,0,2],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30":[1,0,14,0,13],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8":[1,0,14,0,16],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a41a2a38288864520d8c50854d1843f87":[1,0,14,0,9],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a4a2a0dab09f05931d12615b0ac74bc51":[1,0,14,0,5],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc":[1,0,14,0,7]
+};
diff --git a/ver-4.4.0/navtreeindex3.js b/ver-4.4.0/navtreeindex3.js
new file mode 100644
index 00000000..edc06e23
--- /dev/null
+++ b/ver-4.4.0/navtreeindex3.js
@@ -0,0 +1,10 @@
+var NAVTREEINDEX3 =
+{
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e":[1,0,14,0,4],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a92976f110dd7e823799991137ac970a1":[1,0,14,0,10],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f":[1,0,14,0,1],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32":[1,0,14,0,3],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179":[1,0,14,0,0],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#ae179622b9a4c764a5ca90385330941ed":[1,0,14,0,8],
+"structip__station__points__grid__mod_1_1ip__station__points__grid.html#ae70be8cebcd217a49be4da1cebfc19d2":[1,0,14,0,11]
+};
diff --git a/ver-4.4.0/neighbor__budget__interp__mod_8F90.html b/ver-4.4.0/neighbor__budget__interp__mod_8F90.html
new file mode 100644
index 00000000..e752391c
--- /dev/null
+++ b/ver-4.4.0/neighbor__budget__interp__mod_8F90.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: neighbor_budget_interp_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('neighbor__budget__interp__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">neighbor_budget_interp_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Interpolate scalar and vector fields with neighbor budget interpolation.  
+<a href="#details">More...</a></p>
+
+<p><a href="neighbor__budget__interp__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html">neighbor_budget_interp_mod::interpolate_neighbor_budget</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceneighbor__budget__interp__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__budget__interp__mod.html">neighbor_budget_interp_mod</a></td></tr>
+<tr class="memdesc:namespaceneighbor__budget__interp__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (neighbor). <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a6d5110a9e9facf8c3132ec27d6857817"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">neighbor_budget_interp_mod::interpolate_neighbor_budget_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a6d5110a9e9facf8c3132ec27d6857817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (budget).  <a href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">More...</a><br /></td></tr>
+<tr class="separator:a6d5110a9e9facf8c3132ec27d6857817"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4309c1e6b7fc60ded40657fe6c72297e"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">neighbor_budget_interp_mod::interpolate_neighbor_budget_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a4309c1e6b7fc60ded40657fe6c72297e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (budget).  <a href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">More...</a><br /></td></tr>
+<tr class="separator:a4309c1e6b7fc60ded40657fe6c72297e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interpolate scalar and vector fields with neighbor budget interpolation. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="neighbor__budget__interp__mod_8F90_source.html">neighbor_budget_interp_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="neighbor__budget__interp__mod_8F90.html">neighbor_budget_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/neighbor__budget__interp__mod_8F90.js b/ver-4.4.0/neighbor__budget__interp__mod_8F90.js
new file mode 100644
index 00000000..15ede1c0
--- /dev/null
+++ b/ver-4.4.0/neighbor__budget__interp__mod_8F90.js
@@ -0,0 +1,6 @@
+var neighbor__budget__interp__mod_8F90 =
+[
+    [ "interpolate_neighbor_budget", "interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html", "interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget" ],
+    [ "interpolate_neighbor_budget_scalar", "neighbor__budget__interp__mod_8F90.html#a6d5110a9e9facf8c3132ec27d6857817", null ],
+    [ "interpolate_neighbor_budget_vector", "neighbor__budget__interp__mod_8F90.html#a4309c1e6b7fc60ded40657fe6c72297e", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/neighbor__budget__interp__mod_8F90_source.html b/ver-4.4.0/neighbor__budget__interp__mod_8F90_source.html
new file mode 100644
index 00000000..eaaac4c6
--- /dev/null
+++ b/ver-4.4.0/neighbor__budget__interp__mod_8F90_source.html
@@ -0,0 +1,481 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: neighbor_budget_interp_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('neighbor__budget__interp__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">neighbor_budget_interp_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="neighbor__budget__interp__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="namespaceneighbor__budget__interp__mod.html">    8</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceneighbor__budget__interp__mod.html">neighbor_budget_interp_mod</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacepolfix__mod.html">polfix_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grids__mod.html">ip_grids_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html">interpolate_neighbor_budget</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html">   17</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html">interpolate_neighbor_budget</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">interpolate_neighbor_budget_scalar</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">interpolate_neighbor_budget_vector</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html">interpolate_neighbor_budget</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="comment">! Smallest positive real value (use for equality comparisons)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keywordtype">  REAL</span> :: TINYREAL=tiny(1.0)</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a">  107</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">interpolate_neighbor_budget_scalar</a>(IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;       MI,MO,KM,IBI,LI,GI, &amp;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;       NO,RLAT,RLON,IBO,LO,GO,IRET)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM), IPOPT(20), KM, MI, MO</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: IBO(KM), IRET, NO</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,      <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,      <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM), RLAT(MO), RLON(MO)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">PARAMETER</span>         :: FILL=-9999.</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: IB, I1</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: JB, J1, K, LB, LSW, MP, N</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keywordtype">INTEGER</span>                       :: N11(MO), NB, NB1, NB2, NB3, NB4, NV</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keywordtype">    REAL</span>                          :: PMP,RLOB(MO),RLAB(MO)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keywordtype">    REAL</span>                          :: WB, WO(MO,KM), XI, YI</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">    REAL</span>                          :: XPTB(MO),YPTB(MO),XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keywordflow">       class default</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    iret=0</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keywordflow">if</span>(to_station_points) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no)</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;       <span class="keywordflow">IF</span>(nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no)</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keywordflow">    endif</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    nb1=ipopt(1)</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordflow">IF</span>(nb1.EQ.-1) nb1=2</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.nb1.LT.0) iret=32</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    lsw=1</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    <span class="keywordflow">IF</span>(ipopt(1).EQ.-1.OR.ipopt(2).EQ.-1) lsw=0</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.lsw.EQ.1.AND.nb1.GT.15) iret=32</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    mp=ipopt(3+ipopt(1))</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keywordflow">IF</span>(mp.EQ.-1.OR.mp.EQ.0) mp=50</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="keywordflow">IF</span>(mp.LT.0.OR.mp.GT.100) iret=32</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    pmp=mp*0.01</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;       nb2=2*nb1+1</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;       nb3=nb2*nb2</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;       nb4=nb3</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;       <span class="keywordflow">IF</span>(lsw.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;          nb4=ipopt(2)</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;          <span class="keywordflow">DO</span> ib=1,nb1</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;             nb4=nb4+8*ib*ipopt(2+ib)</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;       nb2=0</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;       nb3=0</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;       nb4=0</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;       <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;          go(n,k)=0.</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;          wo(n,k)=0.</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <span class="comment">!  LOOP OVER SAMPLE POINTS IN OUTPUT GRID BOX</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="keywordflow">DO</span> nb=1,nb3</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS AND COMPUTE THEIR WEIGHTS</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;       jb=(nb-1)/nb2-nb1</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;       ib=nb-(jb+nb1)*nb2-nb1-1</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;       lb=max(abs(ib),abs(jb))</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;       wb=1</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;       <span class="keywordflow">IF</span>(lsw.EQ.1) wb=ipopt(2+lb)</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;       <span class="keywordflow">IF</span>(abs(wb).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;             xptb(n)=xpts(n)+ib/real(nb2)</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;             yptb(n)=ypts(n)+jb/real(nb2)</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;          <span class="keywordflow">if</span>(to_station_points)<span class="keywordflow">then</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in, 1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;          <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keywordflow">          endif</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;          <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0.AND.lb.EQ.0) iret=2</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;             xi=xptb(n)</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;             yi=yptb(n)</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;             <span class="keywordflow">IF</span>(abs(xi-fill).GT.tinyreal.AND.abs(yi-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                i1=nint(xi)</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                j1=nint(yi)</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;                n11(n)=grid_in%field_pos(i1, j1)</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;                n11(n)=0</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;          <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;          <span class="comment">!  INTERPOLATE WITH OR WITHOUT BITMAPS</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;          <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;             <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;                <span class="keywordflow">IF</span>(n11(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;                   <span class="keywordflow">IF</span>(ibi(k).EQ.0.OR.li(n11(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;                      go(n,k)=go(n,k)+wb*gi(n11(n),k)</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;                      wo(n,k)=wo(n,k)+wb</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="comment">!  COMPUTE OUTPUT BITMAPS AND FIELDS</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;       ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;       <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;          lo(n,k)=wo(n,k).GE.pmp*nb4</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;          <span class="keywordflow">IF</span>(lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;             go(n,k)=go(n,k)/wo(n,k)</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;             ibo(k)=1</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;             go(n,k)=0.</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160; </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="keywordflow">    type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;       <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfixs</a>(no,mo,km,rlat,ibo,lo,go)</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160; </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">interpolate_neighbor_budget_scalar</a></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160; </div>
+<div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06">  351</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">interpolate_neighbor_budget_vector</a>(IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;       MI,MO,KM,IBI,LI,UI,VI, &amp;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;       NO,RLAT,RLON,CROT,SROT,IBO,LO,UO,VO,IRET)</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160; </div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keywordtype">INTEGER</span>,         <span class="keywordtype">INTENT(  OUT)</span> :: IRET, NO, IBO(KM)</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,       <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,       <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">INTENT(  OUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keywordtype">    REAL</span>,            <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: N11(MO)</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: IB, JB, I1, J1</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: K, LB, LSW, MP, N, NV</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <span class="keywordtype">INTEGER</span>                        :: NB, NB1, NB2, NB3, NB4</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="keywordtype">LOGICAL</span>                        :: SAME_GRID</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="keywordtype">    REAL</span>                           :: C11(MO),S11(MO)</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="keywordtype">    REAL</span>                           :: CM11, SM11, PMP</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="keywordtype">    REAL</span>                           :: U11, V11, UROT, VROT</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="keywordtype">    REAL</span>                           :: WB, WO(MO,KM), XI, YI</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keywordtype">    REAL</span>                           :: RLOB(MO),RLAB(MO)</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="keywordtype">    REAL</span>                           :: XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="keywordtype">    REAL</span>                           :: XPTB(MO),YPTB(MO)</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160; </div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    <span class="comment">! Save coeffecients between runs and only compute if grid has changed</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <span class="keywordtype">INTEGER</span>,                 <span class="keywordtype">SAVE</span>  :: MIX=-1</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="keywordtype">    REAL</span>,        <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: CROI(:),SROI(:)</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="keywordtype">    REAL</span>,        <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: XPTI(:),YPTI(:)</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="keywordtype">    REAL</span>,        <span class="keywordtype">ALLOCATABLE</span>,<span class="keywordtype">SAVE</span>  :: RLOI(:),RLAI(:)</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span>, <span class="keywordtype">save</span> :: prev_grid_in</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160; </div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="keywordflow">       class default</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    iret=0</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no,crot,srot)</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="keywordflow">if</span>(to_station_points) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv,crot,srot)</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;       <span class="keywordflow">IF</span>(nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="keywordflow">    endif</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;       </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <span class="keywordflow">if</span> (.not. <span class="keyword">allocated</span>(prev_grid_in)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;       <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160; </div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;       same_grid = .false.</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;       same_grid = grid_in == prev_grid_in</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160; </div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;       <span class="keywordflow">if</span> (.not. same_grid) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_in)</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;          <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160; </div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="keywordflow">IF</span>(.NOT.same_grid) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;       <span class="keywordflow">IF</span>(mix.NE.mi) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;          <span class="keywordflow">IF</span>(mix.GE.0) <span class="keyword">DEALLOCATE</span>(xpti,ypti,rloi,rlai,croi,sroi)</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;          <span class="keyword">ALLOCATE</span>(xpti(mi),ypti(mi),rloi(mi),rlai(mi),croi(mi),sroi(mi))</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;          mix=mi</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,0,mi,fill,xpti,ypti, &amp;</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;            rloi,rlai,nv,croi,sroi)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    nb1=ipopt(1)</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <span class="keywordflow">IF</span>(nb1.EQ.-1) nb1=2</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.nb1.LT.0) iret=32</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    lsw=1</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    <span class="keywordflow">IF</span>(ipopt(1).EQ.-1.OR.ipopt(2).EQ.-1) lsw=0</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.lsw.EQ.1.AND.nb1.GT.15) iret=32</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    mp=ipopt(3+ipopt(1))</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordflow">IF</span>(mp.EQ.-1.OR.mp.EQ.0) mp=50</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <span class="keywordflow">IF</span>(mp.LT.0.OR.mp.GT.100) iret=32</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    pmp=mp*0.01</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;       nb2=2*nb1+1</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;       nb3=nb2*nb2</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;       nb4=nb3</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;       <span class="keywordflow">IF</span>(lsw.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;          nb4=ipopt(2)</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;          <span class="keywordflow">DO</span> ib=1,nb1</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;             nb4=nb4+8*ib*ipopt(2+ib)</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;       nb2=0</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;       nb3=0</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;       nb4=0</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;       <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;          uo(n,k)=0</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;          vo(n,k)=0</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;          wo(n,k)=0.</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="comment">!  LOOP OVER SAMPLE POINTS IN OUTPUT GRID BOX</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keywordflow">DO</span> nb=1,nb3</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS AND COMPUTE THEIR WEIGHTS AND ROTATIONS</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;       jb=(nb-1)/nb2-nb1</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;       ib=nb-(jb+nb1)*nb2-nb1-1</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;       lb=max(abs(ib),abs(jb))</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;       wb=1</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;       <span class="keywordflow">IF</span>(lsw.EQ.1) wb=ipopt(2+lb)</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;       <span class="keywordflow">IF</span>(abs(wb).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;             xptb(n)=xpts(n)+ib/real(nb2)</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;             yptb(n)=ypts(n)+jb/real(nb2)</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;          <span class="keywordflow">if</span>(to_station_points)<span class="keywordflow">then</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in, 1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;          <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;             <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xptb,yptb,rlob,rlab,nv)</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="keywordflow">          endif</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;          <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0.AND.lb.EQ.0) iret=2</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;             xi=xptb(n)</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;             yi=yptb(n)</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;             <span class="keywordflow">IF</span>(abs(xi-fill).GT.tinyreal.AND.abs(yi-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;                i1=nint(xi)</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;                j1=nint(yi)</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;                n11(n)=grid_in%field_pos(i1, j1)</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;                <span class="keywordflow">IF</span>(n11(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;                   <span class="keyword">CALL </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(rlai(n11(n)),rloi(n11(n)),rlat(n),rlon(n),cm11,sm11)</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;                   c11(n)=cm11*croi(n11(n))+sm11*sroi(n11(n))</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;                   s11(n)=sm11*croi(n11(n))-cm11*sroi(n11(n))</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;                n11(n)=0</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;          <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;          <span class="comment">!  INTERPOLATE WITH OR WITHOUT BITMAPS</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;          <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;             <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;                <span class="keywordflow">IF</span>(n11(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;                   <span class="keywordflow">IF</span>(ibi(k).EQ.0.OR.li(n11(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;                      u11=c11(n)*ui(n11(n),k)-s11(n)*vi(n11(n),k)</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;                      v11=s11(n)*ui(n11(n),k)+c11(n)*vi(n11(n),k)</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;                      uo(n,k)=uo(n,k)+wb*u11</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;                      vo(n,k)=vo(n,k)+wb*v11</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;                      wo(n,k)=wo(n,k)+wb</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="keywordflow">    ENDDO</span>  <span class="comment">! NB LOOP</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    <span class="comment">!  COMPUTE OUTPUT BITMAPS AND FIELDS</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;       ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;       <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;          lo(n,k)=wo(n,k).GE.pmp*nb4</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;          <span class="keywordflow">IF</span>(lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;             uo(n,k)=uo(n,k)/wo(n,k)</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;             vo(n,k)=vo(n,k)/wo(n,k)</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;             urot=crot(n)*uo(n,k)-srot(n)*vo(n,k)</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;             vrot=srot(n)*uo(n,k)+crot(n)*vo(n,k)</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;             uo(n,k)=urot</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;             vo(n,k)=vrot</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;             ibo(k)=1</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;             uo(n,k)=0.</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;             vo(n,k)=0.</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160; </div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="keywordflow">    type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;       <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfixv</a>(no,mo,km,rlat,rlon,ibo,lo,uo,vo)</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160; </div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">interpolate_neighbor_budget_vector</a></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160; </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceneighbor__budget__interp__mod.html">neighbor_budget_interp_mod</a></div>
+<div class="ttc" id="ainterfacegdswzd__mod_1_1gdswzd_html"><div class="ttname"><a href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd_mod::gdswzd</a></div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00037">gdswzd_mod.F90:37</a></div></div>
+<div class="ttc" id="ainterfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget_html"><div class="ttname"><a href="interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html">neighbor_budget_interp_mod::interpolate_neighbor_budget</a></div><div class="ttdef"><b>Definition:</b> <a href="neighbor__budget__interp__mod_8F90_source.html#l00017">neighbor_budget_interp_mod.F90:17</a></div></div>
+<div class="ttc" id="amovect_8F90_html_a5974e32c0cf90a65b39c68460d761882"><div class="ttname"><a href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a></div><div class="ttdeci">subroutine movect(FLAT, FLON, TLAT, TLON, CROT, SROT)</div><div class="ttdoc">This subprogram provides the rotation parameters to move a vector along a great circle from one posit...</div><div class="ttdef"><b>Definition:</b> <a href="movect_8F90_source.html#l00025">movect.F90:26</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html"><div class="ttname"><a href="namespacegdswzd__mod.html">gdswzd_mod</a></div><div class="ttdoc">Driver module for gdswzd routines.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00025">gdswzd_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__grids__mod_html"><div class="ttname"><a href="namespaceip__grids__mod.html">ip_grids_mod</a></div><div class="ttdoc">Re-export the individual grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grids__mod_8F90_source.html#l00007">ip_grids_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceneighbor__budget__interp__mod_html"><div class="ttname"><a href="namespaceneighbor__budget__interp__mod.html">neighbor_budget_interp_mod</a></div><div class="ttdoc">Interpolate scalar fields (neighbor).</div><div class="ttdef"><b>Definition:</b> <a href="neighbor__budget__interp__mod_8F90_source.html#l00008">neighbor_budget_interp_mod.F90:8</a></div></div>
+<div class="ttc" id="anamespaceneighbor__budget__interp__mod_html_a4309c1e6b7fc60ded40657fe6c72297e"><div class="ttname"><a href="namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e">neighbor_budget_interp_mod::interpolate_neighbor_budget_vector</a></div><div class="ttdeci">subroutine interpolate_neighbor_budget_vector(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">Interpolate vector fields (budget).</div><div class="ttdef"><b>Definition:</b> <a href="neighbor__budget__interp__mod_8F90_source.html#l00351">neighbor_budget_interp_mod.F90:354</a></div></div>
+<div class="ttc" id="anamespaceneighbor__budget__interp__mod_html_a6d5110a9e9facf8c3132ec27d6857817"><div class="ttname"><a href="namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817">neighbor_budget_interp_mod::interpolate_neighbor_budget_scalar</a></div><div class="ttdeci">subroutine interpolate_neighbor_budget_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">Interpolate scalar fields (budget).</div><div class="ttdef"><b>Definition:</b> <a href="neighbor__budget__interp__mod_8F90_source.html#l00107">neighbor_budget_interp_mod.F90:110</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html"><div class="ttname"><a href="namespacepolfix__mod.html">polfix_mod</a></div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00007">polfix_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><div class="ttname"><a href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfix_mod::polfixs</a></div><div class="ttdeci">subroutine, public polfixs(NM, NX, KM, RLAT, IB, LO, GO)</div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00029">polfix_mod.F90:30</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_aeefc8f045777f6d962d9ec539ef6007d"><div class="ttname"><a href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfix_mod::polfixv</a></div><div class="ttdeci">subroutine, public polfixv(NM, NX, KM, RLAT, RLON, IB, LO, UO, VO)</div><div class="ttdoc">Make multiple pole vector values consistent,.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00124">polfix_mod.F90:125</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="neighbor__budget__interp__mod_8F90.html">neighbor_budget_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/neighbor__interp__mod_8F90.html b/ver-4.4.0/neighbor__interp__mod_8F90.html
new file mode 100644
index 00000000..69480747
--- /dev/null
+++ b/ver-4.4.0/neighbor__interp__mod_8F90.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: neighbor_interp_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('neighbor__interp__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">neighbor_interp_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Interpolate scalar and vector fields with neighbor interpolation.  
+<a href="#details">More...</a></p>
+
+<p><a href="neighbor__interp__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html">neighbor_interp_mod::interpolate_neighbor</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespaceneighbor__interp__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__interp__mod.html">neighbor_interp_mod</a></td></tr>
+<tr class="memdesc:namespaceneighbor__interp__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (neighbor). <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a78452d1527c6974ad54091f0318e4b1f"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">neighbor_interp_mod::interpolate_neighbor_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a78452d1527c6974ad54091f0318e4b1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (neighbor).  <a href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">More...</a><br /></td></tr>
+<tr class="separator:a78452d1527c6974ad54091f0318e4b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a744ccffd8cd6c13d360e634db4851756"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">neighbor_interp_mod::interpolate_neighbor_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a744ccffd8cd6c13d360e634db4851756"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (neighbor).  <a href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">More...</a><br /></td></tr>
+<tr class="separator:a744ccffd8cd6c13d360e634db4851756"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interpolate scalar and vector fields with neighbor interpolation. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="neighbor__interp__mod_8F90_source.html">neighbor_interp_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="neighbor__interp__mod_8F90.html">neighbor_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/neighbor__interp__mod_8F90.js b/ver-4.4.0/neighbor__interp__mod_8F90.js
new file mode 100644
index 00000000..90d45008
--- /dev/null
+++ b/ver-4.4.0/neighbor__interp__mod_8F90.js
@@ -0,0 +1,6 @@
+var neighbor__interp__mod_8F90 =
+[
+    [ "interpolate_neighbor", "interfaceneighbor__interp__mod_1_1interpolate__neighbor.html", "interfaceneighbor__interp__mod_1_1interpolate__neighbor" ],
+    [ "interpolate_neighbor_scalar", "neighbor__interp__mod_8F90.html#a78452d1527c6974ad54091f0318e4b1f", null ],
+    [ "interpolate_neighbor_vector", "neighbor__interp__mod_8F90.html#a744ccffd8cd6c13d360e634db4851756", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/neighbor__interp__mod_8F90_source.html b/ver-4.4.0/neighbor__interp__mod_8F90_source.html
new file mode 100644
index 00000000..8c2beb53
--- /dev/null
+++ b/ver-4.4.0/neighbor__interp__mod_8F90_source.html
@@ -0,0 +1,515 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: neighbor_interp_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('neighbor__interp__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">neighbor_interp_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="neighbor__interp__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="namespaceneighbor__interp__mod.html">   20</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespaceneighbor__interp__mod.html">neighbor_interp_mod</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacepolfix__mod.html">polfix_mod</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grids__mod.html">ip_grids_mod</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html">interpolate_neighbor</a></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html">   29</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html">interpolate_neighbor</a></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">interpolate_neighbor_scalar</a></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">interpolate_neighbor_vector</a></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html">interpolate_neighbor</a></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;  <span class="comment">! Smallest positive real value (use for equality comparisons)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keywordtype">  REAL</span> :: TINYREAL=tiny(1.0)</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246">  100</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">interpolate_neighbor_scalar</a>(IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;       MI,MO,KM,IBI,LI,GI,  &amp;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;       NO,RLAT,RLON,IBO,LO,GO,IRET)</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: MI,MO,KM</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordtype">INTEGER</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,             <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keywordtype">    REAL</span>,                  <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordtype">INTEGER</span>                              :: I1,J1,IXS,JXS</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordtype">INTEGER</span>                              :: MSPIRAL,N,K,NK</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keywordtype">INTEGER</span>                              :: NV</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordtype">INTEGER</span>                              :: MX,KXS,KXT,IX,JX,NX</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordtype">LOGICAL</span>                              :: SAME_GRIDI, SAME_GRIDO</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keywordtype">    REAL</span>                                 :: XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordtype">INTEGER</span>,                     <span class="keywordtype">SAVE</span> :: NOX=-1,iretx=-1</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span> :: NXY(:)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span> :: RLATX(:),RLONX(:),XPTSX(:),YPTSX(:)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span>, <span class="keywordtype">save</span> :: prev_grid_in, prev_grid_out</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    iret=0</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    mspiral=max(ipopt(1),1)</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordflow">if</span> (.not. <span class="keyword">allocated</span>(prev_grid_in) .or. .not. <span class="keyword">allocated</span>(prev_grid_out)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;       <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;       <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;       same_gridi = .false.</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;       same_grido = .false.</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;       same_gridi = grid_in == prev_grid_in</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;       same_grido = grid_out == prev_grid_out</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;       <span class="keywordflow">if</span> (.not. same_gridi .or. .not. same_grido) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_in)</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_out)</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;          <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;          <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keywordflow">       class default</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="comment">!  SAVE OR SKIP WEIGHT COMPUTATION</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.(to_station_points.OR..NOT.same_gridi.OR..NOT.same_grido))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;       <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no)</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv)</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;       <span class="comment">!  ALLOCATE AND SAVE GRID DATA</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;       <span class="keywordflow">IF</span>(nox.NE.no) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;          <span class="keywordflow">IF</span>(nox.GE.0) <span class="keyword">DEALLOCATE</span>(rlatx,rlonx,xptsx,yptsx,nxy)</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;          <span class="keyword">ALLOCATE</span>(rlatx(no),rlonx(no),xptsx(no),yptsx(no),nxy(no))</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;          nox=no</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;       iretx=iret</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;       <span class="comment">!  COMPUTE WEIGHTS</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;             rlonx(n)=rlon(n)</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;             rlatx(n)=rlat(n)</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;             xptsx(n)=xpts(n)</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;             yptsx(n)=ypts(n)</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;             <span class="keywordflow">IF</span>(abs(xpts(n)-fill).GT.tinyreal.AND.abs(ypts(n)-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                nxy(n) = grid_in%field_pos(nint(xpts(n)), nint(ypts(n)))</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                nxy(n)=0</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="comment">!  INTERPOLATE OVER ALL FIELDS</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.iretx.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;          no=nox</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;             rlon(n)=rlonx(n)</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;             rlat(n)=rlatx(n)</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;       <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;          xpts(n)=xptsx(n)</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;          ypts(n)=yptsx(n)</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(NK,K,N,I1,J1,IXS,JXS,MX,KXS,KXT,IX,JX,NX) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;       <span class="keywordflow">DO</span> nk=1,no*km</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;          k=(nk-1)/no+1</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;          n=nk-no*(k-1)</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;          go(n,k)=0</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;          lo(n,k)=.false.</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;          <span class="keywordflow">IF</span>(nxy(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;             <span class="keywordflow">IF</span>(ibi(k).EQ.0.OR.li(nxy(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;                go(n,k)=gi(nxy(n),k)</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;                lo(n,k)=.true.</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;                <span class="comment">! SPIRAL AROUND UNTIL VALID DATA IS FOUND.</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;             <span class="keywordflow">ELSEIF</span>(mspiral.GT.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;                i1=nint(xpts(n))</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;                j1=nint(ypts(n))</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;                ixs=int(sign(1.,xpts(n)-i1))</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;                jxs=int(sign(1.,ypts(n)-j1))</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;                <span class="keywordflow">DO</span> mx=2,mspiral**2</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;                   kxs=int(sqrt(4*mx-2.5))</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;                   kxt=mx-(kxs**2/4+1)</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                   <span class="keywordflow">SELECT CASE</span>(mod(kxs,4))</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                   <span class="keywordflow">CASE</span>(1)</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                      ix=i1-ixs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;                      jx=j1-jxs*kxs/4</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;                   <span class="keywordflow">CASE</span>(2)</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;                      ix=i1+ixs*(1+kxs/4)</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;                      jx=j1-jxs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;                   <span class="keywordflow">CASE</span>(3)</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;                      ix=i1+ixs*(1+kxs/4-kxt)</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;                      jx=j1+jxs*(1+kxs/4)</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="keywordflow">                   CASE DEFAULT</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;                      ix=i1-ixs*kxs/4</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;                      jx=j1+jxs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordflow">                   END SELECT</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;                   nx = grid_in%field_pos(ix, jx)</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                   <span class="keywordflow">IF</span>(nx.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;                      <span class="keywordflow">IF</span>(li(nx,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;                         go(n,k)=gi(nx,k)</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;                         lo(n,k)=.true.</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;                         <span class="keywordflow">EXIT</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160; </div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;          ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;          <span class="keywordflow">IF</span>(.NOT.all(lo(1:no,k))) ibo(k)=1</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160; </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;       <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordflow">       type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfixs</a>(no,mo,km,rlat,ibo,lo,go)</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) iret=iretx</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) no=0</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">interpolate_neighbor_scalar</a></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160; </div>
+<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7">  352</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">interpolate_neighbor_vector</a>(IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;       MI,MO,KM,IBI,LI,UI,VI, &amp;</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;       NO,RLAT,RLON,CROT,SROT,IBO,LO,UO,VO,IRET)</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160; </div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20)</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM),MI,MO,KM</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(INOUT)</span> :: NO</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordtype">INTEGER</span>,            <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,          <span class="keywordtype">INTENT(IN   )</span> :: LI(MI,KM)</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="keywordtype">    REAL</span>,               <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="keywordtype">INTEGER</span>                           :: I1,J1,IXS,JXS,MX</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <span class="keywordtype">INTEGER</span>                           :: KXS,KXT,IX,JX,NX</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keywordtype">INTEGER</span>                           :: MSPIRAL,N,K,NK,NV</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="keywordtype">LOGICAL</span>                           :: SAME_GRIDI, SAME_GRIDO</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="keywordtype">    REAL</span>                              :: CX,SX,CM,SM,UROT,VROT</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="keywordtype">    REAL</span>                              :: XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="keywordtype">    REAL</span>                              :: CROI(MI),SROI(MI)</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keywordtype">    REAL</span>                              :: XPTI(MI),YPTI(MI),RLOI(MI),RLAI(MI)</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160; </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    <span class="keywordtype">logical</span> :: to_station_points</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160; </div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    <span class="keywordtype">INTEGER</span>,                     <span class="keywordtype">SAVE</span> :: NOX=-1,iretx=-1</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    <span class="keywordtype">INTEGER</span>,        <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span> :: NXY(:)</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160; </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span> :: RLATX(:),RLONX(:),XPTSX(:),YPTSX(:)</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="keywordtype">    REAL</span>,           <span class="keywordtype">ALLOCATABLE</span>, <span class="keywordtype">SAVE</span> :: CROTX(:),SROTX(:),CXY(:),SXY(:)</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <span class="keywordtype">class</span>(ip_grid), <span class="keywordtype">allocatable</span>, <span class="keywordtype">save</span> :: prev_grid_in, prev_grid_out</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    iret=0</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    mspiral=max(ipopt(1),1)</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160; </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <span class="keywordflow">if</span> (.not. <span class="keyword">allocated</span>(prev_grid_in) .or. .not. <span class="keyword">allocated</span>(prev_grid_out)) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;       <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;       <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;       same_gridi = .false.</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;       same_grido = .false.</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;       same_gridi = grid_in == prev_grid_in</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;       same_grido = grid_out == prev_grid_out</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160; </div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;       <span class="keywordflow">if</span> (.not. same_gridi .or. .not. same_grido) <span class="keywordflow">then</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_in)</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;          <span class="keyword">deallocate</span>(prev_grid_out)</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160; </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;          <span class="keyword">allocate</span>(prev_grid_in, source = grid_in)</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;          <span class="keyword">allocate</span>(prev_grid_out, source = grid_out)</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="keywordflow">       end if</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="keywordflow">    end if</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160; </div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="keywordflow">    type is</span>(ip_station_points_grid)</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;       to_station_points = .true.</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="keywordflow">       class default</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;       to_station_points = .false.</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160; </div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="comment">!  SAVE OR SKIP WEIGHT COMPUTATION</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.(to_station_points.OR..NOT.same_gridi.OR..NOT.same_grido))<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;       <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no,crot,srot)</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;       <span class="comment">!  LOCATE INPUT POINTS</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in,-1,no,fill,xpts,ypts,rlon,rlat,nv)</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0.AND.nv.EQ.0) iret=2</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_in, 0,mi,fill,xpti,ypti,rloi,rlai,nv,croi,sroi)</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;       <span class="comment">!  ALLOCATE AND SAVE GRID DATA</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;       <span class="keywordflow">IF</span>(nox.NE.no) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;          <span class="keywordflow">IF</span>(nox.GE.0) <span class="keyword">DEALLOCATE</span>(rlatx,rlonx,xptsx,yptsx,crotx,srotx,nxy,cxy,sxy)</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;          <span class="keyword">ALLOCATE</span>(rlatx(no),rlonx(no),xptsx(no),yptsx(no), &amp;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;               crotx(no),srotx(no),nxy(no),cxy(no),sxy(no))</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;          nox=no</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;       iretx=iret</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;       <span class="comment">!  COMPUTE WEIGHTS</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N,CM,SM) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;             rlonx(n)=rlon(n)</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;             rlatx(n)=rlat(n)</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;             xptsx(n)=xpts(n)</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;             yptsx(n)=ypts(n)</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;             crotx(n)=crot(n)</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;             srotx(n)=srot(n)</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;             <span class="keywordflow">IF</span>(abs(xpts(n)-fill).GT.tinyreal.AND.abs(ypts(n)-fill).GT.tinyreal) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;                nxy(n) = grid_in%field_pos(nint(xpts(n)),nint(ypts(n)))</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;                <span class="keywordflow">IF</span>(nxy(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;                   <span class="keyword">CALL </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(rlai(nxy(n)),rloi(nxy(n)),rlat(n),rlon(n),cm,sm)</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;                   cxy(n)=cm*croi(nxy(n))+sm*sroi(nxy(n))</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;                   sxy(n)=sm*croi(nxy(n))-cm*sroi(nxy(n))</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="keywordflow">                ENDIF</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;                nxy(n)=0</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="comment">!  INTERPOLATE OVER ALL FIELDS</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.iretx.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;          no=nox</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;             rlon(n)=rlonx(n)</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;             rlat(n)=rlatx(n)</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;             crot(n)=crotx(n)</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;             srot(n)=srotx(n)</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;       <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;          xpts(n)=xptsx(n)</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;          ypts(n)=yptsx(n)</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;       <span class="comment">!$OMP PARALLEL DO &amp;</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;       <span class="comment">!$OMP PRIVATE(NK,K,N,I1,J1,IXS,JXS,MX,KXS,KXT,IX,JX,NX) &amp;</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;       <span class="comment">!$OMP PRIVATE(CM,SM,CX,SX,UROT,VROT) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;       <span class="keywordflow">DO</span> nk=1,no*km</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;          k=(nk-1)/no+1</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;          n=nk-no*(k-1)</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;          uo(n,k)=0</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;          vo(n,k)=0</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;          lo(n,k)=.false.</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;          <span class="keywordflow">IF</span>(nxy(n).GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;             <span class="keywordflow">IF</span>(ibi(k).EQ.0.OR.li(nxy(n),k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;                urot=cxy(n)*ui(nxy(n),k)-sxy(n)*vi(nxy(n),k)</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;                vrot=sxy(n)*ui(nxy(n),k)+cxy(n)*vi(nxy(n),k)</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;                uo(n,k)=crot(n)*urot-srot(n)*vrot</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;                vo(n,k)=srot(n)*urot+crot(n)*vrot</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;                lo(n,k)=.true.</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;                <span class="comment">! SPIRAL AROUND UNTIL VALID DATA IS FOUND.</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;             <span class="keywordflow">ELSEIF</span>(mspiral.GT.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;                i1=nint(xpts(n))</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;                j1=nint(ypts(n))</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;                ixs=int(sign(1.,xpts(n)-i1))</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;                jxs=int(sign(1.,ypts(n)-j1))</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;                <span class="keywordflow">DO</span> mx=2,mspiral**2</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;                   kxs=int(sqrt(4*mx-2.5))</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;                   kxt=mx-(kxs**2/4+1)</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;                   <span class="keywordflow">SELECT CASE</span>(mod(kxs,4))</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;                   <span class="keywordflow">CASE</span>(1)</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;                      ix=i1-ixs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;                      jx=j1-jxs*kxs/4</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;                   <span class="keywordflow">CASE</span>(2)</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;                      ix=i1+ixs*(1+kxs/4)</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;                      jx=j1-jxs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;                   <span class="keywordflow">CASE</span>(3)</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;                      ix=i1+ixs*(1+kxs/4-kxt)</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;                      jx=j1+jxs*(1+kxs/4)</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;<span class="keywordflow">                   CASE DEFAULT</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;                      ix=i1-ixs*kxs/4</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;                      jx=j1+jxs*(kxs/4-kxt)</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="keywordflow">                   END SELECT</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;                   nx = grid_in%field_pos(ix, jx)</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;                   <span class="keywordflow">IF</span>(nx.GT.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;                      <span class="keywordflow">IF</span>(li(nx,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;                         <span class="keyword">CALL </span><a class="code" href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a>(rlai(nx),rloi(nx),rlat(n),rlon(n),cm,sm)</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;                         cx=cm*croi(nx)+sm*sroi(nx)</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;                         sx=sm*croi(nx)-cm*sroi(nx)</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;                         urot=cx*ui(nx,k)-sx*vi(nx,k)</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;                         vrot=sx*ui(nx,k)+cx*vi(nx,k)</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;                         uo(n,k)=crot(n)*urot-srot(n)*vrot</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;                         vo(n,k)=srot(n)*urot+crot(n)*vrot</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;                         lo(n,k)=.true.</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;                         <span class="keywordflow">EXIT</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;<span class="keywordflow">                      ENDIF</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="keywordflow">                   ENDIF</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="keywordflow">                ENDDO</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;          ibo(k)=ibi(k)</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;          <span class="keywordflow">IF</span>(.NOT.all(lo(1:no,k))) ibo(k)=1</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;       <span class="keywordflow">select type</span>(grid_out)</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="keywordflow">       type is</span>(ip_equid_cylind_grid)</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfixv</a>(no,mo,km,rlat,rlon,ibo,lo,uo,vo)</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160; </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;       <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;       <span class="keywordflow">IF</span>(iret.EQ.0) iret=iretx</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;       <span class="keywordflow">IF</span>(.not. to_station_points) no=0</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">interpolate_neighbor_vector</a></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160; </div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="keyword">end module </span><a class="code" href="namespaceneighbor__interp__mod.html">neighbor_interp_mod</a></div>
+<div class="ttc" id="ainterfacegdswzd__mod_1_1gdswzd_html"><div class="ttname"><a href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd_mod::gdswzd</a></div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00037">gdswzd_mod.F90:37</a></div></div>
+<div class="ttc" id="ainterfaceneighbor__interp__mod_1_1interpolate__neighbor_html"><div class="ttname"><a href="interfaceneighbor__interp__mod_1_1interpolate__neighbor.html">neighbor_interp_mod::interpolate_neighbor</a></div><div class="ttdef"><b>Definition:</b> <a href="neighbor__interp__mod_8F90_source.html#l00029">neighbor_interp_mod.F90:29</a></div></div>
+<div class="ttc" id="amovect_8F90_html_a5974e32c0cf90a65b39c68460d761882"><div class="ttname"><a href="movect_8F90.html#a5974e32c0cf90a65b39c68460d761882">movect</a></div><div class="ttdeci">subroutine movect(FLAT, FLON, TLAT, TLON, CROT, SROT)</div><div class="ttdoc">This subprogram provides the rotation parameters to move a vector along a great circle from one posit...</div><div class="ttdef"><b>Definition:</b> <a href="movect_8F90_source.html#l00025">movect.F90:26</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html"><div class="ttname"><a href="namespacegdswzd__mod.html">gdswzd_mod</a></div><div class="ttdoc">Driver module for gdswzd routines.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00025">gdswzd_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__grids__mod_html"><div class="ttname"><a href="namespaceip__grids__mod.html">ip_grids_mod</a></div><div class="ttdoc">Re-export the individual grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grids__mod_8F90_source.html#l00007">ip_grids_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceneighbor__interp__mod_html"><div class="ttname"><a href="namespaceneighbor__interp__mod.html">neighbor_interp_mod</a></div><div class="ttdoc">Interpolate scalar fields (neighbor).</div><div class="ttdef"><b>Definition:</b> <a href="neighbor__interp__mod_8F90_source.html#l00020">neighbor_interp_mod.F90:20</a></div></div>
+<div class="ttc" id="anamespaceneighbor__interp__mod_html_a744ccffd8cd6c13d360e634db4851756"><div class="ttname"><a href="namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756">neighbor_interp_mod::interpolate_neighbor_vector</a></div><div class="ttdeci">subroutine interpolate_neighbor_vector(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">Interpolate vector fields (neighbor).</div><div class="ttdef"><b>Definition:</b> <a href="neighbor__interp__mod_8F90_source.html#l00352">neighbor_interp_mod.F90:355</a></div></div>
+<div class="ttc" id="anamespaceneighbor__interp__mod_html_a78452d1527c6974ad54091f0318e4b1f"><div class="ttname"><a href="namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f">neighbor_interp_mod::interpolate_neighbor_scalar</a></div><div class="ttdeci">subroutine interpolate_neighbor_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">Interpolate scalar fields (neighbor).</div><div class="ttdef"><b>Definition:</b> <a href="neighbor__interp__mod_8F90_source.html#l00100">neighbor_interp_mod.F90:103</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html"><div class="ttname"><a href="namespacepolfix__mod.html">polfix_mod</a></div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00007">polfix_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><div class="ttname"><a href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfix_mod::polfixs</a></div><div class="ttdeci">subroutine, public polfixs(NM, NX, KM, RLAT, IB, LO, GO)</div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00029">polfix_mod.F90:30</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_aeefc8f045777f6d962d9ec539ef6007d"><div class="ttname"><a href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfix_mod::polfixv</a></div><div class="ttdeci">subroutine, public polfixv(NM, NX, KM, RLAT, RLON, IB, LO, UO, VO)</div><div class="ttdoc">Make multiple pole vector values consistent,.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00124">polfix_mod.F90:125</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="neighbor__interp__mod_8F90.html">neighbor_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/open.png b/ver-4.4.0/open.png
new file mode 100644
index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b
GIT binary patch
literal 123
zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y
znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM<Rdl=8h
W@EqZ{ytxBt8iS{+pUXO@geCxcDJg#d

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/polfix__mod_8F90.html b/ver-4.4.0/polfix__mod_8F90.html
new file mode 100644
index 00000000..8940d2b5
--- /dev/null
+++ b/ver-4.4.0/polfix__mod_8F90.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: polfix_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('polfix__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">polfix_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Make multiple pole scalar values consistent.  
+<a href="#details">More...</a></p>
+
+<p><a href="polfix__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespacepolfix__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolfix__mod.html">polfix_mod</a></td></tr>
+<tr class="memdesc:namespacepolfix__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make multiple pole scalar values consistent. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfix_mod::polfixs</a> (NM, NX, KM, RLAT, IB, LO, GO)</td></tr>
+<tr class="memdesc:a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make multiple pole scalar values consistent.  <a href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">More...</a><br /></td></tr>
+<tr class="separator:a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeefc8f045777f6d962d9ec539ef6007d"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfix_mod::polfixv</a> (NM, NX, KM, RLAT, RLON, IB, LO, UO, VO)</td></tr>
+<tr class="memdesc:aeefc8f045777f6d962d9ec539ef6007d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make multiple pole vector values consistent,.  <a href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">More...</a><br /></td></tr>
+<tr class="separator:aeefc8f045777f6d962d9ec539ef6007d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Make multiple pole scalar values consistent. </p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>2021-07-21 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="polfix__mod_8F90_source.html">polfix_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="polfix__mod_8F90.html">polfix_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/polfix__mod_8F90.js b/ver-4.4.0/polfix__mod_8F90.js
new file mode 100644
index 00000000..b8ccde41
--- /dev/null
+++ b/ver-4.4.0/polfix__mod_8F90.js
@@ -0,0 +1,5 @@
+var polfix__mod_8F90 =
+[
+    [ "polfixs", "polfix__mod_8F90.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6", null ],
+    [ "polfixv", "polfix__mod_8F90.html#aeefc8f045777f6d962d9ec539ef6007d", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/polfix__mod_8F90_source.html b/ver-4.4.0/polfix__mod_8F90_source.html
new file mode 100644
index 00000000..08bb8877
--- /dev/null
+++ b/ver-4.4.0/polfix__mod_8F90_source.html
@@ -0,0 +1,288 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: polfix_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('polfix__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">polfix_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="polfix__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="namespacepolfix__mod.html">    7</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespacepolfix__mod.html">polfix_mod</a></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfixs</a>, <a class="code" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfixv</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">   29</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfixs</a>(NM,NX,KM,RLAT,IB,LO,GO)</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keywordtype">INTEGER</span>,    <span class="keywordtype">INTENT(IN   )</span> :: nm, nx, km</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keywordtype">INTEGER</span>,    <span class="keywordtype">INTENT(IN   )</span> :: ib(km)</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,  <span class="keywordtype">INTENT(INOUT)</span> :: lo(nx,km)</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">INTENT(IN   )</span> :: rlat(nm)</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">INTENT(INOUT)</span> :: go(nx,km)</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">PARAMETER</span>     :: rlatnp=89.9995</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keywordtype">    REAL</span>,       <span class="keywordtype">PARAMETER</span>     :: rlatsp=-rlatnp</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordtype">INTEGER</span>                   :: k, n</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keywordtype">    REAL</span>                      :: wnp, gnp, tnp, wsp, gsp, tsp</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;       wnp=0.</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;       gnp=0.</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;       tnp=0.</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;       wsp=0.</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;       gsp=0.</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;       tsp=0.</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;       <span class="comment">!  AVERAGE MULTIPLE POLE VALUES</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N) REDUCTION(+:WNP,GNP,TNP,WSP,GSP,TSP) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;       <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;          <span class="keywordflow">IF</span>(rlat(n).GE.rlatnp) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;             wnp=wnp+1</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;             <span class="keywordflow">IF</span>(ib(k).EQ.0.OR.lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                gnp=gnp+go(n,k)</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                tnp=tnp+1</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;          <span class="keywordflow">ELSEIF</span>(rlat(n).LE.rlatsp) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;             wsp=wsp+1</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;             <span class="keywordflow">IF</span>(ib(k).EQ.0.OR.lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                gsp=gsp+go(n,k)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;                tsp=tsp+1</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;       <span class="comment">!  DISTRIBUTE AVERAGE VALUES BACK TO MULTIPLE POLES</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;       <span class="keywordflow">IF</span>(wnp.GT.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;          <span class="keywordflow">IF</span>(tnp.GE.wnp/2) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;             gnp=gnp/tnp</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;             gnp=0.</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;             <span class="keywordflow">IF</span>(rlat(n).GE.rlatnp) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                <span class="keywordflow">IF</span>(ib(k).NE.0) lo(n,k)=tnp.GE.wnp/2</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                go(n,k)=gnp</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;       <span class="keywordflow">IF</span>(wsp.GT.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;          <span class="keywordflow">IF</span>(tsp.GE.wsp/2) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;             gsp=gsp/tsp</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;             gsp=0.</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;          <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;             <span class="keywordflow">IF</span>(rlat(n).LE.rlatsp) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                <span class="keywordflow">IF</span>(ib(k).NE.0) lo(n,k)=tsp.GE.wsp/2</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                go(n,k)=gsp</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfixs</a></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">  124</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfixv</a>(NM,NX,KM,RLAT,RLON,IB,LO,UO,VO)</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keywordtype">IMPLICIT NONE</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordtype">INTEGER</span>,      <span class="keywordtype">INTENT(IN   )</span> :: ib(km), nm, nx, km</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,    <span class="keywordtype">INTENT(INOUT)</span> :: lo(nx,km)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keywordtype">    REAL</span>,         <span class="keywordtype">INTENT(IN   )</span> :: rlat(nm), rlon(nm)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordtype">    REAL</span>,         <span class="keywordtype">INTENT(INOUT)</span> :: uo(nx,km), vo(nx,km)</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordtype">    REAL</span>,         <span class="keywordtype">PARAMETER</span>     :: rlatnp=89.9995</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keywordtype">    REAL</span>,         <span class="keywordtype">PARAMETER</span>     :: rlatsp=-rlatnp</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keywordtype">    REAL</span>,         <span class="keywordtype">PARAMETER</span>     :: pi=3.14159265358979</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keywordtype">    REAL</span>,         <span class="keywordtype">PARAMETER</span>     :: dpr=180./pi</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordtype">INTEGER</span>                     :: k, n</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keywordtype">    REAL</span>                        :: clon(nm),slon(nm)</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">    REAL</span>                        :: tnp, unp, vnp, wnp</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keywordtype">    REAL</span>                        :: tsp, usp, vsp, wsp</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="comment">!$OMP PARALLEL DO PRIVATE(N) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;       clon(n)=cos(rlon(n)/dpr)</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;       slon(n)=sin(rlon(n)/dpr)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;       wnp=0.</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;       unp=0.</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;       vnp=0.</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;       tnp=0.</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;       wsp=0.</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;       usp=0.</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;       vsp=0.</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;       tsp=0.</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;       <span class="comment">!  AVERAGE MULTIPLE POLE VALUES</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;       <span class="comment">!$OMP PARALLEL DO PRIVATE(N) REDUCTION(+:WNP,UNP,VNP,TNP,WSP,USP,VSP,TSP) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;       <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;          <span class="keywordflow">IF</span>(rlat(n).GE.rlatnp) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;             wnp=wnp+1</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;             <span class="keywordflow">IF</span>(ib(k).EQ.0.OR.lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                unp=unp+(clon(n)*uo(n,k)-slon(n)*vo(n,k))</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                vnp=vnp+(slon(n)*uo(n,k)+clon(n)*vo(n,k))</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                tnp=tnp+1</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;          <span class="keywordflow">ELSEIF</span>(rlat(n).LE.rlatsp) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;             wsp=wsp+1</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;             <span class="keywordflow">IF</span>(ib(k).EQ.0.OR.lo(n,k)) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                usp=usp+(clon(n)*uo(n,k)+slon(n)*vo(n,k))</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                vsp=vsp+(-slon(n)*uo(n,k)+clon(n)*vo(n,k))</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                tsp=tsp+1</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;       <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;       <span class="comment">!  DISTRIBUTE AVERAGE VALUES BACK TO MULTIPLE POLES</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;       <span class="keywordflow">IF</span>(wnp.GT.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;          <span class="keywordflow">IF</span>(tnp.GE.wnp/2) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;             unp=unp/tnp</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;             vnp=vnp/tnp</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;             unp=0.</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;             vnp=0.</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;          <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;             <span class="keywordflow">IF</span>(rlat(n).GE.rlatnp) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                <span class="keywordflow">IF</span>(ib(k).NE.0) lo(n,k)=tnp.GE.wnp/2</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                uo(n,k)=clon(n)*unp+slon(n)*vnp</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                vo(n,k)=-slon(n)*unp+clon(n)*vnp</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;       <span class="keywordflow">IF</span>(wsp.GT.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;          <span class="keywordflow">IF</span>(tsp.GE.wsp/2) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;             usp=usp/wsp</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;             vsp=vsp/wsp</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;          <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;             usp=0.</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;             vsp=0.</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;          <span class="comment">!$OMP PARALLEL DO PRIVATE(N) SCHEDULE(STATIC)</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;          <span class="keywordflow">DO</span> n=1,nm</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;             <span class="keywordflow">IF</span>(rlat(n).LE.rlatsp) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                <span class="keywordflow">IF</span>(ib(k).NE.0) lo(n,k)=tsp.GE.wsp/2</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                uo(n,k)=clon(n)*usp-slon(n)*vsp</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                vo(n,k)=slon(n)*usp+clon(n)*vsp</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;          <span class="comment">!$OMP END PARALLEL DO</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfixv</a></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="keyword">end module </span><a class="code" href="namespacepolfix__mod.html">polfix_mod</a></div>
+<div class="ttc" id="anamespacepolfix__mod_html"><div class="ttname"><a href="namespacepolfix__mod.html">polfix_mod</a></div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00007">polfix_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_a15df1ba2e1fcad1e9465c4aa3a2ba0d6"><div class="ttname"><a href="namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6">polfix_mod::polfixs</a></div><div class="ttdeci">subroutine, public polfixs(NM, NX, KM, RLAT, IB, LO, GO)</div><div class="ttdoc">Make multiple pole scalar values consistent.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00029">polfix_mod.F90:30</a></div></div>
+<div class="ttc" id="anamespacepolfix__mod_html_aeefc8f045777f6d962d9ec539ef6007d"><div class="ttname"><a href="namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d">polfix_mod::polfixv</a></div><div class="ttdeci">subroutine, public polfixv(NM, NX, KM, RLAT, RLON, IB, LO, UO, VO)</div><div class="ttdoc">Make multiple pole vector values consistent,.</div><div class="ttdef"><b>Definition:</b> <a href="polfix__mod_8F90_source.html#l00124">polfix_mod.F90:125</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="polfix__mod_8F90.html">polfix_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/resize.js b/ver-4.4.0/resize.js
new file mode 100644
index 00000000..e1ad0fe3
--- /dev/null
+++ b/ver-4.4.0/resize.js
@@ -0,0 +1,140 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function initResizable()
+{
+  var cookie_namespace = 'doxygen';
+  var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight;
+
+  function readCookie(cookie)
+  {
+    var myCookie = cookie_namespace+"_"+cookie+"=";
+    if (document.cookie) {
+      var index = document.cookie.indexOf(myCookie);
+      if (index != -1) {
+        var valStart = index + myCookie.length;
+        var valEnd = document.cookie.indexOf(";", valStart);
+        if (valEnd == -1) {
+          valEnd = document.cookie.length;
+        }
+        var val = document.cookie.substring(valStart, valEnd);
+        return val;
+      }
+    }
+    return 0;
+  }
+
+  function writeCookie(cookie, val, expiration)
+  {
+    if (val==undefined) return;
+    if (expiration == null) {
+      var date = new Date();
+      date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
+      expiration = date.toGMTString();
+    }
+    document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/";
+  }
+
+  function resizeWidth()
+  {
+    var windowWidth = $(window).width() + "px";
+    var sidenavWidth = $(sidenav).outerWidth();
+    content.css({marginLeft:parseInt(sidenavWidth)+"px"});
+    writeCookie('width',sidenavWidth-barWidth, null);
+  }
+
+  function restoreWidth(navWidth)
+  {
+    var windowWidth = $(window).width() + "px";
+    content.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
+    sidenav.css({width:navWidth + "px"});
+  }
+
+  function resizeHeight()
+  {
+    var headerHeight = header.outerHeight();
+    var footerHeight = footer.outerHeight();
+    var windowHeight = $(window).height() - headerHeight - footerHeight;
+    content.css({height:windowHeight + "px"});
+    navtree.css({height:windowHeight + "px"});
+    sidenav.css({height:windowHeight + "px"});
+    var width=$(window).width();
+    if (width!=collapsedWidth) {
+      if (width<desktop_vp && collapsedWidth>=desktop_vp) {
+        if (!collapsed) {
+          collapseExpand();
+        }
+      } else if (width>desktop_vp && collapsedWidth<desktop_vp) {
+        if (collapsed) {
+          collapseExpand();
+        }
+      }
+      collapsedWidth=width;
+    }
+    if (location.hash.slice(1)) {
+      (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView();
+    }
+  }
+
+  function collapseExpand()
+  {
+    if (sidenav.width()>0) {
+      restoreWidth(0);
+      collapsed=true;
+    }
+    else {
+      var width = readCookie('width');
+      if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); }
+      collapsed=false;
+    }
+  }
+
+  header  = $("#top");
+  sidenav = $("#side-nav");
+  content = $("#doc-content");
+  navtree = $("#nav-tree");
+  footer  = $("#nav-path");
+  $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
+  $(sidenav).resizable({ minWidth: 0 });
+  $(window).resize(function() { resizeHeight(); });
+  var device = navigator.userAgent.toLowerCase();
+  var touch_device = device.match(/(iphone|ipod|ipad|android)/);
+  if (touch_device) { /* wider split bar for touch only devices */
+    $(sidenav).css({ paddingRight:'20px' });
+    $('.ui-resizable-e').css({ width:'20px' });
+    $('#nav-sync').css({ right:'34px' });
+    barWidth=20;
+  }
+  var width = readCookie('width');
+  if (width) { restoreWidth(width); } else { resizeWidth(); }
+  resizeHeight();
+  var url = location.href;
+  var i=url.indexOf("#");
+  if (i>=0) window.location.hash=url.substr(i);
+  var _preventDefault = function(evt) { evt.preventDefault(); };
+  $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
+  $(".ui-resizable-handle").dblclick(collapseExpand);
+  $(window).on('load',resizeHeight);
+}
+/* @license-end */
diff --git a/ver-4.4.0/search/all_0.html b/ver-4.4.0/search/all_0.html
new file mode 100644
index 00000000..1ec5b2d5
--- /dev/null
+++ b/ver-4.4.0/search/all_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_0.js b/ver-4.4.0/search/all_0.js
new file mode 100644
index 00000000..bba3ab42
--- /dev/null
+++ b/ver-4.4.0/search/all_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['an_0',['an',['../namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8',1,'ip_lambert_conf_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/all_1.html b/ver-4.4.0/search/all_1.html
new file mode 100644
index 00000000..9f80e904
--- /dev/null
+++ b/ver-4.4.0/search/all_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_1.js b/ver-4.4.0/search/all_1.js
new file mode 100644
index 00000000..ce0809b3
--- /dev/null
+++ b/ver-4.4.0/search/all_1.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+  ['bicubic_5finterp_5fid_1',['bicubic_interp_id',['../namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e',1,'ip_interpolators_mod']]],
+  ['bicubic_5finterp_5fmod_2',['bicubic_interp_mod',['../namespacebicubic__interp__mod.html',1,'']]],
+  ['bicubic_5finterp_5fmod_2ef90_3',['bicubic_interp_mod.F90',['../bicubic__interp__mod_8F90.html',1,'']]],
+  ['bilinear_5finterp_5fid_4',['bilinear_interp_id',['../namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1',1,'ip_interpolators_mod']]],
+  ['bilinear_5finterp_5fmod_5',['bilinear_interp_mod',['../namespacebilinear__interp__mod.html',1,'']]],
+  ['bilinear_5finterp_5fmod_2ef90_6',['bilinear_interp_mod.F90',['../bilinear__interp__mod_8F90.html',1,'']]],
+  ['blat_7',['blat',['../namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc',1,'ip_gaussian_grid_mod']]],
+  ['budget_5finterp_5fid_8',['budget_interp_id',['../namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359',1,'ip_interpolators_mod']]],
+  ['budget_5finterp_5fmod_9',['budget_interp_mod',['../namespacebudget__interp__mod.html',1,'']]],
+  ['budget_5finterp_5fmod_2ef90_10',['budget_interp_mod.F90',['../budget__interp__mod_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/all_10.html b/ver-4.4.0/search/all_10.html
new file mode 100644
index 00000000..3bf11961
--- /dev/null
+++ b/ver-4.4.0/search/all_10.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_10.js b/ver-4.4.0/search/all_10.js
new file mode 100644
index 00000000..b6c8e486
--- /dev/null
+++ b/ver-4.4.0/search/all_10.js
@@ -0,0 +1,24 @@
+var searchData=
+[
+  ['rerth_227',['rerth',['../namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b',1,'ip_rot_equid_cylind_grid_mod::rerth()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb',1,'ip_rot_equid_cylind_egrid_mod::rerth()'],['../namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5',1,'ip_polar_stereo_grid_mod::rerth()'],['../namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419',1,'ip_mercator_grid_mod::rerth()'],['../namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d',1,'ip_lambert_conf_grid_mod::rerth()'],['../namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2',1,'ip_gaussian_grid_mod::rerth()'],['../namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c',1,'ip_equid_cylind_grid_mod::rerth()'],['../structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8',1,'ip_grid_mod::ip_grid::rerth()']]],
+  ['rerth_5fwgs84_228',['rerth_wgs84',['../namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb',1,'ip_constants_mod']]],
+  ['rlat1_229',['rlat1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlat1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlat1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlat1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7',1,'ip_mercator_grid_mod::ip_mercator_grid::rlat1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlat1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlat1()']]],
+  ['rlat2_230',['rlat2',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid']]],
+  ['rlati_231',['rlati',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef',1,'ip_mercator_grid_mod::ip_mercator_grid']]],
+  ['rlati1_232',['rlati1',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
+  ['rlati2_233',['rlati2',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
+  ['rlon0_234',['rlon0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6',1,'ip_rot_equid_cylind_egrid_mod::rlon0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df',1,'ip_rot_equid_cylind_grid_mod::rlon0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::rlon0()']]],
+  ['rlon1_235',['rlon1',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlon1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlon1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon1()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon1()']]],
+  ['rlon2_236',['rlon2',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon2()']]],
+  ['rot_5fequid_5fcylind_5fb_5fgrid_5fid_5fgrib1_237',['rot_equid_cylind_b_grid_id_grib1',['../namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fe_5fgrid_5fid_5fgrib1_238',['rot_equid_cylind_e_grid_id_grib1',['../namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5ferror_239',['rot_equid_cylind_egrid_error',['../namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fgrid_5farea_240',['rot_equid_cylind_egrid_grid_area',['../namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fmap_5fjacob_241',['rot_equid_cylind_egrid_map_jacob',['../namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fvect_5frot_242',['rot_equid_cylind_egrid_vect_rot',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5ferror_243',['rot_equid_cylind_error',['../namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fgrid_5farea_244',['rot_equid_cylind_grid_area',['../namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fgrid_5fid_5fgrib2_245',['rot_equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fmap_5fjacob_246',['rot_equid_cylind_map_jacob',['../namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fvect_5frot_247',['rot_equid_cylind_vect_rot',['../namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10',1,'ip_rot_equid_cylind_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/all_11.html b/ver-4.4.0/search/all_11.html
new file mode 100644
index 00000000..c9f79d28
--- /dev/null
+++ b/ver-4.4.0/search/all_11.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_11.js b/ver-4.4.0/search/all_11.js
new file mode 100644
index 00000000..f632e449
--- /dev/null
+++ b/ver-4.4.0/search/all_11.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+  ['sbd_248',['sbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]],
+  ['slat_249',['slat',['../namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['slat0_250',['slat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::slat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::slat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d',1,'ip_rot_equid_cylind_egrid_mod::slat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1',1,'ip_rot_equid_cylind_grid_mod::slat0()']]],
+  ['slatr_251',['slatr',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::slatr()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900',1,'ip_rot_equid_cylind_egrid_mod::slatr()']]],
+  ['spectral_5finterp_5fid_252',['spectral_interp_id',['../namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851',1,'ip_interpolators_mod']]],
+  ['spectral_5finterp_5fmod_253',['spectral_interp_mod',['../namespacespectral__interp__mod.html',1,'']]],
+  ['spectral_5finterp_5fmod_2ef90_254',['spectral_interp_mod.F90',['../spectral__interp__mod_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/all_12.html b/ver-4.4.0/search/all_12.html
new file mode 100644
index 00000000..ab934722
--- /dev/null
+++ b/ver-4.4.0/search/all_12.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_12.js b/ver-4.4.0/search/all_12.js
new file mode 100644
index 00000000..497dd64f
--- /dev/null
+++ b/ver-4.4.0/search/all_12.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['wbd_255',['wbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]]
+];
diff --git a/ver-4.4.0/search/all_13.html b/ver-4.4.0/search/all_13.html
new file mode 100644
index 00000000..51172c2f
--- /dev/null
+++ b/ver-4.4.0/search/all_13.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_13.js b/ver-4.4.0/search/all_13.js
new file mode 100644
index 00000000..c7d61e86
--- /dev/null
+++ b/ver-4.4.0/search/all_13.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['ylat_5frow_256',['ylat_row',['../namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc',1,'ip_gaussian_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/all_2.html b/ver-4.4.0/search/all_2.html
new file mode 100644
index 00000000..02cfffc2
--- /dev/null
+++ b/ver-4.4.0/search/all_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_2.js b/ver-4.4.0/search/all_2.js
new file mode 100644
index 00000000..d110ce5e
--- /dev/null
+++ b/ver-4.4.0/search/all_2.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['clat_11',['clat',['../namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['clat0_12',['clat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::clat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::clat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142',1,'ip_rot_equid_cylind_egrid_mod::clat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852',1,'ip_rot_equid_cylind_grid_mod::clat0()']]],
+  ['clatr_13',['clatr',['../namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['clon_14',['clon',['../namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec',1,'ip_rot_equid_cylind_egrid_mod']]]
+];
diff --git a/ver-4.4.0/search/all_3.html b/ver-4.4.0/search/all_3.html
new file mode 100644
index 00000000..39767b85
--- /dev/null
+++ b/ver-4.4.0/search/all_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_3.js b/ver-4.4.0/search/all_3.js
new file mode 100644
index 00000000..dd75091d
--- /dev/null
+++ b/ver-4.4.0/search/all_3.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+  ['de2_15',['de2',['../namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962',1,'ip_polar_stereo_grid_mod']]],
+  ['descriptor_16',['descriptor',['../structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51',1,'ip_grid_mod::ip_grid']]],
+  ['dlat_17',['dlat',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlat()'],['../namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb',1,'ip_equid_cylind_grid_mod::dlat()']]],
+  ['dlats_18',['dlats',['../namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d',1,'ip_rot_equid_cylind_grid_mod::dlats()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68',1,'ip_rot_equid_cylind_egrid_mod::dlats()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlats()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlats()']]],
+  ['dlon_19',['dlon',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8',1,'ip_gaussian_grid_mod::ip_gaussian_grid::dlon()'],['../namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f',1,'ip_mercator_grid_mod::dlon()'],['../namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d',1,'ip_gaussian_grid_mod::dlon()'],['../namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f',1,'ip_equid_cylind_grid_mod::dlon()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee',1,'ip_mercator_grid_mod::ip_mercator_grid::dlon()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlon()']]],
+  ['dlons_20',['dlons',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlons()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlons()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc',1,'ip_rot_equid_cylind_egrid_mod::dlons()'],['../namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702',1,'ip_rot_equid_cylind_grid_mod::dlons()']]],
+  ['dphi_21',['dphi',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5',1,'ip_mercator_grid_mod::ip_mercator_grid::dphi()'],['../namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732',1,'ip_mercator_grid_mod::dphi()']]],
+  ['dpr_22',['dpr',['../namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011',1,'ip_constants_mod']]],
+  ['dxs_23',['dxs',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dxs()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dxs()'],['../namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81',1,'ip_lambert_conf_grid_mod::dxs()'],['../namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354',1,'ip_polar_stereo_grid_mod::dxs()']]],
+  ['dys_24',['dys',['../namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f',1,'ip_polar_stereo_grid_mod::dys()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dys()'],['../namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7',1,'ip_lambert_conf_grid_mod::dys()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dys()']]]
+];
diff --git a/ver-4.4.0/search/all_4.html b/ver-4.4.0/search/all_4.html
new file mode 100644
index 00000000..fc40463c
--- /dev/null
+++ b/ver-4.4.0/search/all_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_4.js b/ver-4.4.0/search/all_4.js
new file mode 100644
index 00000000..e4d501d5
--- /dev/null
+++ b/ver-4.4.0/search/all_4.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+  ['e2_25',['e2',['../namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b',1,'ip_polar_stereo_grid_mod']]],
+  ['e2_5fwgs84_26',['e2_wgs84',['../namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545',1,'ip_constants_mod']]],
+  ['earth_5fradius_27',['earth_radius',['../namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54',1,'earth_radius_mod']]],
+  ['earth_5fradius_5fmod_28',['earth_radius_mod',['../namespaceearth__radius__mod.html',1,'']]],
+  ['earth_5fradius_5fmod_2ef90_29',['earth_radius_mod.F90',['../earth__radius__mod_8F90.html',1,'']]],
+  ['eccen_5fsquared_30',['eccen_squared',['../structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a',1,'ip_grid_mod::ip_grid']]],
+  ['elliptical_31',['elliptical',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid']]],
+  ['equid_5fcylind_5fgrid_5farea_32',['equid_cylind_grid_area',['../namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2',1,'ip_equid_cylind_grid_mod']]],
+  ['equid_5fcylind_5fgrid_5fid_5fgrib1_33',['equid_cylind_grid_id_grib1',['../namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb',1,'ip_grid_mod']]],
+  ['equid_5fcylind_5fgrid_5fid_5fgrib2_34',['equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6',1,'ip_grid_mod']]],
+  ['equid_5fcylind_5fmap_5fjacob_35',['equid_cylind_map_jacob',['../namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd',1,'ip_equid_cylind_grid_mod']]],
+  ['equid_5fcylind_5fvect_5frot_36',['equid_cylind_vect_rot',['../namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d',1,'ip_equid_cylind_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/all_5.html b/ver-4.4.0/search/all_5.html
new file mode 100644
index 00000000..9dd9344b
--- /dev/null
+++ b/ver-4.4.0/search/all_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_5.js b/ver-4.4.0/search/all_5.js
new file mode 100644
index 00000000..e6a8298f
--- /dev/null
+++ b/ver-4.4.0/search/all_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['field_5fpos_37',['field_pos',['../structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179',1,'ip_grid_mod::ip_grid::field_pos()'],['../namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442',1,'ip_grid_mod::field_pos()']]]
+];
diff --git a/ver-4.4.0/search/all_6.html b/ver-4.4.0/search/all_6.html
new file mode 100644
index 00000000..f1e516d7
--- /dev/null
+++ b/ver-4.4.0/search/all_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_6.js b/ver-4.4.0/search/all_6.js
new file mode 100644
index 00000000..6bf0f486
--- /dev/null
+++ b/ver-4.4.0/search/all_6.js
@@ -0,0 +1,37 @@
+var searchData=
+[
+  ['gaussian_5fgrid_5farea_38',['gaussian_grid_area',['../namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780',1,'ip_gaussian_grid_mod']]],
+  ['gaussian_5fgrid_5fid_5fgrib1_39',['gaussian_grid_id_grib1',['../namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3',1,'ip_grid_mod']]],
+  ['gaussian_5fgrid_5fid_5fgrib2_40',['gaussian_grid_id_grib2',['../namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316',1,'ip_grid_mod']]],
+  ['gaussian_5fmap_5fjacob_41',['gaussian_map_jacob',['../namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d',1,'ip_gaussian_grid_mod']]],
+  ['gaussian_5fvect_5frot_42',['gaussian_vect_rot',['../namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad',1,'ip_gaussian_grid_mod']]],
+  ['gds_43',['gds',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9',1,'ip_grid_descriptor_mod::grib1_descriptor']]],
+  ['gdswzd_44',['gdswzd',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a',1,'ip_mercator_grid_mod::ip_mercator_grid::gdswzd()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f',1,'ip_station_points_grid_mod::ip_station_points_grid::gdswzd()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::gdswzd()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::gdswzd()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::gdswzd()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::gdswzd()'],['../structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080',1,'ip_grid_mod::ip_grid::gdswzd()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885',1,'ip_gaussian_grid_mod::ip_gaussian_grid::gdswzd()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::gdswzd()'],['../iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area):&#160;iplib_4.h'],['../iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4',1,'gdswzd(long igdtnum, long *igdtmpl, long igdtlen, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h'],['../interfacegdswzd__mod_1_1gdswzd.html',1,'gdswzd_mod::gdswzd']]],
+  ['gdswzd_5f1d_5farray_45',['gdswzd_1d_array',['../interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b',1,'gdswzd_mod::gdswzd::gdswzd_1d_array()'],['../namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76',1,'gdswzd_mod::gdswzd_1d_array()']]],
+  ['gdswzd_5f2d_5farray_46',['gdswzd_2d_array',['../interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31',1,'gdswzd_mod::gdswzd::gdswzd_2d_array()'],['../namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25',1,'gdswzd_mod::gdswzd_2d_array()']]],
+  ['gdswzd_5f2d_5farray_5fgrib1_47',['gdswzd_2d_array_grib1',['../interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5',1,'gdswzd_mod::gdswzd::gdswzd_2d_array_grib1()'],['../namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4',1,'gdswzd_mod::gdswzd_2d_array_grib1()']]],
+  ['gdswzd_5fc_48',['gdswzd_c',['../namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4',1,'gdswzd_c_mod']]],
+  ['gdswzd_5fc_2ef90_49',['gdswzd_c.F90',['../gdswzd__c_8F90.html',1,'']]],
+  ['gdswzd_5fc_5fgrib1_50',['gdswzd_c_grib1',['../namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504',1,'gdswzd_c_mod']]],
+  ['gdswzd_5fc_5fmod_51',['gdswzd_c_mod',['../namespacegdswzd__c__mod.html',1,'']]],
+  ['gdswzd_5fequid_5fcylind_52',['gdswzd_equid_cylind',['../namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727',1,'ip_equid_cylind_grid_mod']]],
+  ['gdswzd_5fgaussian_53',['gdswzd_gaussian',['../namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9',1,'ip_gaussian_grid_mod']]],
+  ['gdswzd_5fgrib1_54',['gdswzd_grib1',['../namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37',1,'gdswzd_mod::gdswzd_grib1()'],['../iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1',1,'gdswzd_grib1():&#160;iplib_4.h'],['../interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a',1,'gdswzd_mod::gdswzd::gdswzd_grib1()'],['../iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93',1,'gdswzd_grib1(long *kgds, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691',1,'gdswzd_grib1(int *kgds, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h']]],
+  ['gdswzd_5fgrid_55',['gdswzd_grid',['../interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16',1,'gdswzd_mod::gdswzd::gdswzd_grid()'],['../namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45',1,'gdswzd_mod::gdswzd_grid()']]],
+  ['gdswzd_5finterface_56',['gdswzd_interface',['../interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369',1,'ip_grid_mod::gdswzd_interface::gdswzd_interface()'],['../interfaceip__grid__mod_1_1gdswzd__interface.html',1,'ip_grid_mod::gdswzd_interface']]],
+  ['gdswzd_5flambert_5fconf_57',['gdswzd_lambert_conf',['../namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71',1,'ip_lambert_conf_grid_mod']]],
+  ['gdswzd_5fmercator_58',['gdswzd_mercator',['../namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e',1,'ip_mercator_grid_mod']]],
+  ['gdswzd_5fmod_59',['gdswzd_mod',['../namespacegdswzd__mod.html',1,'']]],
+  ['gdswzd_5fmod_2ef90_60',['gdswzd_mod.F90',['../gdswzd__mod_8F90.html',1,'']]],
+  ['gdswzd_5fpolar_5fstereo_61',['gdswzd_polar_stereo',['../namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5',1,'ip_polar_stereo_grid_mod']]],
+  ['gdswzd_5frot_5fequid_5fcylind_62',['gdswzd_rot_equid_cylind',['../namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['gdswzd_5frot_5fequid_5fcylind_5fegrid_63',['gdswzd_rot_equid_cylind_egrid',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['gdswzd_5fscalar_64',['gdswzd_scalar',['../interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd',1,'gdswzd_mod::gdswzd::gdswzd_scalar()'],['../namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861',1,'gdswzd_mod::gdswzd_scalar()']]],
+  ['gdswzd_5fstation_5fpoints_65',['gdswzd_station_points',['../namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197',1,'ip_station_points_grid_mod']]],
+  ['gdt_5flen_66',['gdt_len',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['gdt_5fnum_67',['gdt_num',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['gdt_5ftmpl_68',['gdt_tmpl',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['grib1_5fdescriptor_69',['grib1_descriptor',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['grib2_5fdescriptor_70',['grib2_descriptor',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['grid_5fnum_71',['grid_num',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1',1,'ip_grid_descriptor_mod::ip_grid_descriptor']]]
+];
diff --git a/ver-4.4.0/search/all_7.html b/ver-4.4.0/search/all_7.html
new file mode 100644
index 00000000..8ddbf6c8
--- /dev/null
+++ b/ver-4.4.0/search/all_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_7.js b/ver-4.4.0/search/all_7.js
new file mode 100644
index 00000000..6d09738c
--- /dev/null
+++ b/ver-4.4.0/search/all_7.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['h_72',['h',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::h()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::h()'],['../namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6',1,'ip_lambert_conf_grid_mod::h()'],['../namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645',1,'ip_polar_stereo_grid_mod::h()']]],
+  ['hi_73',['hi',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::hi()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::hi()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2',1,'ip_mercator_grid_mod::ip_mercator_grid::hi()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::hi()']]]
+];
diff --git a/ver-4.4.0/search/all_8.html b/ver-4.4.0/search/all_8.html
new file mode 100644
index 00000000..83c55ae2
--- /dev/null
+++ b/ver-4.4.0/search/all_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_8.js b/ver-4.4.0/search/all_8.js
new file mode 100644
index 00000000..a71457e1
--- /dev/null
+++ b/ver-4.4.0/search/all_8.js
@@ -0,0 +1,106 @@
+var searchData=
+[
+  ['im_74',['im',['../structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc',1,'ip_grid_mod::ip_grid']]],
+  ['init_75',['init',['../structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c',1,'ip_grid_mod::ip_grid']]],
+  ['init_5fdescriptor_76',['init_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['init_5fgrib1_77',['init_grib1',['../namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff',1,'ip_station_points_grid_mod::init_grib1()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib1()'],['../namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477',1,'ip_equid_cylind_grid_mod::init_grib1()'],['../namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01',1,'ip_gaussian_grid_mod::init_grib1()'],['../namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea',1,'ip_lambert_conf_grid_mod::init_grib1()'],['../namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d',1,'ip_mercator_grid_mod::init_grib1()'],['../namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f',1,'ip_polar_stereo_grid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab',1,'ip_rot_equid_cylind_egrid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee',1,'ip_rot_equid_cylind_grid_mod::init_grib1()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib1()'],['../structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806',1,'ip_grid_mod::ip_grid::init_grib1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib1()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib1()']]],
+  ['init_5fgrib1_5fdescriptor_78',['init_grib1_descriptor',['../namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98',1,'ip_grid_descriptor_mod::init_grib1_descriptor()'],['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e',1,'ip_grid_descriptor_mod::init_descriptor::init_grib1_descriptor()']]],
+  ['init_5fgrib1_5finterface_79',['init_grib1_interface',['../interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb',1,'ip_grid_mod::init_grib1_interface::init_grib1_interface()'],['../interfaceip__grid__mod_1_1init__grib1__interface.html',1,'ip_grid_mod::init_grib1_interface']]],
+  ['init_5fgrib2_80',['init_grib2',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib2()'],['../namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d',1,'ip_station_points_grid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d',1,'ip_rot_equid_cylind_grid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0',1,'ip_rot_equid_cylind_egrid_mod::init_grib2()'],['../namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7',1,'ip_polar_stereo_grid_mod::init_grib2()'],['../namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82',1,'ip_mercator_grid_mod::init_grib2()'],['../namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf',1,'ip_lambert_conf_grid_mod::init_grib2()'],['../namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2',1,'ip_gaussian_grid_mod::init_grib2()'],['../namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a',1,'ip_equid_cylind_grid_mod::init_grib2()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib2()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib2()'],['../structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9',1,'ip_grid_mod::ip_grid::init_grib2()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib2()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib2()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib2()']]],
+  ['init_5fgrib2_5fdescriptor_81',['init_grib2_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c',1,'ip_grid_descriptor_mod::init_descriptor::init_grib2_descriptor()'],['../namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451',1,'ip_grid_descriptor_mod::init_grib2_descriptor()']]],
+  ['init_5fgrib2_5finterface_82',['init_grib2_interface',['../interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c',1,'ip_grid_mod::init_grib2_interface::init_grib2_interface()'],['../interfaceip__grid__mod_1_1init__grib2__interface.html',1,'ip_grid_mod::init_grib2_interface']]],
+  ['init_5fgrid_83',['init_grid',['../interfaceip__grid__factory__mod_1_1init__grid.html',1,'ip_grid_factory_mod']]],
+  ['init_5fgrid_5fgeneric_84',['init_grid_generic',['../interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72',1,'ip_grid_factory_mod::init_grid::init_grid_generic()'],['../namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46',1,'ip_grid_factory_mod::init_grid_generic(grid, grid_desc)']]],
+  ['init_5fgrid_5fgrib1_85',['init_grid_grib1',['../namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5',1,'ip_grid_factory_mod']]],
+  ['init_5fgrid_5fgrib2_86',['init_grid_grib2',['../namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225',1,'ip_grid_factory_mod']]],
+  ['interpolate_5fbicubic_87',['interpolate_bicubic',['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html',1,'bicubic_interp_mod']]],
+  ['interpolate_5fbicubic_5fscalar_88',['interpolate_bicubic_scalar',['../namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1',1,'bicubic_interp_mod::interpolate_bicubic_scalar()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_scalar()']]],
+  ['interpolate_5fbicubic_5fvector_89',['interpolate_bicubic_vector',['../namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16',1,'bicubic_interp_mod::interpolate_bicubic_vector()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_vector()']]],
+  ['interpolate_5fbilinear_90',['interpolate_bilinear',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html',1,'bilinear_interp_mod']]],
+  ['interpolate_5fbilinear_5fscalar_91',['interpolate_bilinear_scalar',['../namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398',1,'bilinear_interp_mod::interpolate_bilinear_scalar()'],['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['interpolate_5fbilinear_5fvector_92',['interpolate_bilinear_vector',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_vector()'],['../namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04',1,'bilinear_interp_mod::interpolate_bilinear_vector()']]],
+  ['interpolate_5fbudget_93',['interpolate_budget',['../interfacebudget__interp__mod_1_1interpolate__budget.html',1,'budget_interp_mod']]],
+  ['interpolate_5fbudget_5fscalar_94',['interpolate_budget_scalar',['../interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0',1,'budget_interp_mod::interpolate_budget::interpolate_budget_scalar()'],['../namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466',1,'budget_interp_mod::interpolate_budget_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['interpolate_5fbudget_5fvector_95',['interpolate_budget_vector',['../namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803',1,'budget_interp_mod::interpolate_budget_vector()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6',1,'budget_interp_mod::interpolate_budget::interpolate_budget_vector()']]],
+  ['interpolate_5fneighbor_96',['interpolate_neighbor',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html',1,'neighbor_interp_mod']]],
+  ['interpolate_5fneighbor_5fbudget_97',['interpolate_neighbor_budget',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html',1,'neighbor_budget_interp_mod']]],
+  ['interpolate_5fneighbor_5fbudget_5fscalar_98',['interpolate_neighbor_budget_scalar',['../namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_scalar()'],['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['interpolate_5fneighbor_5fbudget_5fvector_99',['interpolate_neighbor_budget_vector',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_vector()'],['../namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_vector()']]],
+  ['interpolate_5fneighbor_5fscalar_100',['interpolate_neighbor_scalar',['../namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f',1,'neighbor_interp_mod::interpolate_neighbor_scalar()'],['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_scalar()']]],
+  ['interpolate_5fneighbor_5fvector_101',['interpolate_neighbor_vector',['../namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756',1,'neighbor_interp_mod::interpolate_neighbor_vector()'],['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_vector()']]],
+  ['interpolate_5fspectral_102',['interpolate_spectral',['../interfacespectral__interp__mod_1_1interpolate__spectral.html',1,'spectral_interp_mod']]],
+  ['interpolate_5fspectral_5fscalar_103',['interpolate_spectral_scalar',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_scalar()'],['../namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618',1,'spectral_interp_mod::interpolate_spectral_scalar()']]],
+  ['interpolate_5fspectral_5fvector_104',['interpolate_spectral_vector',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_vector()'],['../namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0',1,'spectral_interp_mod::interpolate_spectral_vector()']]],
+  ['ip_5fconstants_5fmod_105',['ip_constants_mod',['../namespaceip__constants__mod.html',1,'']]],
+  ['ip_5fconstants_5fmod_2ef90_106',['ip_constants_mod.F90',['../ip__constants__mod_8F90.html',1,'']]],
+  ['ip_5fequid_5fcylind_5fgrid_107',['ip_equid_cylind_grid',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html',1,'ip_equid_cylind_grid_mod']]],
+  ['ip_5fequid_5fcylind_5fgrid_5fmod_108',['ip_equid_cylind_grid_mod',['../namespaceip__equid__cylind__grid__mod.html',1,'']]],
+  ['ip_5fequid_5fcylind_5fgrid_5fmod_2ef90_109',['ip_equid_cylind_grid_mod.F90',['../ip__equid__cylind__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgaussian_5fgrid_110',['ip_gaussian_grid',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html',1,'ip_gaussian_grid_mod']]],
+  ['ip_5fgaussian_5fgrid_5fmod_111',['ip_gaussian_grid_mod',['../namespaceip__gaussian__grid__mod.html',1,'']]],
+  ['ip_5fgaussian_5fgrid_5fmod_2ef90_112',['ip_gaussian_grid_mod.F90',['../ip__gaussian__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_113',['ip_grid',['../structip__grid__mod_1_1ip__grid.html',1,'ip_grid_mod']]],
+  ['ip_5fgrid_5fdescriptor_114',['ip_grid_descriptor',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['ip_5fgrid_5fdescriptor_5fmod_115',['ip_grid_descriptor_mod',['../namespaceip__grid__descriptor__mod.html',1,'']]],
+  ['ip_5fgrid_5fdescriptor_5fmod_2ef90_116',['ip_grid_descriptor_mod.F90',['../ip__grid__descriptor__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5ffactory_5fmod_117',['ip_grid_factory_mod',['../namespaceip__grid__factory__mod.html',1,'']]],
+  ['ip_5fgrid_5ffactory_5fmod_2ef90_118',['ip_grid_factory_mod.F90',['../ip__grid__factory__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5fmod_119',['ip_grid_mod',['../namespaceip__grid__mod.html',1,'']]],
+  ['ip_5fgrid_5fmod_2ef90_120',['ip_grid_mod.F90',['../ip__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgrids_5fmod_121',['ip_grids_mod',['../namespaceip__grids__mod.html',1,'']]],
+  ['ip_5fgrids_5fmod_2ef90_122',['ip_grids_mod.F90',['../ip__grids__mod_8F90.html',1,'']]],
+  ['ip_5finterpolators_5fmod_123',['ip_interpolators_mod',['../namespaceip__interpolators__mod.html',1,'']]],
+  ['ip_5finterpolators_5fmod_2ef90_124',['ip_interpolators_mod.F90',['../ip__interpolators__mod_8F90.html',1,'']]],
+  ['ip_5flambert_5fconf_5fgrid_125',['ip_lambert_conf_grid',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html',1,'ip_lambert_conf_grid_mod']]],
+  ['ip_5flambert_5fconf_5fgrid_5fmod_126',['ip_lambert_conf_grid_mod',['../namespaceip__lambert__conf__grid__mod.html',1,'']]],
+  ['ip_5flambert_5fconf_5fgrid_5fmod_2ef90_127',['ip_lambert_conf_grid_mod.F90',['../ip__lambert__conf__grid__mod_8F90.html',1,'']]],
+  ['ip_5fmercator_5fgrid_128',['ip_mercator_grid',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html',1,'ip_mercator_grid_mod']]],
+  ['ip_5fmercator_5fgrid_5fmod_129',['ip_mercator_grid_mod',['../namespaceip__mercator__grid__mod.html',1,'']]],
+  ['ip_5fmercator_5fgrid_5fmod_2ef90_130',['ip_mercator_grid_mod.F90',['../ip__mercator__grid__mod_8F90.html',1,'']]],
+  ['ip_5fmod_131',['ip_mod',['../namespaceip__mod.html',1,'']]],
+  ['ip_5fmod_2ef90_132',['ip_mod.F90',['../ip__mod_8F90.html',1,'']]],
+  ['ip_5fpolar_5fstereo_5fgrid_133',['ip_polar_stereo_grid',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html',1,'ip_polar_stereo_grid_mod']]],
+  ['ip_5fpolar_5fstereo_5fgrid_5fmod_134',['ip_polar_stereo_grid_mod',['../namespaceip__polar__stereo__grid__mod.html',1,'']]],
+  ['ip_5fpolar_5fstereo_5fgrid_5fmod_2ef90_135',['ip_polar_stereo_grid_mod.F90',['../ip__polar__stereo__grid__mod_8F90.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_136',['ip_rot_equid_cylind_egrid',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_137',['ip_rot_equid_cylind_egrid_mod',['../namespaceip__rot__equid__cylind__egrid__mod.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_2ef90_138',['ip_rot_equid_cylind_egrid_mod.F90',['../ip__rot__equid__cylind__egrid__mod_8F90.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_139',['ip_rot_equid_cylind_grid',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_140',['ip_rot_equid_cylind_grid_mod',['../namespaceip__rot__equid__cylind__grid__mod.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_2ef90_141',['ip_rot_equid_cylind_grid_mod.F90',['../ip__rot__equid__cylind__grid__mod_8F90.html',1,'']]],
+  ['ip_5fstation_5fpoints_5fgrid_142',['ip_station_points_grid',['../structip__station__points__grid__mod_1_1ip__station__points__grid.html',1,'ip_station_points_grid_mod']]],
+  ['ip_5fstation_5fpoints_5fgrid_5fmod_143',['ip_station_points_grid_mod',['../namespaceip__station__points__grid__mod.html',1,'']]],
+  ['ip_5fstation_5fpoints_5fgrid_5fmod_2ef90_144',['ip_station_points_grid_mod.F90',['../ip__station__points__grid__mod_8F90.html',1,'']]],
+  ['iplib_5f4_2eh_145',['iplib_4.h',['../iplib__4_8h.html',1,'']]],
+  ['iplib_5f8_2eh_146',['iplib_8.h',['../iplib__8_8h.html',1,'']]],
+  ['iplib_5fd_2eh_147',['iplib_d.h',['../iplib__d_8h.html',1,'']]],
+  ['ipolates_148',['ipolates',['../interfaceipolates__mod_1_1ipolates.html',1,'ipolates_mod']]],
+  ['ipolates_2ef90_149',['ipolates.F90',['../ipolates_8F90.html',1,'']]],
+  ['ipolates_5fgrib1_150',['ipolates_grib1',['../interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b',1,'ipolates_mod::ipolates::ipolates_grib1()'],['../namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269',1,'ipolates_mod::ipolates_grib1()']]],
+  ['ipolates_5fgrib1_5fsingle_5ffield_151',['ipolates_grib1_single_field',['../interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d',1,'ipolates_mod::ipolates::ipolates_grib1_single_field()'],['../namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d',1,'ipolates_mod::ipolates_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)']]],
+  ['ipolates_5fgrib2_152',['ipolates_grib2',['../namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac',1,'ipolates_mod::ipolates_grib2()'],['../interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b',1,'ipolates_mod::ipolates::ipolates_grib2(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['ipolates_5fgrib2_5fsingle_5ffield_153',['ipolates_grib2_single_field',['../interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240',1,'ipolates_mod::ipolates::ipolates_grib2_single_field()'],['../namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856',1,'ipolates_mod::ipolates_grib2_single_field(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['ipolates_5fgrid_154',['ipolates_grid',['../namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104',1,'ipolates_mod']]],
+  ['ipolates_5fmod_155',['ipolates_mod',['../namespaceipolates__mod.html',1,'']]],
+  ['ipolatev_156',['ipolatev',['../interfaceipolatev__mod_1_1ipolatev.html',1,'ipolatev_mod']]],
+  ['ipolatev_2ef90_157',['ipolatev.F90',['../ipolatev_8F90.html',1,'']]],
+  ['ipolatev_5fgrib1_158',['ipolatev_grib1',['../namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f',1,'ipolatev_mod::ipolatev_grib1()'],['../interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53',1,'ipolatev_mod::ipolatev::ipolatev_grib1()']]],
+  ['ipolatev_5fgrib1_5fsingle_5ffield_159',['ipolatev_grib1_single_field',['../namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58',1,'ipolatev_mod::ipolatev_grib1_single_field()'],['../interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5',1,'ipolatev_mod::ipolatev::ipolatev_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
+  ['ipolatev_5fgrib2_160',['ipolatev_grib2',['../interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe',1,'ipolatev_mod::ipolatev::ipolatev_grib2()'],['../namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272',1,'ipolatev_mod::ipolatev_grib2()']]],
+  ['ipolatev_5fgrib2_5fsingle_5ffield_161',['ipolatev_grib2_single_field',['../interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd',1,'ipolatev_mod::ipolatev::ipolatev_grib2_single_field()'],['../namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7',1,'ipolatev_mod::ipolatev_grib2_single_field(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
+  ['ipolatev_5fgrid_162',['ipolatev_grid',['../namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1',1,'ipolatev_mod']]],
+  ['ipolatev_5fmod_163',['ipolatev_mod',['../namespaceipolatev__mod.html',1,'']]],
+  ['ipxetas_164',['ipxetas',['../ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1',1,'ipxetas.F90']]],
+  ['ipxetas_2ef90_165',['ipxetas.F90',['../ipxetas_8F90.html',1,'']]],
+  ['ipxwafs_166',['ipxwafs',['../ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12',1,'ipxwafs.F90']]],
+  ['ipxwafs_2ef90_167',['ipxwafs.F90',['../ipxwafs_8F90.html',1,'']]],
+  ['ipxwafs2_168',['ipxwafs2',['../ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894',1,'ipxwafs2.F90']]],
+  ['ipxwafs2_2ef90_169',['ipxwafs2.F90',['../ipxwafs2_8F90.html',1,'']]],
+  ['ipxwafs3_170',['ipxwafs3',['../ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d',1,'ipxwafs3.F90']]],
+  ['ipxwafs3_2ef90_171',['ipxwafs3.F90',['../ipxwafs3_8F90.html',1,'']]],
+  ['irot_172',['irot',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::irot()'],['../namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1',1,'ip_rot_equid_cylind_grid_mod::irot()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571',1,'ip_rot_equid_cylind_egrid_mod::irot()'],['../namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c',1,'ip_polar_stereo_grid_mod::irot()'],['../namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd',1,'ip_lambert_conf_grid_mod::irot()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::irot()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::irot()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::irot()']]],
+  ['is_5fsame_5fgrid_173',['is_same_grid',['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b',1,'ip_grid_mod::operator(==)::is_same_grid()'],['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c',1,'ip_grid_descriptor_mod::operator(==)::is_same_grid()'],['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6',1,'ip_grid_descriptor_mod::ip_grid_descriptor::is_same_grid()'],['../namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec',1,'ip_grid_descriptor_mod::is_same_grid()'],['../namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045',1,'ip_grid_mod::is_same_grid()']]],
+  ['is_5fsame_5fgrid_5fgrib1_174',['is_same_grid_grib1',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95',1,'ip_grid_descriptor_mod::grib1_descriptor::is_same_grid_grib1()'],['../namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019',1,'ip_grid_descriptor_mod::is_same_grid_grib1()']]],
+  ['is_5fsame_5fgrid_5fgrib2_175',['is_same_grid_grib2',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013',1,'ip_grid_descriptor_mod::grib2_descriptor::is_same_grid_grib2()'],['../namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988',1,'ip_grid_descriptor_mod::is_same_grid_grib2()']]],
+  ['iwrap_176',['iwrap',['../structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed',1,'ip_grid_mod::ip_grid']]]
+];
diff --git a/ver-4.4.0/search/all_9.html b/ver-4.4.0/search/all_9.html
new file mode 100644
index 00000000..1e263c13
--- /dev/null
+++ b/ver-4.4.0/search/all_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_9.js b/ver-4.4.0/search/all_9.js
new file mode 100644
index 00000000..30c115e1
--- /dev/null
+++ b/ver-4.4.0/search/all_9.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+  ['j1_177',['j1',['../namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a',1,'ip_gaussian_grid_mod']]],
+  ['jg_178',['jg',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
+  ['jh_179',['jh',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4',1,'ip_gaussian_grid_mod::ip_gaussian_grid::jh()'],['../namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028',1,'ip_gaussian_grid_mod::jh()']]],
+  ['jm_180',['jm',['../structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87',1,'ip_grid_mod::ip_grid']]],
+  ['jscan_181',['jscan',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
+  ['jwrap1_182',['jwrap1',['../structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1',1,'ip_grid_mod::ip_grid']]],
+  ['jwrap2_183',['jwrap2',['../structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2',1,'ip_grid_mod::ip_grid']]]
+];
diff --git a/ver-4.4.0/search/all_a.html b/ver-4.4.0/search/all_a.html
new file mode 100644
index 00000000..3a6cac10
--- /dev/null
+++ b/ver-4.4.0/search/all_a.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_a.js b/ver-4.4.0/search/all_a.js
new file mode 100644
index 00000000..0d356f58
--- /dev/null
+++ b/ver-4.4.0/search/all_a.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['kd_184',['kd',['../namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e',1,'ip_rot_equid_cylind_egrid_mod::kd()'],['../namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6',1,'ip_rot_equid_cylind_grid_mod::kd()']]],
+  ['kscan_185',['kscan',['../structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce',1,'ip_grid_mod::ip_grid']]]
+];
diff --git a/ver-4.4.0/search/all_b.html b/ver-4.4.0/search/all_b.html
new file mode 100644
index 00000000..130deb4e
--- /dev/null
+++ b/ver-4.4.0/search/all_b.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_b.js b/ver-4.4.0/search/all_b.js
new file mode 100644
index 00000000..7cc3d8c6
--- /dev/null
+++ b/ver-4.4.0/search/all_b.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+  ['lambert_5fconf_5fgrid_5farea_186',['lambert_conf_grid_area',['../namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c',1,'ip_lambert_conf_grid_mod']]],
+  ['lambert_5fconf_5fgrid_5fid_5fgrib1_187',['lambert_conf_grid_id_grib1',['../namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16',1,'ip_grid_mod']]],
+  ['lambert_5fconf_5fgrid_5fid_5fgrib2_188',['lambert_conf_grid_id_grib2',['../namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe',1,'ip_grid_mod']]],
+  ['lambert_5fconf_5fmap_5fjacob_189',['lambert_conf_map_jacob',['../namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae',1,'ip_lambert_conf_grid_mod']]],
+  ['lambert_5fconf_5fvect_5frot_190',['lambert_conf_vect_rot',['../namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71',1,'ip_lambert_conf_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/all_c.html b/ver-4.4.0/search/all_c.html
new file mode 100644
index 00000000..3dd5af06
--- /dev/null
+++ b/ver-4.4.0/search/all_c.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_c.js b/ver-4.4.0/search/all_c.js
new file mode 100644
index 00000000..39deed48
--- /dev/null
+++ b/ver-4.4.0/search/all_c.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+  ['mercator_5fgrid_5farea_191',['mercator_grid_area',['../namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd',1,'ip_mercator_grid_mod']]],
+  ['mercator_5fgrid_5fid_5fgrib1_192',['mercator_grid_id_grib1',['../namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682',1,'ip_grid_mod']]],
+  ['mercator_5fgrid_5fid_5fgrib2_193',['mercator_grid_id_grib2',['../namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856',1,'ip_grid_mod']]],
+  ['mercator_5fmap_5fjacob_194',['mercator_map_jacob',['../namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a',1,'ip_mercator_grid_mod']]],
+  ['mercator_5fvect_5frot_195',['mercator_vect_rot',['../namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17',1,'ip_mercator_grid_mod']]],
+  ['movect_196',['movect',['../movect_8F90.html#a5974e32c0cf90a65b39c68460d761882',1,'movect.F90']]],
+  ['movect_2ef90_197',['movect.F90',['../movect_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/all_d.html b/ver-4.4.0/search/all_d.html
new file mode 100644
index 00000000..af7f2f0f
--- /dev/null
+++ b/ver-4.4.0/search/all_d.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_d.js b/ver-4.4.0/search/all_d.js
new file mode 100644
index 00000000..4ce592d2
--- /dev/null
+++ b/ver-4.4.0/search/all_d.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+  ['neighbor_5fbudget_5finterp_5fid_198',['neighbor_budget_interp_id',['../namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c',1,'ip_interpolators_mod']]],
+  ['neighbor_5fbudget_5finterp_5fmod_199',['neighbor_budget_interp_mod',['../namespaceneighbor__budget__interp__mod.html',1,'']]],
+  ['neighbor_5fbudget_5finterp_5fmod_2ef90_200',['neighbor_budget_interp_mod.F90',['../neighbor__budget__interp__mod_8F90.html',1,'']]],
+  ['neighbor_5finterp_5fid_201',['neighbor_interp_id',['../namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258',1,'ip_interpolators_mod']]],
+  ['neighbor_5finterp_5fmod_202',['neighbor_interp_mod',['../namespaceneighbor__interp__mod.html',1,'']]],
+  ['neighbor_5finterp_5fmod_2ef90_203',['neighbor_interp_mod.F90',['../neighbor__interp__mod_8F90.html',1,'']]],
+  ['nm_204',['nm',['../structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30',1,'ip_grid_mod::ip_grid']]],
+  ['nscan_205',['nscan',['../structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18',1,'ip_grid_mod::ip_grid']]],
+  ['nscan_5ffield_5fpos_206',['nscan_field_pos',['../structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c',1,'ip_grid_mod::ip_grid']]]
+];
diff --git a/ver-4.4.0/search/all_e.html b/ver-4.4.0/search/all_e.html
new file mode 100644
index 00000000..e25df423
--- /dev/null
+++ b/ver-4.4.0/search/all_e.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_e.js b/ver-4.4.0/search/all_e.js
new file mode 100644
index 00000000..65e3b557
--- /dev/null
+++ b/ver-4.4.0/search/all_e.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['operator_28_3d_3d_29_207',['operator(==)',['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_descriptor_mod::operator(==)'],['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_mod::operator(==)']]],
+  ['orient_208',['orient',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::orient()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::orient()'],['../namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18',1,'ip_polar_stereo_grid_mod::orient()']]]
+];
diff --git a/ver-4.4.0/search/all_f.html b/ver-4.4.0/search/all_f.html
new file mode 100644
index 00000000..b23da6ce
--- /dev/null
+++ b/ver-4.4.0/search/all_f.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/all_f.js b/ver-4.4.0/search/all_f.js
new file mode 100644
index 00000000..c413a722
--- /dev/null
+++ b/ver-4.4.0/search/all_f.js
@@ -0,0 +1,21 @@
+var searchData=
+[
+  ['pi_209',['pi',['../namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4',1,'ip_constants_mod']]],
+  ['pi2_210',['pi2',['../namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5',1,'ip_constants_mod']]],
+  ['pi4_211',['pi4',['../namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15',1,'ip_constants_mod']]],
+  ['polar_5fstereo_5fgrid_5farea_212',['polar_stereo_grid_area',['../namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2',1,'ip_polar_stereo_grid_mod']]],
+  ['polar_5fstereo_5fgrid_5fid_5fgrib1_213',['polar_stereo_grid_id_grib1',['../namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1',1,'ip_grid_mod']]],
+  ['polar_5fstereo_5fgrid_5fid_5fgrib2_214',['polar_stereo_grid_id_grib2',['../namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3',1,'ip_grid_mod']]],
+  ['polar_5fstereo_5fmap_5fjacob_215',['polar_stereo_map_jacob',['../namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223',1,'ip_polar_stereo_grid_mod']]],
+  ['polar_5fstereo_5fvect_5frot_216',['polar_stereo_vect_rot',['../namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462',1,'ip_polar_stereo_grid_mod']]],
+  ['polates4_217',['polates4',['../interfacespectral__interp__mod_1_1polates4.html',1,'spectral_interp_mod']]],
+  ['polates4_5fgrib1_218',['polates4_grib1',['../namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366',1,'spectral_interp_mod::polates4_grib1()'],['../interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4',1,'spectral_interp_mod::polates4::polates4_grib1()']]],
+  ['polates4_5fgrib2_219',['polates4_grib2',['../namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a',1,'spectral_interp_mod::polates4_grib2()'],['../interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9',1,'spectral_interp_mod::polates4::polates4_grib2()']]],
+  ['polatev4_220',['polatev4',['../interfacespectral__interp__mod_1_1polatev4.html',1,'spectral_interp_mod']]],
+  ['polatev4_5fgrib1_221',['polatev4_grib1',['../interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8',1,'spectral_interp_mod::polatev4::polatev4_grib1()'],['../namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc',1,'spectral_interp_mod::polatev4_grib1()']]],
+  ['polatev4_5fgrib2_222',['polatev4_grib2',['../interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b',1,'spectral_interp_mod::polatev4::polatev4_grib2()'],['../namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3',1,'spectral_interp_mod::polatev4_grib2()']]],
+  ['polfix_5fmod_223',['polfix_mod',['../namespacepolfix__mod.html',1,'']]],
+  ['polfix_5fmod_2ef90_224',['polfix_mod.F90',['../polfix__mod_8F90.html',1,'']]],
+  ['polfixs_225',['polfixs',['../namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6',1,'polfix_mod']]],
+  ['polfixv_226',['polfixv',['../namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d',1,'polfix_mod']]]
+];
diff --git a/ver-4.4.0/search/classes_0.html b/ver-4.4.0/search/classes_0.html
new file mode 100644
index 00000000..af8159ee
--- /dev/null
+++ b/ver-4.4.0/search/classes_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/classes_0.js b/ver-4.4.0/search/classes_0.js
new file mode 100644
index 00000000..4fdd10ec
--- /dev/null
+++ b/ver-4.4.0/search/classes_0.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['gdswzd_257',['gdswzd',['../interfacegdswzd__mod_1_1gdswzd.html',1,'gdswzd_mod']]],
+  ['gdswzd_5finterface_258',['gdswzd_interface',['../interfaceip__grid__mod_1_1gdswzd__interface.html',1,'ip_grid_mod']]],
+  ['grib1_5fdescriptor_259',['grib1_descriptor',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['grib2_5fdescriptor_260',['grib2_descriptor',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html',1,'ip_grid_descriptor_mod']]]
+];
diff --git a/ver-4.4.0/search/classes_1.html b/ver-4.4.0/search/classes_1.html
new file mode 100644
index 00000000..576e9168
--- /dev/null
+++ b/ver-4.4.0/search/classes_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/classes_1.js b/ver-4.4.0/search/classes_1.js
new file mode 100644
index 00000000..8849198d
--- /dev/null
+++ b/ver-4.4.0/search/classes_1.js
@@ -0,0 +1,25 @@
+var searchData=
+[
+  ['init_5fdescriptor_261',['init_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['init_5fgrib1_5finterface_262',['init_grib1_interface',['../interfaceip__grid__mod_1_1init__grib1__interface.html',1,'ip_grid_mod']]],
+  ['init_5fgrib2_5finterface_263',['init_grib2_interface',['../interfaceip__grid__mod_1_1init__grib2__interface.html',1,'ip_grid_mod']]],
+  ['init_5fgrid_264',['init_grid',['../interfaceip__grid__factory__mod_1_1init__grid.html',1,'ip_grid_factory_mod']]],
+  ['interpolate_5fbicubic_265',['interpolate_bicubic',['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html',1,'bicubic_interp_mod']]],
+  ['interpolate_5fbilinear_266',['interpolate_bilinear',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html',1,'bilinear_interp_mod']]],
+  ['interpolate_5fbudget_267',['interpolate_budget',['../interfacebudget__interp__mod_1_1interpolate__budget.html',1,'budget_interp_mod']]],
+  ['interpolate_5fneighbor_268',['interpolate_neighbor',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html',1,'neighbor_interp_mod']]],
+  ['interpolate_5fneighbor_5fbudget_269',['interpolate_neighbor_budget',['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html',1,'neighbor_budget_interp_mod']]],
+  ['interpolate_5fspectral_270',['interpolate_spectral',['../interfacespectral__interp__mod_1_1interpolate__spectral.html',1,'spectral_interp_mod']]],
+  ['ip_5fequid_5fcylind_5fgrid_271',['ip_equid_cylind_grid',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html',1,'ip_equid_cylind_grid_mod']]],
+  ['ip_5fgaussian_5fgrid_272',['ip_gaussian_grid',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html',1,'ip_gaussian_grid_mod']]],
+  ['ip_5fgrid_273',['ip_grid',['../structip__grid__mod_1_1ip__grid.html',1,'ip_grid_mod']]],
+  ['ip_5fgrid_5fdescriptor_274',['ip_grid_descriptor',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html',1,'ip_grid_descriptor_mod']]],
+  ['ip_5flambert_5fconf_5fgrid_275',['ip_lambert_conf_grid',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html',1,'ip_lambert_conf_grid_mod']]],
+  ['ip_5fmercator_5fgrid_276',['ip_mercator_grid',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html',1,'ip_mercator_grid_mod']]],
+  ['ip_5fpolar_5fstereo_5fgrid_277',['ip_polar_stereo_grid',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html',1,'ip_polar_stereo_grid_mod']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_278',['ip_rot_equid_cylind_egrid',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_279',['ip_rot_equid_cylind_grid',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['ip_5fstation_5fpoints_5fgrid_280',['ip_station_points_grid',['../structip__station__points__grid__mod_1_1ip__station__points__grid.html',1,'ip_station_points_grid_mod']]],
+  ['ipolates_281',['ipolates',['../interfaceipolates__mod_1_1ipolates.html',1,'ipolates_mod']]],
+  ['ipolatev_282',['ipolatev',['../interfaceipolatev__mod_1_1ipolatev.html',1,'ipolatev_mod']]]
+];
diff --git a/ver-4.4.0/search/classes_2.html b/ver-4.4.0/search/classes_2.html
new file mode 100644
index 00000000..956405e5
--- /dev/null
+++ b/ver-4.4.0/search/classes_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/classes_2.js b/ver-4.4.0/search/classes_2.js
new file mode 100644
index 00000000..d39bf9dc
--- /dev/null
+++ b/ver-4.4.0/search/classes_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['operator_28_3d_3d_29_283',['operator(==)',['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_descriptor_mod::operator(==)'],['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html',1,'ip_grid_mod::operator(==)']]]
+];
diff --git a/ver-4.4.0/search/classes_3.html b/ver-4.4.0/search/classes_3.html
new file mode 100644
index 00000000..d33343bc
--- /dev/null
+++ b/ver-4.4.0/search/classes_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/classes_3.js b/ver-4.4.0/search/classes_3.js
new file mode 100644
index 00000000..b9c3d42a
--- /dev/null
+++ b/ver-4.4.0/search/classes_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['polates4_284',['polates4',['../interfacespectral__interp__mod_1_1polates4.html',1,'spectral_interp_mod']]],
+  ['polatev4_285',['polatev4',['../interfacespectral__interp__mod_1_1polatev4.html',1,'spectral_interp_mod']]]
+];
diff --git a/ver-4.4.0/search/close.svg b/ver-4.4.0/search/close.svg
new file mode 100644
index 00000000..a933eea1
--- /dev/null
+++ b/ver-4.4.0/search/close.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 11 11"
+   height="11"
+   width="11"
+   id="svg2"
+   version="1.1">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <path
+     id="path12"
+     d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
+     style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
+</svg>
diff --git a/ver-4.4.0/search/files_0.html b/ver-4.4.0/search/files_0.html
new file mode 100644
index 00000000..9498842a
--- /dev/null
+++ b/ver-4.4.0/search/files_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/files_0.js b/ver-4.4.0/search/files_0.js
new file mode 100644
index 00000000..7fdccd35
--- /dev/null
+++ b/ver-4.4.0/search/files_0.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['bicubic_5finterp_5fmod_2ef90_313',['bicubic_interp_mod.F90',['../bicubic__interp__mod_8F90.html',1,'']]],
+  ['bilinear_5finterp_5fmod_2ef90_314',['bilinear_interp_mod.F90',['../bilinear__interp__mod_8F90.html',1,'']]],
+  ['budget_5finterp_5fmod_2ef90_315',['budget_interp_mod.F90',['../budget__interp__mod_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/files_1.html b/ver-4.4.0/search/files_1.html
new file mode 100644
index 00000000..7050ef48
--- /dev/null
+++ b/ver-4.4.0/search/files_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/files_1.js b/ver-4.4.0/search/files_1.js
new file mode 100644
index 00000000..80e87058
--- /dev/null
+++ b/ver-4.4.0/search/files_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['earth_5fradius_5fmod_2ef90_316',['earth_radius_mod.F90',['../earth__radius__mod_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/files_2.html b/ver-4.4.0/search/files_2.html
new file mode 100644
index 00000000..497cdf5c
--- /dev/null
+++ b/ver-4.4.0/search/files_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/files_2.js b/ver-4.4.0/search/files_2.js
new file mode 100644
index 00000000..42ec3ef1
--- /dev/null
+++ b/ver-4.4.0/search/files_2.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['gdswzd_5fc_2ef90_317',['gdswzd_c.F90',['../gdswzd__c_8F90.html',1,'']]],
+  ['gdswzd_5fmod_2ef90_318',['gdswzd_mod.F90',['../gdswzd__mod_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/files_3.html b/ver-4.4.0/search/files_3.html
new file mode 100644
index 00000000..1ba106b2
--- /dev/null
+++ b/ver-4.4.0/search/files_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/files_3.js b/ver-4.4.0/search/files_3.js
new file mode 100644
index 00000000..de45d7a7
--- /dev/null
+++ b/ver-4.4.0/search/files_3.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+  ['ip_5fconstants_5fmod_2ef90_319',['ip_constants_mod.F90',['../ip__constants__mod_8F90.html',1,'']]],
+  ['ip_5fequid_5fcylind_5fgrid_5fmod_2ef90_320',['ip_equid_cylind_grid_mod.F90',['../ip__equid__cylind__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgaussian_5fgrid_5fmod_2ef90_321',['ip_gaussian_grid_mod.F90',['../ip__gaussian__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5fdescriptor_5fmod_2ef90_322',['ip_grid_descriptor_mod.F90',['../ip__grid__descriptor__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5ffactory_5fmod_2ef90_323',['ip_grid_factory_mod.F90',['../ip__grid__factory__mod_8F90.html',1,'']]],
+  ['ip_5fgrid_5fmod_2ef90_324',['ip_grid_mod.F90',['../ip__grid__mod_8F90.html',1,'']]],
+  ['ip_5fgrids_5fmod_2ef90_325',['ip_grids_mod.F90',['../ip__grids__mod_8F90.html',1,'']]],
+  ['ip_5finterpolators_5fmod_2ef90_326',['ip_interpolators_mod.F90',['../ip__interpolators__mod_8F90.html',1,'']]],
+  ['ip_5flambert_5fconf_5fgrid_5fmod_2ef90_327',['ip_lambert_conf_grid_mod.F90',['../ip__lambert__conf__grid__mod_8F90.html',1,'']]],
+  ['ip_5fmercator_5fgrid_5fmod_2ef90_328',['ip_mercator_grid_mod.F90',['../ip__mercator__grid__mod_8F90.html',1,'']]],
+  ['ip_5fmod_2ef90_329',['ip_mod.F90',['../ip__mod_8F90.html',1,'']]],
+  ['ip_5fpolar_5fstereo_5fgrid_5fmod_2ef90_330',['ip_polar_stereo_grid_mod.F90',['../ip__polar__stereo__grid__mod_8F90.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_2ef90_331',['ip_rot_equid_cylind_egrid_mod.F90',['../ip__rot__equid__cylind__egrid__mod_8F90.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_2ef90_332',['ip_rot_equid_cylind_grid_mod.F90',['../ip__rot__equid__cylind__grid__mod_8F90.html',1,'']]],
+  ['ip_5fstation_5fpoints_5fgrid_5fmod_2ef90_333',['ip_station_points_grid_mod.F90',['../ip__station__points__grid__mod_8F90.html',1,'']]],
+  ['iplib_5f4_2eh_334',['iplib_4.h',['../iplib__4_8h.html',1,'']]],
+  ['iplib_5f8_2eh_335',['iplib_8.h',['../iplib__8_8h.html',1,'']]],
+  ['iplib_5fd_2eh_336',['iplib_d.h',['../iplib__d_8h.html',1,'']]],
+  ['ipolates_2ef90_337',['ipolates.F90',['../ipolates_8F90.html',1,'']]],
+  ['ipolatev_2ef90_338',['ipolatev.F90',['../ipolatev_8F90.html',1,'']]],
+  ['ipxetas_2ef90_339',['ipxetas.F90',['../ipxetas_8F90.html',1,'']]],
+  ['ipxwafs_2ef90_340',['ipxwafs.F90',['../ipxwafs_8F90.html',1,'']]],
+  ['ipxwafs2_2ef90_341',['ipxwafs2.F90',['../ipxwafs2_8F90.html',1,'']]],
+  ['ipxwafs3_2ef90_342',['ipxwafs3.F90',['../ipxwafs3_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/files_4.html b/ver-4.4.0/search/files_4.html
new file mode 100644
index 00000000..753b7b10
--- /dev/null
+++ b/ver-4.4.0/search/files_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/files_4.js b/ver-4.4.0/search/files_4.js
new file mode 100644
index 00000000..53cbae3d
--- /dev/null
+++ b/ver-4.4.0/search/files_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['movect_2ef90_343',['movect.F90',['../movect_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/files_5.html b/ver-4.4.0/search/files_5.html
new file mode 100644
index 00000000..7b6affd7
--- /dev/null
+++ b/ver-4.4.0/search/files_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/files_5.js b/ver-4.4.0/search/files_5.js
new file mode 100644
index 00000000..56643bdd
--- /dev/null
+++ b/ver-4.4.0/search/files_5.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['neighbor_5fbudget_5finterp_5fmod_2ef90_344',['neighbor_budget_interp_mod.F90',['../neighbor__budget__interp__mod_8F90.html',1,'']]],
+  ['neighbor_5finterp_5fmod_2ef90_345',['neighbor_interp_mod.F90',['../neighbor__interp__mod_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/files_6.html b/ver-4.4.0/search/files_6.html
new file mode 100644
index 00000000..802ebf71
--- /dev/null
+++ b/ver-4.4.0/search/files_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/files_6.js b/ver-4.4.0/search/files_6.js
new file mode 100644
index 00000000..16cec1c2
--- /dev/null
+++ b/ver-4.4.0/search/files_6.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['polfix_5fmod_2ef90_346',['polfix_mod.F90',['../polfix__mod_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/files_7.html b/ver-4.4.0/search/files_7.html
new file mode 100644
index 00000000..365e6484
--- /dev/null
+++ b/ver-4.4.0/search/files_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/files_7.js b/ver-4.4.0/search/files_7.js
new file mode 100644
index 00000000..fabf7ddc
--- /dev/null
+++ b/ver-4.4.0/search/files_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['spectral_5finterp_5fmod_2ef90_347',['spectral_interp_mod.F90',['../spectral__interp__mod_8F90.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/functions_0.html b/ver-4.4.0/search/functions_0.html
new file mode 100644
index 00000000..eb4c5014
--- /dev/null
+++ b/ver-4.4.0/search/functions_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/functions_0.js b/ver-4.4.0/search/functions_0.js
new file mode 100644
index 00000000..fbfd1527
--- /dev/null
+++ b/ver-4.4.0/search/functions_0.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['earth_5fradius_348',['earth_radius',['../namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54',1,'earth_radius_mod']]],
+  ['equid_5fcylind_5fgrid_5farea_349',['equid_cylind_grid_area',['../namespaceip__equid__cylind__grid__mod.html#a5a70b82abdce76bef22cdeaa96a986c2',1,'ip_equid_cylind_grid_mod']]],
+  ['equid_5fcylind_5fmap_5fjacob_350',['equid_cylind_map_jacob',['../namespaceip__equid__cylind__grid__mod.html#a039501b44cd3ad4409983e193d509afd',1,'ip_equid_cylind_grid_mod']]],
+  ['equid_5fcylind_5fvect_5frot_351',['equid_cylind_vect_rot',['../namespaceip__equid__cylind__grid__mod.html#ade88ecea1c0bb4b4d5b0d08f8482268d',1,'ip_equid_cylind_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/functions_1.html b/ver-4.4.0/search/functions_1.html
new file mode 100644
index 00000000..ef4088b8
--- /dev/null
+++ b/ver-4.4.0/search/functions_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/functions_1.js b/ver-4.4.0/search/functions_1.js
new file mode 100644
index 00000000..ce73a040
--- /dev/null
+++ b/ver-4.4.0/search/functions_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['field_5fpos_352',['field_pos',['../structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179',1,'ip_grid_mod::ip_grid::field_pos()'],['../namespaceip__grid__mod.html#a63572318d74ec94c20c5ccd6ded2d442',1,'ip_grid_mod::field_pos()']]]
+];
diff --git a/ver-4.4.0/search/functions_2.html b/ver-4.4.0/search/functions_2.html
new file mode 100644
index 00000000..ca5aa10e
--- /dev/null
+++ b/ver-4.4.0/search/functions_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/functions_2.js b/ver-4.4.0/search/functions_2.js
new file mode 100644
index 00000000..fd83bb4b
--- /dev/null
+++ b/ver-4.4.0/search/functions_2.js
@@ -0,0 +1,24 @@
+var searchData=
+[
+  ['gaussian_5fgrid_5farea_353',['gaussian_grid_area',['../namespaceip__gaussian__grid__mod.html#ab602a870a477c7ab77438700af4e7780',1,'ip_gaussian_grid_mod']]],
+  ['gaussian_5fmap_5fjacob_354',['gaussian_map_jacob',['../namespaceip__gaussian__grid__mod.html#adca7b03877c6a7048ff1716a95e0bd9d',1,'ip_gaussian_grid_mod']]],
+  ['gaussian_5fvect_5frot_355',['gaussian_vect_rot',['../namespaceip__gaussian__grid__mod.html#ac72eec96d0012fbe0f0ec7c520f40dad',1,'ip_gaussian_grid_mod']]],
+  ['gdswzd_356',['gdswzd',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885',1,'ip_gaussian_grid_mod::ip_gaussian_grid::gdswzd()'],['../iplib__d_8h.html#ac919f31612096fd6a7547a425ab3d38e',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h'],['../iplib__8_8h.html#af41ad9a4b34f78d182a68b3d72b9bdf4',1,'gdswzd(long igdtnum, long *igdtmpl, long igdtlen, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__4_8h.html#a44daefd49c37e9bc59933d98e56efa53',1,'gdswzd(int igdtnum, int *igdtmpl, int igdtlen, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area):&#160;iplib_4.h'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f',1,'ip_station_points_grid_mod::ip_station_points_grid::gdswzd()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::gdswzd()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::gdswzd()'],['../structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080',1,'ip_grid_mod::ip_grid::gdswzd()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::gdswzd()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::gdswzd()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a',1,'ip_mercator_grid_mod::ip_mercator_grid::gdswzd()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::gdswzd()']]],
+  ['gdswzd_5f1d_5farray_357',['gdswzd_1d_array',['../interfacegdswzd__mod_1_1gdswzd.html#afaf35e3ce949dd2ce3d72dd3f06d4e3b',1,'gdswzd_mod::gdswzd::gdswzd_1d_array()'],['../namespacegdswzd__mod.html#ac304e2b046eccc701e24827c81107e76',1,'gdswzd_mod::gdswzd_1d_array()']]],
+  ['gdswzd_5f2d_5farray_358',['gdswzd_2d_array',['../interfacegdswzd__mod_1_1gdswzd.html#a8b60240eefdc297eacf90c348b529d31',1,'gdswzd_mod::gdswzd::gdswzd_2d_array()'],['../namespacegdswzd__mod.html#acdf970e498e9317522fbdfb690b86e25',1,'gdswzd_mod::gdswzd_2d_array(IGDTNUM, IGDTMPL, IGDTLEN, IOPT, NPTS, FILL, XPTS, YPTS, RLON, RLAT, NRET, CROT, SROT, XLON, XLAT, YLON, YLAT, AREA)']]],
+  ['gdswzd_5f2d_5farray_5fgrib1_359',['gdswzd_2d_array_grib1',['../namespacegdswzd__mod.html#aa032a55281b18e208630a730679958f4',1,'gdswzd_mod::gdswzd_2d_array_grib1()'],['../interfacegdswzd__mod_1_1gdswzd.html#a7c66a7ede2b644f7e366df9f70b9f0a5',1,'gdswzd_mod::gdswzd::gdswzd_2d_array_grib1()']]],
+  ['gdswzd_5fc_360',['gdswzd_c',['../namespacegdswzd__c__mod.html#ae3026381f7f41561507c97c9125d24e4',1,'gdswzd_c_mod']]],
+  ['gdswzd_5fc_5fgrib1_361',['gdswzd_c_grib1',['../namespacegdswzd__c__mod.html#a06861f1403edf106bb3b399c39981504',1,'gdswzd_c_mod']]],
+  ['gdswzd_5fequid_5fcylind_362',['gdswzd_equid_cylind',['../namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727',1,'ip_equid_cylind_grid_mod']]],
+  ['gdswzd_5fgaussian_363',['gdswzd_gaussian',['../namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9',1,'ip_gaussian_grid_mod']]],
+  ['gdswzd_5fgrib1_364',['gdswzd_grib1',['../interfacegdswzd__mod_1_1gdswzd.html#a65b95791813ffd5afbfba9d4cb67676a',1,'gdswzd_mod::gdswzd::gdswzd_grib1()'],['../namespacegdswzd__mod.html#a133e040fac8dd56e607b8e3fb6a58c37',1,'gdswzd_mod::gdswzd_grib1()'],['../iplib__4_8h.html#a7f2f96041c0d42926e14cb0f40f336e1',1,'gdswzd_grib1(int *kgds, int iopt, int npts, float fill, float *xpts, float *ypts, float *rlon, float *rlat, int *nret, float *crot, float *srot, float *xlon, float *xlat, float *ylon, float *ylat, float *area):&#160;iplib_4.h'],['../iplib__8_8h.html#ab8e46b623c66911913f66d314c15cc93',1,'gdswzd_grib1(long *kgds, long iopt, long npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, long *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_8.h'],['../iplib__d_8h.html#ac33340cba2ac7b42dd9b9116fc28d691',1,'gdswzd_grib1(int *kgds, int iopt, int npts, double fill, double *xpts, double *ypts, double *rlon, double *rlat, int *nret, double *crot, double *srot, double *xlon, double *xlat, double *ylon, double *ylat, double *area):&#160;iplib_d.h']]],
+  ['gdswzd_5fgrid_365',['gdswzd_grid',['../namespacegdswzd__mod.html#a584d2bddbc6d857b80cfac5e3b288d45',1,'gdswzd_mod::gdswzd_grid()'],['../interfacegdswzd__mod_1_1gdswzd.html#abfe059339c6c9f05fd4eadb5d70aec16',1,'gdswzd_mod::gdswzd::gdswzd_grid()']]],
+  ['gdswzd_5finterface_366',['gdswzd_interface',['../interfaceip__grid__mod_1_1gdswzd__interface.html#af34c5d9da54a36322bb1a141217c6369',1,'ip_grid_mod::gdswzd_interface']]],
+  ['gdswzd_5flambert_5fconf_367',['gdswzd_lambert_conf',['../namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71',1,'ip_lambert_conf_grid_mod']]],
+  ['gdswzd_5fmercator_368',['gdswzd_mercator',['../namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e',1,'ip_mercator_grid_mod']]],
+  ['gdswzd_5fpolar_5fstereo_369',['gdswzd_polar_stereo',['../namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5',1,'ip_polar_stereo_grid_mod']]],
+  ['gdswzd_5frot_5fequid_5fcylind_370',['gdswzd_rot_equid_cylind',['../namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['gdswzd_5frot_5fequid_5fcylind_5fegrid_371',['gdswzd_rot_equid_cylind_egrid',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['gdswzd_5fscalar_372',['gdswzd_scalar',['../interfacegdswzd__mod_1_1gdswzd.html#a1fc841ec08d39463b3f5f36eac0068cd',1,'gdswzd_mod::gdswzd::gdswzd_scalar()'],['../namespacegdswzd__mod.html#aba3235c5bc5797e72b9a6a8a587b8861',1,'gdswzd_mod::gdswzd_scalar()']]],
+  ['gdswzd_5fstation_5fpoints_373',['gdswzd_station_points',['../namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197',1,'ip_station_points_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/functions_3.html b/ver-4.4.0/search/functions_3.html
new file mode 100644
index 00000000..d79f55b8
--- /dev/null
+++ b/ver-4.4.0/search/functions_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/functions_3.js b/ver-4.4.0/search/functions_3.js
new file mode 100644
index 00000000..52622e34
--- /dev/null
+++ b/ver-4.4.0/search/functions_3.js
@@ -0,0 +1,42 @@
+var searchData=
+[
+  ['init_374',['init',['../structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c',1,'ip_grid_mod::ip_grid']]],
+  ['init_5fgrib1_375',['init_grib1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib1()'],['../namespaceip__station__points__grid__mod.html#a4b28ebf2b4fe826c96af69db28e0a1ff',1,'ip_station_points_grid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__grid__mod.html#acb27dfdc6f03dea897d509910365afee',1,'ip_rot_equid_cylind_grid_mod::init_grib1()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aa65616b97df9c89893161ff802e16eab',1,'ip_rot_equid_cylind_egrid_mod::init_grib1()'],['../namespaceip__polar__stereo__grid__mod.html#a6ed76f58f30993cd7be84b7e03cf4d6f',1,'ip_polar_stereo_grid_mod::init_grib1()'],['../namespaceip__mercator__grid__mod.html#a4125dba8b09e9b69933e224b00f4758d',1,'ip_mercator_grid_mod::init_grib1()'],['../namespaceip__lambert__conf__grid__mod.html#a5544708e893ffcfbe7d958fdec700eea',1,'ip_lambert_conf_grid_mod::init_grib1()'],['../namespaceip__gaussian__grid__mod.html#a8fe2ee732a3a2db4891a6431787a0b01',1,'ip_gaussian_grid_mod::init_grib1()'],['../namespaceip__equid__cylind__grid__mod.html#a3d0132823d27b60835ebb59ead173477',1,'ip_equid_cylind_grid_mod::init_grib1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib1()'],['../structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806',1,'ip_grid_mod::ip_grid::init_grib1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib1()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib1()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib1()']]],
+  ['init_5fgrib1_5fdescriptor_376',['init_grib1_descriptor',['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a3b5b267aa7a17a4615dcc0cb4e590f6e',1,'ip_grid_descriptor_mod::init_descriptor::init_grib1_descriptor()'],['../namespaceip__grid__descriptor__mod.html#aa00884a7fca018535eaf0c2ebe26bc98',1,'ip_grid_descriptor_mod::init_grib1_descriptor()']]],
+  ['init_5fgrib1_5finterface_377',['init_grib1_interface',['../interfaceip__grid__mod_1_1init__grib1__interface.html#a47e255b76f02fe58a1aebdadcc5894eb',1,'ip_grid_mod::init_grib1_interface']]],
+  ['init_5fgrib2_378',['init_grib2',['../namespaceip__equid__cylind__grid__mod.html#a39d24c9468ecb7effd16972fd72e088a',1,'ip_equid_cylind_grid_mod::init_grib2()'],['../structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e',1,'ip_station_points_grid_mod::ip_station_points_grid::init_grib2()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib2()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib2()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib2()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0',1,'ip_mercator_grid_mod::ip_mercator_grid::init_grib2()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib2()'],['../structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9',1,'ip_grid_mod::ip_grid::init_grib2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a',1,'ip_gaussian_grid_mod::ip_gaussian_grid::init_grib2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib2()'],['../namespaceip__gaussian__grid__mod.html#ae048ac033628515113b11b8c7364e0c2',1,'ip_gaussian_grid_mod::init_grib2()'],['../namespaceip__lambert__conf__grid__mod.html#acb0339a9fff4fff6c2017d37f8bed0cf',1,'ip_lambert_conf_grid_mod::init_grib2()'],['../namespaceip__mercator__grid__mod.html#aad3b6fef6ee74b8df984c0159ff29c82',1,'ip_mercator_grid_mod::init_grib2()'],['../namespaceip__polar__stereo__grid__mod.html#a5210b986366b503683ae966519d501e7',1,'ip_polar_stereo_grid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af3cbc17f27800bc67135feacb2c1c3e0',1,'ip_rot_equid_cylind_egrid_mod::init_grib2()'],['../namespaceip__rot__equid__cylind__grid__mod.html#add3c6c1dad5748b452d291df6619867d',1,'ip_rot_equid_cylind_grid_mod::init_grib2()'],['../namespaceip__station__points__grid__mod.html#ad17e6d245295803b62b146be984f874d',1,'ip_station_points_grid_mod::init_grib2()']]],
+  ['init_5fgrib2_5fdescriptor_379',['init_grib2_descriptor',['../namespaceip__grid__descriptor__mod.html#a143ac06a2a20697d01606a259213b451',1,'ip_grid_descriptor_mod::init_grib2_descriptor()'],['../interfaceip__grid__descriptor__mod_1_1init__descriptor.html#a6702c4bf3a3d914e5cd2fce8fba4f95c',1,'ip_grid_descriptor_mod::init_descriptor::init_grib2_descriptor()']]],
+  ['init_5fgrib2_5finterface_380',['init_grib2_interface',['../interfaceip__grid__mod_1_1init__grib2__interface.html#a25dcec4470effb9b20dfc7981c21ec6c',1,'ip_grid_mod::init_grib2_interface']]],
+  ['init_5fgrid_5fgeneric_381',['init_grid_generic',['../interfaceip__grid__factory__mod_1_1init__grid.html#a3fbbec3ddc7dfd918c2abc02e7a4cd72',1,'ip_grid_factory_mod::init_grid::init_grid_generic()'],['../namespaceip__grid__factory__mod.html#a2d2ea07d353bae8b057471aa99b58e46',1,'ip_grid_factory_mod::init_grid_generic(grid, grid_desc)']]],
+  ['init_5fgrid_5fgrib1_382',['init_grid_grib1',['../namespaceip__grid__factory__mod.html#ad8906ed6fe52c2426c0ff09ce50b6fc5',1,'ip_grid_factory_mod']]],
+  ['init_5fgrid_5fgrib2_383',['init_grid_grib2',['../namespaceip__grid__factory__mod.html#aa187dc8dbd1d004a51cc0e9826ffa225',1,'ip_grid_factory_mod']]],
+  ['interpolate_5fbicubic_5fscalar_384',['interpolate_bicubic_scalar',['../namespacebicubic__interp__mod.html#a54a442e47f1be9511c1684a337d7e2d1',1,'bicubic_interp_mod::interpolate_bicubic_scalar()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#acbfecc99184cf9ae71b2c9f79c7d4077',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_scalar()']]],
+  ['interpolate_5fbicubic_5fvector_385',['interpolate_bicubic_vector',['../namespacebicubic__interp__mod.html#a9d27db7d350fc2699aaf5057c3b53d16',1,'bicubic_interp_mod::interpolate_bicubic_vector()'],['../interfacebicubic__interp__mod_1_1interpolate__bicubic.html#aac45c15e1c9d76158d72e62ccaca915b',1,'bicubic_interp_mod::interpolate_bicubic::interpolate_bicubic_vector()']]],
+  ['interpolate_5fbilinear_5fscalar_386',['interpolate_bilinear_scalar',['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#a3493cf5bc04aa4551ffd4c314ef09a65',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_scalar()'],['../namespacebilinear__interp__mod.html#a34d2eea4682104097dccf3e7ab6a9398',1,'bilinear_interp_mod::interpolate_bilinear_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['interpolate_5fbilinear_5fvector_387',['interpolate_bilinear_vector',['../namespacebilinear__interp__mod.html#abc218f8774d2af09299eb299d6f38e04',1,'bilinear_interp_mod::interpolate_bilinear_vector()'],['../interfacebilinear__interp__mod_1_1interpolate__bilinear.html#ab4692c5250b37325f764b38c570892dd',1,'bilinear_interp_mod::interpolate_bilinear::interpolate_bilinear_vector()']]],
+  ['interpolate_5fbudget_5fscalar_388',['interpolate_budget_scalar',['../namespacebudget__interp__mod.html#a09bd6535b0c2e1022cfde39c39d14466',1,'budget_interp_mod::interpolate_budget_scalar()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a4b96cbeedb86ef43b687f7ea55914ef0',1,'budget_interp_mod::interpolate_budget::interpolate_budget_scalar()']]],
+  ['interpolate_5fbudget_5fvector_389',['interpolate_budget_vector',['../namespacebudget__interp__mod.html#abc99486ee9c0091c1514af6114d4e803',1,'budget_interp_mod::interpolate_budget_vector()'],['../interfacebudget__interp__mod_1_1interpolate__budget.html#a573e89e56381d0f69e4022d791a087e6',1,'budget_interp_mod::interpolate_budget::interpolate_budget_vector()']]],
+  ['interpolate_5fneighbor_5fbudget_5fscalar_390',['interpolate_neighbor_budget_scalar',['../namespaceneighbor__budget__interp__mod.html#a6d5110a9e9facf8c3132ec27d6857817',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_scalar()'],['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a96e4b145a4df6f4948b1d5ae2da6a71a',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_scalar()']]],
+  ['interpolate_5fneighbor_5fbudget_5fvector_391',['interpolate_neighbor_budget_vector',['../namespaceneighbor__budget__interp__mod.html#a4309c1e6b7fc60ded40657fe6c72297e',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget_vector()'],['../interfaceneighbor__budget__interp__mod_1_1interpolate__neighbor__budget.html#a573bd5ac43484aa6d051e58f37ff7c06',1,'neighbor_budget_interp_mod::interpolate_neighbor_budget::interpolate_neighbor_budget_vector()']]],
+  ['interpolate_5fneighbor_5fscalar_392',['interpolate_neighbor_scalar',['../namespaceneighbor__interp__mod.html#a78452d1527c6974ad54091f0318e4b1f',1,'neighbor_interp_mod::interpolate_neighbor_scalar()'],['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a04ebb54535e67ff95c1d3d64b9cf6246',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['interpolate_5fneighbor_5fvector_393',['interpolate_neighbor_vector',['../interfaceneighbor__interp__mod_1_1interpolate__neighbor.html#a4662245e2744fd14628b48f23bf4f0a7',1,'neighbor_interp_mod::interpolate_neighbor::interpolate_neighbor_vector()'],['../namespaceneighbor__interp__mod.html#a744ccffd8cd6c13d360e634db4851756',1,'neighbor_interp_mod::interpolate_neighbor_vector()']]],
+  ['interpolate_5fspectral_5fscalar_394',['interpolate_spectral_scalar',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_scalar()'],['../namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618',1,'spectral_interp_mod::interpolate_spectral_scalar()']]],
+  ['interpolate_5fspectral_5fvector_395',['interpolate_spectral_vector',['../interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487',1,'spectral_interp_mod::interpolate_spectral::interpolate_spectral_vector()'],['../namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0',1,'spectral_interp_mod::interpolate_spectral_vector()']]],
+  ['ipolates_5fgrib1_396',['ipolates_grib1',['../interfaceipolates__mod_1_1ipolates.html#a8ff62af694c759f29c332836ff66437b',1,'ipolates_mod::ipolates::ipolates_grib1()'],['../namespaceipolates__mod.html#acb5408cf5c3a0f50326edc183f9bd269',1,'ipolates_mod::ipolates_grib1(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)']]],
+  ['ipolates_5fgrib1_5fsingle_5ffield_397',['ipolates_grib1_single_field',['../namespaceipolates__mod.html#ae70a9ca9871bb33e038782b036b7b53d',1,'ipolates_mod::ipolates_grib1_single_field()'],['../interfaceipolates__mod_1_1ipolates.html#afbc36431f96adfbbf552bc6137d0519d',1,'ipolates_mod::ipolates::ipolates_grib1_single_field(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret)']]],
+  ['ipolates_5fgrib2_398',['ipolates_grib2',['../interfaceipolates__mod_1_1ipolates.html#a791ae0a257adcc3a789494489e28302b',1,'ipolates_mod::ipolates::ipolates_grib2()'],['../namespaceipolates__mod.html#a6b2ea6d5b04d2a68baad261e7a409fac',1,'ipolates_mod::ipolates_grib2()']]],
+  ['ipolates_5fgrib2_5fsingle_5ffield_399',['ipolates_grib2_single_field',['../interfaceipolates__mod_1_1ipolates.html#a3a77b7de2dce406829a3b01689372240',1,'ipolates_mod::ipolates::ipolates_grib2_single_field()'],['../namespaceipolates__mod.html#a49541b2af75b7c037a863a4785726856',1,'ipolates_mod::ipolates_grib2_single_field(IP, IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, LI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)']]],
+  ['ipolates_5fgrid_400',['ipolates_grid',['../namespaceipolates__mod.html#a2761e20fab898e7fd9963f3e0eb5d104',1,'ipolates_mod']]],
+  ['ipolatev_5fgrib1_401',['ipolatev_grib1',['../interfaceipolatev__mod_1_1ipolatev.html#ac721867d3d8e8adc11d56baba4702d53',1,'ipolatev_mod::ipolatev::ipolatev_grib1()'],['../namespaceipolatev__mod.html#abddc4a9b00133b358443b118f1352d1f',1,'ipolatev_mod::ipolatev_grib1(ip, ipopt, kgdsi, kgdso, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
+  ['ipolatev_5fgrib1_5fsingle_5ffield_402',['ipolatev_grib1_single_field',['../namespaceipolatev__mod.html#ad535ffd159c46e770effd774aabede58',1,'ipolatev_mod::ipolatev_grib1_single_field()'],['../interfaceipolatev__mod_1_1ipolatev.html#ad211b25631afd3fd7c04bbfba589a7c5',1,'ipolatev_mod::ipolatev::ipolatev_grib1_single_field()']]],
+  ['ipolatev_5fgrib2_403',['ipolatev_grib2',['../namespaceipolatev__mod.html#a00fed53dd867a802b3adbc1141e8d272',1,'ipolatev_mod::ipolatev_grib2()'],['../interfaceipolatev__mod_1_1ipolatev.html#ac1ec04e3119f285f0f3955f016926efe',1,'ipolatev_mod::ipolatev::ipolatev_grib2(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
+  ['ipolatev_5fgrib2_5fsingle_5ffield_404',['ipolatev_grib2_single_field',['../interfaceipolatev__mod_1_1ipolatev.html#aa0af88a9ccef79a921680fe40ec30ccd',1,'ipolatev_mod::ipolatev::ipolatev_grib2_single_field()'],['../namespaceipolatev__mod.html#a71d7507e8f89e1229caaaacb37e0c9c7',1,'ipolatev_mod::ipolatev_grib2_single_field(ip, ipopt, igdtnumi, igdtmpli, igdtleni, igdtnumo, igdtmplo, igdtleno, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret)']]],
+  ['ipolatev_5fgrid_405',['ipolatev_grid',['../namespaceipolatev__mod.html#a8f3bfec7495e13b75b2035e8e1f081a1',1,'ipolatev_mod']]],
+  ['ipxetas_406',['ipxetas',['../ipxetas_8F90.html#a89ff34ee39b0da1895e9d8552bb462e1',1,'ipxetas.F90']]],
+  ['ipxwafs_407',['ipxwafs',['../ipxwafs_8F90.html#a1465ea191950f7464bb3374abed94c12',1,'ipxwafs.F90']]],
+  ['ipxwafs2_408',['ipxwafs2',['../ipxwafs2_8F90.html#ab602c9c04957836c0b8860560d442894',1,'ipxwafs2.F90']]],
+  ['ipxwafs3_409',['ipxwafs3',['../ipxwafs3_8F90.html#aae7be3c77cbe16d0219c86e443e6ec1d',1,'ipxwafs3.F90']]],
+  ['is_5fsame_5fgrid_410',['is_same_grid',['../interfaceip__grid__mod_1_1operator_07_0a_0a_08.html#a0303cd13db74e096af7f77200ef09c6b',1,'ip_grid_mod::operator(==)::is_same_grid()'],['../interfaceip__grid__descriptor__mod_1_1operator_07_0a_0a_08.html#a34e94f8aada186a3d22112a1ab31b53c',1,'ip_grid_descriptor_mod::operator(==)::is_same_grid()'],['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6',1,'ip_grid_descriptor_mod::ip_grid_descriptor::is_same_grid()'],['../namespaceip__grid__descriptor__mod.html#a202219f9c5c84fa04d3eb1c2208358ec',1,'ip_grid_descriptor_mod::is_same_grid()'],['../namespaceip__grid__mod.html#a663bda9af9dd991a09ba0f0de66dc045',1,'ip_grid_mod::is_same_grid()']]],
+  ['is_5fsame_5fgrid_5fgrib1_411',['is_same_grid_grib1',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95',1,'ip_grid_descriptor_mod::grib1_descriptor::is_same_grid_grib1()'],['../namespaceip__grid__descriptor__mod.html#a5bb3c5230b88012bddc3922bfa1cb019',1,'ip_grid_descriptor_mod::is_same_grid_grib1()']]],
+  ['is_5fsame_5fgrid_5fgrib2_412',['is_same_grid_grib2',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013',1,'ip_grid_descriptor_mod::grib2_descriptor::is_same_grid_grib2()'],['../namespaceip__grid__descriptor__mod.html#a75ac34ea9372afaa29b0df2ce8919988',1,'ip_grid_descriptor_mod::is_same_grid_grib2()']]]
+];
diff --git a/ver-4.4.0/search/functions_4.html b/ver-4.4.0/search/functions_4.html
new file mode 100644
index 00000000..1657cad0
--- /dev/null
+++ b/ver-4.4.0/search/functions_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/functions_4.js b/ver-4.4.0/search/functions_4.js
new file mode 100644
index 00000000..92c9b205
--- /dev/null
+++ b/ver-4.4.0/search/functions_4.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['lambert_5fconf_5fgrid_5farea_413',['lambert_conf_grid_area',['../namespaceip__lambert__conf__grid__mod.html#a15c44b47172b926aea840caee9723b1c',1,'ip_lambert_conf_grid_mod']]],
+  ['lambert_5fconf_5fmap_5fjacob_414',['lambert_conf_map_jacob',['../namespaceip__lambert__conf__grid__mod.html#a5e1d42f0027236f47467e25c525e66ae',1,'ip_lambert_conf_grid_mod']]],
+  ['lambert_5fconf_5fvect_5frot_415',['lambert_conf_vect_rot',['../namespaceip__lambert__conf__grid__mod.html#a58187073914efa18eca897c6ec203b71',1,'ip_lambert_conf_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/functions_5.html b/ver-4.4.0/search/functions_5.html
new file mode 100644
index 00000000..9301d6b9
--- /dev/null
+++ b/ver-4.4.0/search/functions_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/functions_5.js b/ver-4.4.0/search/functions_5.js
new file mode 100644
index 00000000..00a77420
--- /dev/null
+++ b/ver-4.4.0/search/functions_5.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['mercator_5fgrid_5farea_416',['mercator_grid_area',['../namespaceip__mercator__grid__mod.html#a952ab9add18587c4dbe54699feb8eafd',1,'ip_mercator_grid_mod']]],
+  ['mercator_5fmap_5fjacob_417',['mercator_map_jacob',['../namespaceip__mercator__grid__mod.html#ab93a0a6ae8c5f5056abece1dcffdc57a',1,'ip_mercator_grid_mod']]],
+  ['mercator_5fvect_5frot_418',['mercator_vect_rot',['../namespaceip__mercator__grid__mod.html#aea5e18faf7a18bf8d06c87ccb11f3e17',1,'ip_mercator_grid_mod']]],
+  ['movect_419',['movect',['../movect_8F90.html#a5974e32c0cf90a65b39c68460d761882',1,'movect.F90']]]
+];
diff --git a/ver-4.4.0/search/functions_6.html b/ver-4.4.0/search/functions_6.html
new file mode 100644
index 00000000..9c4f5fc6
--- /dev/null
+++ b/ver-4.4.0/search/functions_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/functions_6.js b/ver-4.4.0/search/functions_6.js
new file mode 100644
index 00000000..a503b831
--- /dev/null
+++ b/ver-4.4.0/search/functions_6.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+  ['polar_5fstereo_5fgrid_5farea_420',['polar_stereo_grid_area',['../namespaceip__polar__stereo__grid__mod.html#a2a2e0854e5c129e320924a811cbd08e2',1,'ip_polar_stereo_grid_mod']]],
+  ['polar_5fstereo_5fmap_5fjacob_421',['polar_stereo_map_jacob',['../namespaceip__polar__stereo__grid__mod.html#a386933f7e52c348b9d742df423e0e223',1,'ip_polar_stereo_grid_mod']]],
+  ['polar_5fstereo_5fvect_5frot_422',['polar_stereo_vect_rot',['../namespaceip__polar__stereo__grid__mod.html#abe4d416201e986421a8e325a9b00e462',1,'ip_polar_stereo_grid_mod']]],
+  ['polates4_5fgrib1_423',['polates4_grib1',['../interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4',1,'spectral_interp_mod::polates4::polates4_grib1()'],['../namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366',1,'spectral_interp_mod::polates4_grib1()']]],
+  ['polates4_5fgrib2_424',['polates4_grib2',['../interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9',1,'spectral_interp_mod::polates4::polates4_grib2()'],['../namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a',1,'spectral_interp_mod::polates4_grib2()']]],
+  ['polatev4_5fgrib1_425',['polatev4_grib1',['../interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8',1,'spectral_interp_mod::polatev4::polatev4_grib1()'],['../namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc',1,'spectral_interp_mod::polatev4_grib1()']]],
+  ['polatev4_5fgrib2_426',['polatev4_grib2',['../interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b',1,'spectral_interp_mod::polatev4::polatev4_grib2()'],['../namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3',1,'spectral_interp_mod::polatev4_grib2()']]],
+  ['polfixs_427',['polfixs',['../namespacepolfix__mod.html#a15df1ba2e1fcad1e9465c4aa3a2ba0d6',1,'polfix_mod']]],
+  ['polfixv_428',['polfixv',['../namespacepolfix__mod.html#aeefc8f045777f6d962d9ec539ef6007d',1,'polfix_mod']]]
+];
diff --git a/ver-4.4.0/search/functions_7.html b/ver-4.4.0/search/functions_7.html
new file mode 100644
index 00000000..46b5c0f6
--- /dev/null
+++ b/ver-4.4.0/search/functions_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/functions_7.js b/ver-4.4.0/search/functions_7.js
new file mode 100644
index 00000000..0a62b34a
--- /dev/null
+++ b/ver-4.4.0/search/functions_7.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+  ['rot_5fequid_5fcylind_5fegrid_5ferror_429',['rot_equid_cylind_egrid_error',['../namespaceip__rot__equid__cylind__egrid__mod.html#a69d4e473a1a276b855d37518dc6f1d48',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fgrid_5farea_430',['rot_equid_cylind_egrid_grid_area',['../namespaceip__rot__equid__cylind__egrid__mod.html#a4e6c3a758f9a6474d3e499fabeac0640',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fmap_5fjacob_431',['rot_equid_cylind_egrid_map_jacob',['../namespaceip__rot__equid__cylind__egrid__mod.html#a45b87f77888d428ca0f551edae8da94e',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5fegrid_5fvect_5frot_432',['rot_equid_cylind_egrid_vect_rot',['../namespaceip__rot__equid__cylind__egrid__mod.html#a9ac1f76f515981c464e8391d8c941888',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['rot_5fequid_5fcylind_5ferror_433',['rot_equid_cylind_error',['../namespaceip__rot__equid__cylind__grid__mod.html#a1cc09c83f9a3815d8c5f8ed2f239f53f',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fgrid_5farea_434',['rot_equid_cylind_grid_area',['../namespaceip__rot__equid__cylind__grid__mod.html#ad8f1133eb6809705c15337134eafe9fd',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fmap_5fjacob_435',['rot_equid_cylind_map_jacob',['../namespaceip__rot__equid__cylind__grid__mod.html#a985f1dc1a20444cef706d4bb20e0841b',1,'ip_rot_equid_cylind_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fvect_5frot_436',['rot_equid_cylind_vect_rot',['../namespaceip__rot__equid__cylind__grid__mod.html#a3de472bfc18740a7d985f560f3541c10',1,'ip_rot_equid_cylind_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/mag_sel.svg b/ver-4.4.0/search/mag_sel.svg
new file mode 100644
index 00000000..03626f64
--- /dev/null
+++ b/ver-4.4.0/search/mag_sel.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="svg2"
+   width="20"
+   height="19"
+   viewBox="0 0 20 19"
+   sodipodi:docname="mag_sel.svg"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="2096"
+     id="namedview4"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="32"
+     inkscape:cx="5.9792688"
+     inkscape:cy="1.1436277"
+     inkscape:window-x="1920"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <circle
+     style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+     id="path4611"
+     cx="5.5"
+     cy="8.5"
+     r="3.5" />
+  <path
+     style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     d="M 11,7 13.5,10 16,7 Z"
+     id="path4609"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccc" />
+  <path
+     style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="m 8.1085854,11.109059 2.7823556,2.782356"
+     id="path4630"
+     inkscape:connector-curvature="0" />
+</svg>
diff --git a/ver-4.4.0/search/namespaces_0.html b/ver-4.4.0/search/namespaces_0.html
new file mode 100644
index 00000000..21db2c3a
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/namespaces_0.js b/ver-4.4.0/search/namespaces_0.js
new file mode 100644
index 00000000..c814ba01
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_0.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['bicubic_5finterp_5fmod_286',['bicubic_interp_mod',['../namespacebicubic__interp__mod.html',1,'']]],
+  ['bilinear_5finterp_5fmod_287',['bilinear_interp_mod',['../namespacebilinear__interp__mod.html',1,'']]],
+  ['budget_5finterp_5fmod_288',['budget_interp_mod',['../namespacebudget__interp__mod.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/namespaces_1.html b/ver-4.4.0/search/namespaces_1.html
new file mode 100644
index 00000000..a01efeb1
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/namespaces_1.js b/ver-4.4.0/search/namespaces_1.js
new file mode 100644
index 00000000..f6b1fd60
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['earth_5fradius_5fmod_289',['earth_radius_mod',['../namespaceearth__radius__mod.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/namespaces_2.html b/ver-4.4.0/search/namespaces_2.html
new file mode 100644
index 00000000..b46f2a5d
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/namespaces_2.js b/ver-4.4.0/search/namespaces_2.js
new file mode 100644
index 00000000..7fba095a
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_2.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['gdswzd_5fc_5fmod_290',['gdswzd_c_mod',['../namespacegdswzd__c__mod.html',1,'']]],
+  ['gdswzd_5fmod_291',['gdswzd_mod',['../namespacegdswzd__mod.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/namespaces_3.html b/ver-4.4.0/search/namespaces_3.html
new file mode 100644
index 00000000..32b23bde
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/namespaces_3.js b/ver-4.4.0/search/namespaces_3.js
new file mode 100644
index 00000000..e12b1666
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_3.js
@@ -0,0 +1,20 @@
+var searchData=
+[
+  ['ip_5fconstants_5fmod_292',['ip_constants_mod',['../namespaceip__constants__mod.html',1,'']]],
+  ['ip_5fequid_5fcylind_5fgrid_5fmod_293',['ip_equid_cylind_grid_mod',['../namespaceip__equid__cylind__grid__mod.html',1,'']]],
+  ['ip_5fgaussian_5fgrid_5fmod_294',['ip_gaussian_grid_mod',['../namespaceip__gaussian__grid__mod.html',1,'']]],
+  ['ip_5fgrid_5fdescriptor_5fmod_295',['ip_grid_descriptor_mod',['../namespaceip__grid__descriptor__mod.html',1,'']]],
+  ['ip_5fgrid_5ffactory_5fmod_296',['ip_grid_factory_mod',['../namespaceip__grid__factory__mod.html',1,'']]],
+  ['ip_5fgrid_5fmod_297',['ip_grid_mod',['../namespaceip__grid__mod.html',1,'']]],
+  ['ip_5fgrids_5fmod_298',['ip_grids_mod',['../namespaceip__grids__mod.html',1,'']]],
+  ['ip_5finterpolators_5fmod_299',['ip_interpolators_mod',['../namespaceip__interpolators__mod.html',1,'']]],
+  ['ip_5flambert_5fconf_5fgrid_5fmod_300',['ip_lambert_conf_grid_mod',['../namespaceip__lambert__conf__grid__mod.html',1,'']]],
+  ['ip_5fmercator_5fgrid_5fmod_301',['ip_mercator_grid_mod',['../namespaceip__mercator__grid__mod.html',1,'']]],
+  ['ip_5fmod_302',['ip_mod',['../namespaceip__mod.html',1,'']]],
+  ['ip_5fpolar_5fstereo_5fgrid_5fmod_303',['ip_polar_stereo_grid_mod',['../namespaceip__polar__stereo__grid__mod.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fegrid_5fmod_304',['ip_rot_equid_cylind_egrid_mod',['../namespaceip__rot__equid__cylind__egrid__mod.html',1,'']]],
+  ['ip_5frot_5fequid_5fcylind_5fgrid_5fmod_305',['ip_rot_equid_cylind_grid_mod',['../namespaceip__rot__equid__cylind__grid__mod.html',1,'']]],
+  ['ip_5fstation_5fpoints_5fgrid_5fmod_306',['ip_station_points_grid_mod',['../namespaceip__station__points__grid__mod.html',1,'']]],
+  ['ipolates_5fmod_307',['ipolates_mod',['../namespaceipolates__mod.html',1,'']]],
+  ['ipolatev_5fmod_308',['ipolatev_mod',['../namespaceipolatev__mod.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/namespaces_4.html b/ver-4.4.0/search/namespaces_4.html
new file mode 100644
index 00000000..8b85f448
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/namespaces_4.js b/ver-4.4.0/search/namespaces_4.js
new file mode 100644
index 00000000..3062a09f
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_4.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['neighbor_5fbudget_5finterp_5fmod_309',['neighbor_budget_interp_mod',['../namespaceneighbor__budget__interp__mod.html',1,'']]],
+  ['neighbor_5finterp_5fmod_310',['neighbor_interp_mod',['../namespaceneighbor__interp__mod.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/namespaces_5.html b/ver-4.4.0/search/namespaces_5.html
new file mode 100644
index 00000000..fe78adff
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/namespaces_5.js b/ver-4.4.0/search/namespaces_5.js
new file mode 100644
index 00000000..01a16436
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['polfix_5fmod_311',['polfix_mod',['../namespacepolfix__mod.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/namespaces_6.html b/ver-4.4.0/search/namespaces_6.html
new file mode 100644
index 00000000..f646cb5a
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/namespaces_6.js b/ver-4.4.0/search/namespaces_6.js
new file mode 100644
index 00000000..2c8dd7ee
--- /dev/null
+++ b/ver-4.4.0/search/namespaces_6.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['spectral_5finterp_5fmod_312',['spectral_interp_mod',['../namespacespectral__interp__mod.html',1,'']]]
+];
diff --git a/ver-4.4.0/search/nomatches.html b/ver-4.4.0/search/nomatches.html
new file mode 100644
index 00000000..2b9360b6
--- /dev/null
+++ b/ver-4.4.0/search/nomatches.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/search.css b/ver-4.4.0/search/search.css
new file mode 100644
index 00000000..9074198f
--- /dev/null
+++ b/ver-4.4.0/search/search.css
@@ -0,0 +1,257 @@
+/*---------------- Search Box */
+
+#MSearchBox {
+    white-space : nowrap;
+    background: white;
+    border-radius: 0.65em;
+    box-shadow: inset 0.5px 0.5px 3px 0px #555;
+    z-index: 102;
+}
+
+#MSearchBox .left {
+    display: inline-block;
+    vertical-align: middle;
+    height: 1.4em;
+}
+
+#MSearchSelect {
+    display: inline-block;
+    vertical-align: middle;
+    height: 1.4em;
+    padding: 0 0 0 0.3em;
+    margin: 0;
+}
+
+#MSearchField {
+    display: inline-block;
+    vertical-align: middle;
+    width: 7.5em;
+    height: 1.1em;
+    margin: 0 0.15em;
+    padding: 0;
+    line-height: 1em;
+    border:none;
+    color: #909090;
+    outline: none;
+    font-family: Arial, Verdana, sans-serif;
+    -webkit-border-radius: 0px;
+    border-radius: 0px;
+    background: none;
+}
+
+
+#MSearchBox .right {
+    display: inline-block;
+    vertical-align: middle;
+    width: 1.4em;
+    height: 1.4em;
+}
+
+#MSearchClose {
+    display: none;
+    font-size: inherit;
+    background : none;
+    border: none;
+    margin: 0;
+    padding: 0;
+    outline: none;
+
+}
+
+#MSearchCloseImg {
+    height: 1.4em;
+    padding: 0.3em;
+    margin: 0;
+}
+
+.MSearchBoxActive #MSearchField {
+    color: #000000;
+}
+
+#main-menu > li:last-child {
+    /* This <li> object is the parent of the search bar */
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    height: 36px;
+    margin-right: 1em;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #90A5CE;
+    background-color: #F9FAFC;
+    z-index: 10001;
+    padding-top: 4px;
+    padding-bottom: 4px;
+    -moz-border-radius: 4px;
+    -webkit-border-top-left-radius: 4px;
+    -webkit-border-top-right-radius: 4px;
+    -webkit-border-bottom-left-radius: 4px;
+    -webkit-border-bottom-right-radius: 4px;
+    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+    font: 8pt Arial, Verdana, sans-serif;
+    padding-left:  2px;
+    padding-right: 12px;
+    border: 0px;
+}
+
+span.SelectionMark {
+    margin-right: 4px;
+    font-family: monospace;
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem {
+    display: block;
+    outline-style: none;
+    color: #000000; 
+    text-decoration: none;
+    padding-left:   6px;
+    padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+    color: #000000; 
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem:hover {
+    color: #FFFFFF;
+    background-color: #3D578C;
+    outline-style: none;
+    text-decoration: none;
+    cursor: pointer;
+    display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+    width: 60ex;
+    height: 15em;
+}
+
+#MSearchResultsWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #000;
+    background-color: #EEF1F7;
+    z-index:10000;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+    clear:both; 
+    padding-bottom: 15px;
+}
+
+.SREntry {
+    font-size: 10pt;
+    padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+    font-size: 8pt;
+    padding: 1px 5px;
+}
+
+body.SRPage {
+    margin: 5px 2px;
+}
+
+.SRChildren {
+    padding-left: 3ex; padding-bottom: .5em 
+}
+
+.SRPage .SRChildren {
+    display: none;
+}
+
+.SRSymbol {
+    font-weight: bold; 
+    color: #425E97;
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRScope {
+    display: block;
+    color: #425E97; 
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+    text-decoration: underline;
+}
+
+span.SRScope {
+    padding-left: 4px;
+    font-family: Arial, Verdana, sans-serif;
+}
+
+.SRPage .SRStatus {
+    padding: 2px 5px;
+    font-size: 8pt;
+    font-style: italic;
+    font-family: Arial, Verdana, sans-serif;
+}
+
+.SRResult {
+    display: none;
+}
+
+div.searchresults {
+    margin-left: 10px;
+    margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+    background-color: #F0F3F8;
+}
+
+.pages b {
+   color: white;
+   padding: 5px 5px 3px 5px;
+   background-image: url("../tab_a.png");
+   background-repeat: repeat-x;
+   text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+    line-height: 17px;
+    margin-left: 4px;
+    text-decoration: none;
+}
+
+.hl {
+    font-weight: bold;
+}
+
+#searchresults {
+    margin-bottom: 20px;
+}
+
+.searchpages {
+    margin-top: 10px;
+}
+
diff --git a/ver-4.4.0/search/search.js b/ver-4.4.0/search/search.js
new file mode 100644
index 00000000..fb226f73
--- /dev/null
+++ b/ver-4.4.0/search/search.js
@@ -0,0 +1,816 @@
+/*
+ @licstart  The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend  The above is the entire license notice for the JavaScript code in this file
+ */
+function convertToId(search)
+{
+  var result = '';
+  for (i=0;i<search.length;i++)
+  {
+    var c = search.charAt(i);
+    var cn = c.charCodeAt(0);
+    if (c.match(/[a-z0-9\u0080-\uFFFF]/))
+    {
+      result+=c;
+    }
+    else if (cn<16)
+    {
+      result+="_0"+cn.toString(16);
+    }
+    else
+    {
+      result+="_"+cn.toString(16);
+    }
+  }
+  return result;
+}
+
+function getXPos(item)
+{
+  var x = 0;
+  if (item.offsetWidth)
+  {
+    while (item && item!=document.body)
+    {
+      x   += item.offsetLeft;
+      item = item.offsetParent;
+    }
+  }
+  return x;
+}
+
+function getYPos(item)
+{
+  var y = 0;
+  if (item.offsetWidth)
+  {
+     while (item && item!=document.body)
+     {
+       y   += item.offsetTop;
+       item = item.offsetParent;
+     }
+  }
+  return y;
+}
+
+/* A class handling everything associated with the search panel.
+
+   Parameters:
+   name - The name of the global variable that will be
+          storing this instance.  Is needed to be able to set timeouts.
+   resultPath - path to use for external files
+*/
+function SearchBox(name, resultsPath, inFrame, label, extension)
+{
+  if (!name || !resultsPath) {  alert("Missing parameters to SearchBox."); }
+  if (!extension || extension == "") { extension = ".html"; }
+
+  // ---------- Instance variables
+  this.name                  = name;
+  this.resultsPath           = resultsPath;
+  this.keyTimeout            = 0;
+  this.keyTimeoutLength      = 500;
+  this.closeSelectionTimeout = 300;
+  this.lastSearchValue       = "";
+  this.lastResultsPage       = "";
+  this.hideTimeout           = 0;
+  this.searchIndex           = 0;
+  this.searchActive          = false;
+  this.insideFrame           = inFrame;
+  this.searchLabel           = label;
+  this.extension             = extension;
+
+  // ----------- DOM Elements
+
+  this.DOMSearchField = function()
+  {  return document.getElementById("MSearchField");  }
+
+  this.DOMSearchSelect = function()
+  {  return document.getElementById("MSearchSelect");  }
+
+  this.DOMSearchSelectWindow = function()
+  {  return document.getElementById("MSearchSelectWindow");  }
+
+  this.DOMPopupSearchResults = function()
+  {  return document.getElementById("MSearchResults");  }
+
+  this.DOMPopupSearchResultsWindow = function()
+  {  return document.getElementById("MSearchResultsWindow");  }
+
+  this.DOMSearchClose = function()
+  {  return document.getElementById("MSearchClose"); }
+
+  this.DOMSearchBox = function()
+  {  return document.getElementById("MSearchBox");  }
+
+  // ------------ Event Handlers
+
+  // Called when focus is added or removed from the search field.
+  this.OnSearchFieldFocus = function(isActive)
+  {
+    this.Activate(isActive);
+  }
+
+  this.OnSearchSelectShow = function()
+  {
+    var searchSelectWindow = this.DOMSearchSelectWindow();
+    var searchField        = this.DOMSearchSelect();
+
+    if (this.insideFrame)
+    {
+      var left = getXPos(searchField);
+      var top  = getYPos(searchField);
+      left += searchField.offsetWidth + 6;
+      top += searchField.offsetHeight;
+
+      // show search selection popup
+      searchSelectWindow.style.display='block';
+      left -= searchSelectWindow.offsetWidth;
+      searchSelectWindow.style.left =  left + 'px';
+      searchSelectWindow.style.top  =  top  + 'px';
+    }
+    else
+    {
+      var left = getXPos(searchField);
+      var top  = getYPos(searchField);
+      top += searchField.offsetHeight;
+
+      // show search selection popup
+      searchSelectWindow.style.display='block';
+      searchSelectWindow.style.left =  left + 'px';
+      searchSelectWindow.style.top  =  top  + 'px';
+    }
+
+    // stop selection hide timer
+    if (this.hideTimeout)
+    {
+      clearTimeout(this.hideTimeout);
+      this.hideTimeout=0;
+    }
+    return false; // to avoid "image drag" default event
+  }
+
+  this.OnSearchSelectHide = function()
+  {
+    this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
+                                  this.closeSelectionTimeout);
+  }
+
+  // Called when the content of the search field is changed.
+  this.OnSearchFieldChange = function(evt)
+  {
+    if (this.keyTimeout) // kill running timer
+    {
+      clearTimeout(this.keyTimeout);
+      this.keyTimeout = 0;
+    }
+
+    var e  = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 || e.keyCode==13)
+    {
+      if (e.shiftKey==1)
+      {
+        this.OnSearchSelectShow();
+        var win=this.DOMSearchSelectWindow();
+        for (i=0;i<win.childNodes.length;i++)
+        {
+          var child = win.childNodes[i]; // get span within a
+          if (child.className=='SelectItem')
+          {
+            child.focus();
+            return;
+          }
+        }
+        return;
+      }
+      else
+      {
+        window.frames.MSearchResults.postMessage("take_focus", "*");
+      }
+    }
+    else if (e.keyCode==27) // Escape out of the search field
+    {
+      this.DOMSearchField().blur();
+      this.DOMPopupSearchResultsWindow().style.display = 'none';
+      this.DOMSearchClose().style.display = 'none';
+      this.lastSearchValue = '';
+      this.Activate(false);
+      return;
+    }
+
+    // strip whitespaces
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+    if (searchValue != this.lastSearchValue) // search value has changed
+    {
+      if (searchValue != "") // non-empty search
+      {
+        // set timer for search update
+        this.keyTimeout = setTimeout(this.name + '.Search()',
+                                     this.keyTimeoutLength);
+      }
+      else // empty search field
+      {
+        this.DOMPopupSearchResultsWindow().style.display = 'none';
+        this.DOMSearchClose().style.display = 'none';
+        this.lastSearchValue = '';
+      }
+    }
+  }
+
+  this.SelectItemCount = function(id)
+  {
+    var count=0;
+    var win=this.DOMSearchSelectWindow();
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        count++;
+      }
+    }
+    return count;
+  }
+
+  this.SelectItemSet = function(id)
+  {
+    var i,j=0;
+    var win=this.DOMSearchSelectWindow();
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        var node = child.firstChild;
+        if (j==id)
+        {
+          node.innerHTML='&#8226;';
+        }
+        else
+        {
+          node.innerHTML='&#160;';
+        }
+        j++;
+      }
+    }
+  }
+
+  // Called when an search filter selection is made.
+  // set item with index id as the active item
+  this.OnSelectItem = function(id)
+  {
+    this.searchIndex = id;
+    this.SelectItemSet(id);
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+    if (searchValue!="" && this.searchActive) // something was found -> do a search
+    {
+      this.Search();
+    }
+  }
+
+  this.OnSearchSelectKey = function(evt)
+  {
+    var e = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
+    {
+      this.searchIndex++;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==38 && this.searchIndex>0) // Up
+    {
+      this.searchIndex--;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==13 || e.keyCode==27)
+    {
+      this.OnSelectItem(this.searchIndex);
+      this.CloseSelectionWindow();
+      this.DOMSearchField().focus();
+    }
+    return false;
+  }
+
+  // --------- Actions
+
+  // Closes the results window.
+  this.CloseResultsWindow = function()
+  {
+    this.DOMPopupSearchResultsWindow().style.display = 'none';
+    this.DOMSearchClose().style.display = 'none';
+    this.Activate(false);
+  }
+
+  this.CloseSelectionWindow = function()
+  {
+    this.DOMSearchSelectWindow().style.display = 'none';
+  }
+
+  // Performs a search.
+  this.Search = function()
+  {
+    this.keyTimeout = 0;
+
+    // strip leading whitespace
+    var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+    var code = searchValue.toLowerCase().charCodeAt(0);
+    var idxChar = searchValue.substr(0, 1).toLowerCase();
+    if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+    {
+      idxChar = searchValue.substr(0, 2);
+    }
+
+    var resultsPage;
+    var resultsPageWithSearch;
+    var hasResultsPage;
+
+    var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+    if (idx!=-1)
+    {
+       var hexCode=idx.toString(16);
+       resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension;
+       resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+       hasResultsPage = true;
+    }
+    else // nothing available for this search term
+    {
+       resultsPage = this.resultsPath + '/nomatches' + this.extension;
+       resultsPageWithSearch = resultsPage;
+       hasResultsPage = false;
+    }
+
+    window.frames.MSearchResults.location = resultsPageWithSearch;
+    var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+    if (domPopupSearchResultsWindow.style.display!='block')
+    {
+       var domSearchBox = this.DOMSearchBox();
+       this.DOMSearchClose().style.display = 'inline-block';
+       if (this.insideFrame)
+       {
+         var domPopupSearchResults = this.DOMPopupSearchResults();
+         domPopupSearchResultsWindow.style.position = 'relative';
+         domPopupSearchResultsWindow.style.display  = 'block';
+         var width = document.body.clientWidth - 8; // the -8 is for IE :-(
+         domPopupSearchResultsWindow.style.width    = width + 'px';
+         domPopupSearchResults.style.width          = width + 'px';
+       }
+       else
+       {
+         var domPopupSearchResults = this.DOMPopupSearchResults();
+         var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+         var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
+         domPopupSearchResultsWindow.style.display = 'block';
+         left -= domPopupSearchResults.offsetWidth;
+         domPopupSearchResultsWindow.style.top     = top  + 'px';
+         domPopupSearchResultsWindow.style.left    = left + 'px';
+       }
+    }
+
+    this.lastSearchValue = searchValue;
+    this.lastResultsPage = resultsPage;
+  }
+
+  // -------- Activation Functions
+
+  // Activates or deactivates the search panel, resetting things to
+  // their default values if necessary.
+  this.Activate = function(isActive)
+  {
+    if (isActive || // open it
+        this.DOMPopupSearchResultsWindow().style.display == 'block'
+       )
+    {
+      this.DOMSearchBox().className = 'MSearchBoxActive';
+
+      var searchField = this.DOMSearchField();
+
+      if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+      {
+        searchField.value = '';
+        this.searchActive = true;
+      }
+    }
+    else if (!isActive) // directly remove the panel
+    {
+      this.DOMSearchBox().className = 'MSearchBoxInactive';
+      this.DOMSearchField().value   = this.searchLabel;
+      this.searchActive             = false;
+      this.lastSearchValue          = ''
+      this.lastResultsPage          = '';
+    }
+  }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+    // The number of matches from the last run of <Search()>.
+    this.lastMatchCount = 0;
+    this.lastKey = 0;
+    this.repeatOn = false;
+
+    // Toggles the visibility of the passed element ID.
+    this.FindChildElement = function(id)
+    {
+      var parentElement = document.getElementById(id);
+      var element = parentElement.firstChild;
+
+      while (element && element!=parentElement)
+      {
+        if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
+        {
+          return element;
+        }
+
+        if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
+        {
+           element = element.firstChild;
+        }
+        else if (element.nextSibling)
+        {
+           element = element.nextSibling;
+        }
+        else
+        {
+          do
+          {
+            element = element.parentNode;
+          }
+          while (element && element!=parentElement && !element.nextSibling);
+
+          if (element && element!=parentElement)
+          {
+            element = element.nextSibling;
+          }
+        }
+      }
+    }
+
+    this.Toggle = function(id)
+    {
+      var element = this.FindChildElement(id);
+      if (element)
+      {
+        if (element.style.display == 'block')
+        {
+          element.style.display = 'none';
+        }
+        else
+        {
+          element.style.display = 'block';
+        }
+      }
+    }
+
+    // Searches for the passed string.  If there is no parameter,
+    // it takes it from the URL query.
+    //
+    // Always returns true, since other documents may try to call it
+    // and that may or may not be possible.
+    this.Search = function(search)
+    {
+      if (!search) // get search word from URL
+      {
+        search = window.location.search;
+        search = search.substring(1);  // Remove the leading '?'
+        search = unescape(search);
+      }
+
+      search = search.replace(/^ +/, ""); // strip leading spaces
+      search = search.replace(/ +$/, ""); // strip trailing spaces
+      search = search.toLowerCase();
+      search = convertToId(search);
+
+      var resultRows = document.getElementsByTagName("div");
+      var matches = 0;
+
+      var i = 0;
+      while (i < resultRows.length)
+      {
+        var row = resultRows.item(i);
+        if (row.className == "SRResult")
+        {
+          var rowMatchName = row.id.toLowerCase();
+          rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+          if (search.length<=rowMatchName.length &&
+             rowMatchName.substr(0, search.length)==search)
+          {
+            row.style.display = 'block';
+            matches++;
+          }
+          else
+          {
+            row.style.display = 'none';
+          }
+        }
+        i++;
+      }
+      document.getElementById("Searching").style.display='none';
+      if (matches == 0) // no results
+      {
+        document.getElementById("NoMatches").style.display='block';
+      }
+      else // at least one result
+      {
+        document.getElementById("NoMatches").style.display='none';
+      }
+      this.lastMatchCount = matches;
+      return true;
+    }
+
+    // return the first item with index index or higher that is visible
+    this.NavNext = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index++;
+      }
+      return focusItem;
+    }
+
+    this.NavPrev = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index--;
+      }
+      return focusItem;
+    }
+
+    this.ProcessKeys = function(e)
+    {
+      if (e.type == "keydown")
+      {
+        this.repeatOn = false;
+        this.lastKey = e.keyCode;
+      }
+      else if (e.type == "keypress")
+      {
+        if (!this.repeatOn)
+        {
+          if (this.lastKey) this.repeatOn = true;
+          return false; // ignore first keypress after keydown
+        }
+      }
+      else if (e.type == "keyup")
+      {
+        this.lastKey = 0;
+        this.repeatOn = false;
+      }
+      return this.lastKey!=0;
+    }
+
+    this.Nav = function(evt,itemIndex)
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        var newIndex = itemIndex-1;
+        var focusItem = this.NavPrev(newIndex);
+        if (focusItem)
+        {
+          var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+          if (child && child.style.display == 'block') // children visible
+          {
+            var n=0;
+            var tmpElem;
+            while (1) // search for last child
+            {
+              tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+              if (tmpElem)
+              {
+                focusItem = tmpElem;
+              }
+              else // found it!
+              {
+                break;
+              }
+              n++;
+            }
+          }
+        }
+        if (focusItem)
+        {
+          focusItem.focus();
+        }
+        else // return focus to search field
+        {
+           parent.document.getElementById("MSearchField").focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = itemIndex+1;
+        var focusItem;
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem && elem.style.display == 'block') // children visible
+        {
+          focusItem = document.getElementById('Item'+itemIndex+'_c0');
+        }
+        if (!focusItem) focusItem = this.NavNext(newIndex);
+        if (focusItem)  focusItem.focus();
+      }
+      else if (this.lastKey==39) // Right
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'block';
+      }
+      else if (this.lastKey==37) // Left
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'none';
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+
+    this.NavChild = function(evt,itemIndex,childIndex)
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        if (childIndex>0)
+        {
+          var newIndex = childIndex-1;
+          document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+        }
+        else // already at first child, jump to parent
+        {
+          document.getElementById('Item'+itemIndex).focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = childIndex+1;
+        var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+        if (!elem) // last child, jump to parent next parent
+        {
+          elem = this.NavNext(itemIndex+1);
+        }
+        if (elem)
+        {
+          elem.focus();
+        }
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+}
+
+function setKeyActions(elem,action)
+{
+  elem.setAttribute('onkeydown',action);
+  elem.setAttribute('onkeypress',action);
+  elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+  elem.setAttribute('class',attr);
+  elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+  var results = document.getElementById("SRResults");
+  for (var e=0; e<searchData.length; e++)
+  {
+    var id = searchData[e][0];
+    var srResult = document.createElement('div');
+    srResult.setAttribute('id','SR_'+id);
+    setClassAttr(srResult,'SRResult');
+    var srEntry = document.createElement('div');
+    setClassAttr(srEntry,'SREntry');
+    var srLink = document.createElement('a');
+    srLink.setAttribute('id','Item'+e);
+    setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
+    setClassAttr(srLink,'SRSymbol');
+    srLink.innerHTML = searchData[e][1][0];
+    srEntry.appendChild(srLink);
+    if (searchData[e][1].length==2) // single result
+    {
+      srLink.setAttribute('href',searchData[e][1][1][0]);
+      if (searchData[e][1][1][1])
+      {
+       srLink.setAttribute('target','_parent');
+      }
+      var srScope = document.createElement('span');
+      setClassAttr(srScope,'SRScope');
+      srScope.innerHTML = searchData[e][1][1][2];
+      srEntry.appendChild(srScope);
+    }
+    else // multiple results
+    {
+      srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
+      var srChildren = document.createElement('div');
+      setClassAttr(srChildren,'SRChildren');
+      for (var c=0; c<searchData[e][1].length-1; c++)
+      {
+        var srChild = document.createElement('a');
+        srChild.setAttribute('id','Item'+e+'_c'+c);
+        setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
+        setClassAttr(srChild,'SRScope');
+        srChild.setAttribute('href',searchData[e][1][c+1][0]);
+        if (searchData[e][1][c+1][1])
+        {
+         srChild.setAttribute('target','_parent');
+        }
+        srChild.innerHTML = searchData[e][1][c+1][2];
+        srChildren.appendChild(srChild);
+      }
+      srEntry.appendChild(srChildren);
+    }
+    srResult.appendChild(srEntry);
+    results.appendChild(srResult);
+  }
+}
+
+function init_search()
+{
+  var results = document.getElementById("MSearchSelectWindow");
+  for (var key in indexSectionLabels)
+  {
+    var link = document.createElement('a');
+    link.setAttribute('class','SelectItem');
+    link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
+    link.href='javascript:void(0)';
+    link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
+    results.appendChild(link);
+  }
+  searchBox.OnSelectItem(0);
+}
+/* @license-end */
diff --git a/ver-4.4.0/search/search_l.png b/ver-4.4.0/search/search_l.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd5f7daa41a4c79b4ae9bea5aa7bdfb94e14084b
GIT binary patch
literal 567
zcmeAS@N?(olHy`uVBq!ia0vp^B0wz6!2%?$TA$hhDVB6cUq=Rpjs4tz5?O(Kg=CK)
zUj~NU84L`?eGCi_EEpJ?t}-xGu`@87+QPtK?83kxQ`TapwHK(CDaqU2h2ejD|C#+j
z9%q3^WHAE+w=f7ZGR&GI0Tg5}@$_|Nf5gMiEhFgvHvB#V1EZFwi(`n!`QAxqy_^C?
z+`jj!^>(R!W8j_r#qQ#gnr4kAxdU#F0+OBry<A_XEfSiTFv~GuLE}}0iFF6&H>$Z+
z_0PMi;P|#{d%mw(dnw=jM%@$onTJa%@6Nm3`;2S#nwtVFJI#`U@2Q@@JCCctagvF-
z8H=anvo~dTmJ2<pSnM=aYQ7mur_Vc=KQ;l29JyWDZCN~fev0|+o3}F2P%CNIx5trL
z8gA}<cc1qPiOH&eRG9J7<ifc}f%_b|eRo%1h+kMg?QxbQD_=Y#XWHp4|L@3Yv6bBq
zd~oOD{y#VJ78Z8RC_Y*B*FLF4Y09bOg^5e_I(Ak>YA%wA6IHRv%{vxvUm|R)kgZeo
zmX%Zb;mpflGZdXCTAgit`||AFzkI#z&(3d4(htA?U2FOL4WF6wY&TB#n3n*I4+hl|
z*NBpo#FA92<f2p{#b9J$XrXIpq-$UvVrXb(WMO4!u5DmoWniFd?|d6YLvDUbW?Cg~
V4KYc-(}5ZoJYD@<);T3K0RU@P%k2OF

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/search/search_m.png b/ver-4.4.0/search/search_m.png
new file mode 100644
index 0000000000000000000000000000000000000000..b429a16ba641960da1e52e5da85dc80fd82635c8
GIT binary patch
literal 158
zcmeAS@N?(olHy`uVBq!ia0vp^Oh7Em0U}M~ynTTbOS+@4BLl;=8&~`zjDUQ}64!{5
z;QX|b^2DN42FH~Aq*MjZ+{E<Mpwz^a%EFVWHb6xNo-U3d6}OUf^!3vd5)y3c{#bPU
z`teb@<JbTH_7jql7?`61bOfX$^6u_pUBbY`!?2W{-=^-N>vEu822WQ%mvv4FO#qs`
BFGc_W

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/search/search_r.png b/ver-4.4.0/search/search_r.png
new file mode 100644
index 0000000000000000000000000000000000000000..1af5d21ee13e070d7600f1c4657fde843b953a69
GIT binary patch
literal 553
zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!2%@BXHTsJQY`6?zK#qG8~eHcB(ehe3dtTp
zz6=bxGZ+|(`xqD=STHa&U1eaXVrO7DwS|Gf*oA>XrmV$GYcEhOQ<As43&a2R{xkc5
zJkA1-$YKTtZeb8+WSBKa0w~B{;_2(k{)mU2TSn0TZTNi#21XfA7sn8d^R1H{y_o_<
z+~hsAIakGYPy5?E?QfIV-)Ulw-A&uvc6(^?XfA18cvfYFtH_Fg-3MA$nhAz1;G4nQ
z)c5(>T(QLuS{~ooZ2P@v=Xc@RKW@Irliv8_;wroU0*)0O?temdsA~70jrdux+`@W7
z-N(<(C)L?hOO?KV{>8(jC{h<AlVfGFV&cS)C3al`J({hH{AZi%%{daMX%zO!rQPhj
zO4O~O1uR{5ym@yvujLfdunGzN6vJTAIO%M=m#VrSQ@h&By8@n<o)p=ZT$+AnU5ifM
z=cKe}PAc7}R+@<xE&raDXZb+)aQF4y<?OdioGN6^Ufq9RRdf1xc5a~x>pKsws)#Fh
zvsO>IB+gb@b+rGWaO&!a9Z{!U+fV*s7TS>fdt&j$L%^U@Epd$~Nl7e8wMs5Z1yT$~
z28I^8hDN#u<{^fLRz?<9hUVG^237_Jy7tbuQ8eV{r(~v8;?@w8^gA7>fx*+&&t;uc
GLK6VEQpiUD

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/search/searchdata.js b/ver-4.4.0/search/searchdata.js
new file mode 100644
index 00000000..4edb00a9
--- /dev/null
+++ b/ver-4.4.0/search/searchdata.js
@@ -0,0 +1,30 @@
+var indexSectionsWithContent =
+{
+  0: "abcdefghijklmnoprswy",
+  1: "giop",
+  2: "beginps",
+  3: "begimnps",
+  4: "efgilmpr",
+  5: "abcdeghijklmnoprswy"
+};
+
+var indexSectionNames =
+{
+  0: "all",
+  1: "classes",
+  2: "namespaces",
+  3: "files",
+  4: "functions",
+  5: "variables"
+};
+
+var indexSectionLabels =
+{
+  0: "All",
+  1: "Data Structures",
+  2: "Namespaces",
+  3: "Files",
+  4: "Functions",
+  5: "Variables"
+};
+
diff --git a/ver-4.4.0/search/variables_0.html b/ver-4.4.0/search/variables_0.html
new file mode 100644
index 00000000..1e477c08
--- /dev/null
+++ b/ver-4.4.0/search/variables_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_0.js b/ver-4.4.0/search/variables_0.js
new file mode 100644
index 00000000..c8932e82
--- /dev/null
+++ b/ver-4.4.0/search/variables_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['an_437',['an',['../namespaceip__lambert__conf__grid__mod.html#a82b75fe2d8495aab75b225c6309e61c8',1,'ip_lambert_conf_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/variables_1.html b/ver-4.4.0/search/variables_1.html
new file mode 100644
index 00000000..ea73d9a4
--- /dev/null
+++ b/ver-4.4.0/search/variables_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_1.js b/ver-4.4.0/search/variables_1.js
new file mode 100644
index 00000000..6d31796a
--- /dev/null
+++ b/ver-4.4.0/search/variables_1.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['bicubic_5finterp_5fid_438',['bicubic_interp_id',['../namespaceip__interpolators__mod.html#adfdc7760718083d85618df85320c495e',1,'ip_interpolators_mod']]],
+  ['bilinear_5finterp_5fid_439',['bilinear_interp_id',['../namespaceip__interpolators__mod.html#a753e4b6c113a9a8b226c3c834786f3e1',1,'ip_interpolators_mod']]],
+  ['blat_440',['blat',['../namespaceip__gaussian__grid__mod.html#ae2697b9c4dbe4945276633d1951e79fc',1,'ip_gaussian_grid_mod']]],
+  ['budget_5finterp_5fid_441',['budget_interp_id',['../namespaceip__interpolators__mod.html#a7df843ca4a64e3178f448aebf7dad359',1,'ip_interpolators_mod']]]
+];
diff --git a/ver-4.4.0/search/variables_10.html b/ver-4.4.0/search/variables_10.html
new file mode 100644
index 00000000..dc9920b6
--- /dev/null
+++ b/ver-4.4.0/search/variables_10.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_10.js b/ver-4.4.0/search/variables_10.js
new file mode 100644
index 00000000..19638622
--- /dev/null
+++ b/ver-4.4.0/search/variables_10.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+  ['sbd_511',['sbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]],
+  ['slat_512',['slat',['../namespaceip__rot__equid__cylind__egrid__mod.html#ae1f8503816477fb685fbadc7a9e50f0b',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['slat0_513',['slat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::slat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::slat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a72199c827ab3218b7f2aba35ad30b94d',1,'ip_rot_equid_cylind_egrid_mod::slat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a64831f92d5306513987a98e97a32aea1',1,'ip_rot_equid_cylind_grid_mod::slat0()']]],
+  ['slatr_514',['slatr',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::slatr()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a4ccccb64d3e7236d8cac19c279aab900',1,'ip_rot_equid_cylind_egrid_mod::slatr()']]],
+  ['spectral_5finterp_5fid_515',['spectral_interp_id',['../namespaceip__interpolators__mod.html#a83ba2963a0b686c6ae67b53f9c385851',1,'ip_interpolators_mod']]]
+];
diff --git a/ver-4.4.0/search/variables_11.html b/ver-4.4.0/search/variables_11.html
new file mode 100644
index 00000000..704bcb18
--- /dev/null
+++ b/ver-4.4.0/search/variables_11.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_11.js b/ver-4.4.0/search/variables_11.js
new file mode 100644
index 00000000..5b24ba58
--- /dev/null
+++ b/ver-4.4.0/search/variables_11.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['wbd_516',['wbd',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid']]]
+];
diff --git a/ver-4.4.0/search/variables_12.html b/ver-4.4.0/search/variables_12.html
new file mode 100644
index 00000000..a3a32eb8
--- /dev/null
+++ b/ver-4.4.0/search/variables_12.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_12.js b/ver-4.4.0/search/variables_12.js
new file mode 100644
index 00000000..38bf5f19
--- /dev/null
+++ b/ver-4.4.0/search/variables_12.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['ylat_5frow_517',['ylat_row',['../namespaceip__gaussian__grid__mod.html#a3591b5701f3d03931c6a9d5278e161dc',1,'ip_gaussian_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/variables_2.html b/ver-4.4.0/search/variables_2.html
new file mode 100644
index 00000000..0580462e
--- /dev/null
+++ b/ver-4.4.0/search/variables_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_2.js b/ver-4.4.0/search/variables_2.js
new file mode 100644
index 00000000..17673dc3
--- /dev/null
+++ b/ver-4.4.0/search/variables_2.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+  ['clat_442',['clat',['../namespaceip__rot__equid__cylind__egrid__mod.html#aac1018f3ca1b7ad4b5d33f245678d416',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['clat0_443',['clat0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::clat0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::clat0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a83649d02b55d6252d59514aec4eb3142',1,'ip_rot_equid_cylind_egrid_mod::clat0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#afeb699d0eaa8d157277e93fe8e8c5852',1,'ip_rot_equid_cylind_grid_mod::clat0()']]],
+  ['clatr_444',['clatr',['../namespaceip__rot__equid__cylind__egrid__mod.html#aad4e673a94976b2b5a9bfad9de9e6e30',1,'ip_rot_equid_cylind_egrid_mod']]],
+  ['clon_445',['clon',['../namespaceip__rot__equid__cylind__egrid__mod.html#a557d49c609fc8c5c564a3a5f10174eec',1,'ip_rot_equid_cylind_egrid_mod']]]
+];
diff --git a/ver-4.4.0/search/variables_3.html b/ver-4.4.0/search/variables_3.html
new file mode 100644
index 00000000..0d69e761
--- /dev/null
+++ b/ver-4.4.0/search/variables_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_3.js b/ver-4.4.0/search/variables_3.js
new file mode 100644
index 00000000..250e3866
--- /dev/null
+++ b/ver-4.4.0/search/variables_3.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+  ['de2_446',['de2',['../namespaceip__polar__stereo__grid__mod.html#a605d287e34e60f553521a5de2da22962',1,'ip_polar_stereo_grid_mod']]],
+  ['descriptor_447',['descriptor',['../structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51',1,'ip_grid_mod::ip_grid']]],
+  ['dlat_448',['dlat',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlat()'],['../namespaceip__equid__cylind__grid__mod.html#a30cb127d26d74d2de6ab3cbfd63183fb',1,'ip_equid_cylind_grid_mod::dlat()']]],
+  ['dlats_449',['dlats',['../namespaceip__rot__equid__cylind__grid__mod.html#ab43075e39d4e2dde4110e608931a392d',1,'ip_rot_equid_cylind_grid_mod::dlats()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a0b2faca2325b413e1f3207778d4c4c68',1,'ip_rot_equid_cylind_egrid_mod::dlats()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlats()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlats()']]],
+  ['dlon_450',['dlon',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8',1,'ip_gaussian_grid_mod::ip_gaussian_grid::dlon()'],['../namespaceip__mercator__grid__mod.html#a14e1cb3f8c05d2de49d2aa8dc69d104f',1,'ip_mercator_grid_mod::dlon()'],['../namespaceip__gaussian__grid__mod.html#a8852b7cfb7b99318140c66b0c551dc6d',1,'ip_gaussian_grid_mod::dlon()'],['../namespaceip__equid__cylind__grid__mod.html#a46335f95ac343f7751bd519aec0a160f',1,'ip_equid_cylind_grid_mod::dlon()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee',1,'ip_mercator_grid_mod::ip_mercator_grid::dlon()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlon()']]],
+  ['dlons_451',['dlons',['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlons()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlons()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#af04f8a1044f4d9a7e0d13d38887adcbc',1,'ip_rot_equid_cylind_egrid_mod::dlons()'],['../namespaceip__rot__equid__cylind__grid__mod.html#aa0cf7bb2dd8be1239ae38c7220d29702',1,'ip_rot_equid_cylind_grid_mod::dlons()']]],
+  ['dphi_452',['dphi',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5',1,'ip_mercator_grid_mod::ip_mercator_grid::dphi()'],['../namespaceip__mercator__grid__mod.html#a156e638e2d1b93e388d674462ac3f732',1,'ip_mercator_grid_mod::dphi()']]],
+  ['dpr_453',['dpr',['../namespaceip__constants__mod.html#ae6b74489db06341b78c3088b3f207011',1,'ip_constants_mod']]],
+  ['dxs_454',['dxs',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dxs()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dxs()'],['../namespaceip__lambert__conf__grid__mod.html#a196e94b5a2add34133c87f845394fa81',1,'ip_lambert_conf_grid_mod::dxs()'],['../namespaceip__polar__stereo__grid__mod.html#acf60181f89954e2ff31b08bb1b345354',1,'ip_polar_stereo_grid_mod::dxs()']]],
+  ['dys_455',['dys',['../namespaceip__polar__stereo__grid__mod.html#aea7950530d06d9c59ff61bf706df0a0f',1,'ip_polar_stereo_grid_mod::dys()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dys()'],['../namespaceip__lambert__conf__grid__mod.html#aad8b04b77b0920dbf9ed3827e2e8cfd7',1,'ip_lambert_conf_grid_mod::dys()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dys()']]]
+];
diff --git a/ver-4.4.0/search/variables_4.html b/ver-4.4.0/search/variables_4.html
new file mode 100644
index 00000000..a4b6506b
--- /dev/null
+++ b/ver-4.4.0/search/variables_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_4.js b/ver-4.4.0/search/variables_4.js
new file mode 100644
index 00000000..3cfb6957
--- /dev/null
+++ b/ver-4.4.0/search/variables_4.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+  ['e2_456',['e2',['../namespaceip__polar__stereo__grid__mod.html#abf3a34d9bb00c39dac5225798aea4d5b',1,'ip_polar_stereo_grid_mod']]],
+  ['e2_5fwgs84_457',['e2_wgs84',['../namespaceip__constants__mod.html#af7783a977fa10c54d85282dc6ac5f545',1,'ip_constants_mod']]],
+  ['eccen_5fsquared_458',['eccen_squared',['../structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a',1,'ip_grid_mod::ip_grid']]],
+  ['elliptical_459',['elliptical',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid']]],
+  ['equid_5fcylind_5fgrid_5fid_5fgrib1_460',['equid_cylind_grid_id_grib1',['../namespaceip__grid__mod.html#ad96da95d40beceb1a1c405971e8130bb',1,'ip_grid_mod']]],
+  ['equid_5fcylind_5fgrid_5fid_5fgrib2_461',['equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#a3b5ae57fe3d6d365cfd1ccdb4feb8ac6',1,'ip_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/variables_5.html b/ver-4.4.0/search/variables_5.html
new file mode 100644
index 00000000..7e345d16
--- /dev/null
+++ b/ver-4.4.0/search/variables_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_5.js b/ver-4.4.0/search/variables_5.js
new file mode 100644
index 00000000..3fea3970
--- /dev/null
+++ b/ver-4.4.0/search/variables_5.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+  ['gaussian_5fgrid_5fid_5fgrib1_462',['gaussian_grid_id_grib1',['../namespaceip__grid__mod.html#a45e8afad72b1b8856b3e44f2dd3123b3',1,'ip_grid_mod']]],
+  ['gaussian_5fgrid_5fid_5fgrib2_463',['gaussian_grid_id_grib2',['../namespaceip__grid__mod.html#a36a9a73ecd50353f892341ae8a5c8316',1,'ip_grid_mod']]],
+  ['gds_464',['gds',['../structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9',1,'ip_grid_descriptor_mod::grib1_descriptor']]],
+  ['gdt_5flen_465',['gdt_len',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['gdt_5fnum_466',['gdt_num',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['gdt_5ftmpl_467',['gdt_tmpl',['../structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe',1,'ip_grid_descriptor_mod::grib2_descriptor']]],
+  ['grid_5fnum_468',['grid_num',['../structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1',1,'ip_grid_descriptor_mod::ip_grid_descriptor']]]
+];
diff --git a/ver-4.4.0/search/variables_6.html b/ver-4.4.0/search/variables_6.html
new file mode 100644
index 00000000..7d48e75e
--- /dev/null
+++ b/ver-4.4.0/search/variables_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_6.js b/ver-4.4.0/search/variables_6.js
new file mode 100644
index 00000000..ff94a58e
--- /dev/null
+++ b/ver-4.4.0/search/variables_6.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['h_469',['h',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::h()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::h()'],['../namespaceip__lambert__conf__grid__mod.html#aa91572e8b5ba3559c041f1750b6696c6',1,'ip_lambert_conf_grid_mod::h()'],['../namespaceip__polar__stereo__grid__mod.html#a5a63da5168a1432a1af42c0b668f0645',1,'ip_polar_stereo_grid_mod::h()']]],
+  ['hi_470',['hi',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::hi()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::hi()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2',1,'ip_mercator_grid_mod::ip_mercator_grid::hi()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::hi()']]]
+];
diff --git a/ver-4.4.0/search/variables_7.html b/ver-4.4.0/search/variables_7.html
new file mode 100644
index 00000000..5c263409
--- /dev/null
+++ b/ver-4.4.0/search/variables_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_7.js b/ver-4.4.0/search/variables_7.js
new file mode 100644
index 00000000..96cf467d
--- /dev/null
+++ b/ver-4.4.0/search/variables_7.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['im_471',['im',['../structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc',1,'ip_grid_mod::ip_grid']]],
+  ['irot_472',['irot',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::irot()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::irot()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::irot()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::irot()'],['../namespaceip__lambert__conf__grid__mod.html#a7dea876ed4206c5ecc0444aadb7d6acd',1,'ip_lambert_conf_grid_mod::irot()'],['../namespaceip__polar__stereo__grid__mod.html#a1269037aaecd12e75e17d8aac8e20c8c',1,'ip_polar_stereo_grid_mod::irot()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a93ed996cf2dc9569e356256ec946b571',1,'ip_rot_equid_cylind_egrid_mod::irot()'],['../namespaceip__rot__equid__cylind__grid__mod.html#abb0c2acdbd71f0c07ffaf9db54ce06c1',1,'ip_rot_equid_cylind_grid_mod::irot()']]],
+  ['iwrap_473',['iwrap',['../structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed',1,'ip_grid_mod::ip_grid']]]
+];
diff --git a/ver-4.4.0/search/variables_8.html b/ver-4.4.0/search/variables_8.html
new file mode 100644
index 00000000..dc9ec54a
--- /dev/null
+++ b/ver-4.4.0/search/variables_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_8.js b/ver-4.4.0/search/variables_8.js
new file mode 100644
index 00000000..ae495441
--- /dev/null
+++ b/ver-4.4.0/search/variables_8.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+  ['j1_474',['j1',['../namespaceip__gaussian__grid__mod.html#af5c4024263aa3eaef5801849ae32c15a',1,'ip_gaussian_grid_mod']]],
+  ['jg_475',['jg',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
+  ['jh_476',['jh',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4',1,'ip_gaussian_grid_mod::ip_gaussian_grid::jh()'],['../namespaceip__gaussian__grid__mod.html#a67d6cd6d188a8bded8bdf64927617028',1,'ip_gaussian_grid_mod::jh()']]],
+  ['jm_477',['jm',['../structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87',1,'ip_grid_mod::ip_grid']]],
+  ['jscan_478',['jscan',['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903',1,'ip_gaussian_grid_mod::ip_gaussian_grid']]],
+  ['jwrap1_479',['jwrap1',['../structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1',1,'ip_grid_mod::ip_grid']]],
+  ['jwrap2_480',['jwrap2',['../structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2',1,'ip_grid_mod::ip_grid']]]
+];
diff --git a/ver-4.4.0/search/variables_9.html b/ver-4.4.0/search/variables_9.html
new file mode 100644
index 00000000..7b014750
--- /dev/null
+++ b/ver-4.4.0/search/variables_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_9.js b/ver-4.4.0/search/variables_9.js
new file mode 100644
index 00000000..cd9a1cf7
--- /dev/null
+++ b/ver-4.4.0/search/variables_9.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['kd_481',['kd',['../namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e',1,'ip_rot_equid_cylind_egrid_mod::kd()'],['../namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6',1,'ip_rot_equid_cylind_grid_mod::kd()']]],
+  ['kscan_482',['kscan',['../structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce',1,'ip_grid_mod::ip_grid']]]
+];
diff --git a/ver-4.4.0/search/variables_a.html b/ver-4.4.0/search/variables_a.html
new file mode 100644
index 00000000..52a724d1
--- /dev/null
+++ b/ver-4.4.0/search/variables_a.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_a.js b/ver-4.4.0/search/variables_a.js
new file mode 100644
index 00000000..54eca620
--- /dev/null
+++ b/ver-4.4.0/search/variables_a.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['lambert_5fconf_5fgrid_5fid_5fgrib1_483',['lambert_conf_grid_id_grib1',['../namespaceip__grid__mod.html#ab82b90d20f38ff39741f6890fa422d16',1,'ip_grid_mod']]],
+  ['lambert_5fconf_5fgrid_5fid_5fgrib2_484',['lambert_conf_grid_id_grib2',['../namespaceip__grid__mod.html#a2e49846c9122b1fe1fcdbb2913fc32fe',1,'ip_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/variables_b.html b/ver-4.4.0/search/variables_b.html
new file mode 100644
index 00000000..f376b27a
--- /dev/null
+++ b/ver-4.4.0/search/variables_b.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_b.js b/ver-4.4.0/search/variables_b.js
new file mode 100644
index 00000000..8d412cc5
--- /dev/null
+++ b/ver-4.4.0/search/variables_b.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['mercator_5fgrid_5fid_5fgrib1_485',['mercator_grid_id_grib1',['../namespaceip__grid__mod.html#ab9ff525eca4f053b04ec96a83cb06682',1,'ip_grid_mod']]],
+  ['mercator_5fgrid_5fid_5fgrib2_486',['mercator_grid_id_grib2',['../namespaceip__grid__mod.html#af9c58af5162d96cb7d1ac5001139b856',1,'ip_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/variables_c.html b/ver-4.4.0/search/variables_c.html
new file mode 100644
index 00000000..6019eba9
--- /dev/null
+++ b/ver-4.4.0/search/variables_c.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_c.js b/ver-4.4.0/search/variables_c.js
new file mode 100644
index 00000000..a28494b1
--- /dev/null
+++ b/ver-4.4.0/search/variables_c.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+  ['neighbor_5fbudget_5finterp_5fid_487',['neighbor_budget_interp_id',['../namespaceip__interpolators__mod.html#ae77a1da241f5de94f1874004ee8e715c',1,'ip_interpolators_mod']]],
+  ['neighbor_5finterp_5fid_488',['neighbor_interp_id',['../namespaceip__interpolators__mod.html#a35e5fe3a2dd79d205c0503f550388258',1,'ip_interpolators_mod']]],
+  ['nm_489',['nm',['../structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30',1,'ip_grid_mod::ip_grid']]],
+  ['nscan_490',['nscan',['../structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18',1,'ip_grid_mod::ip_grid']]],
+  ['nscan_5ffield_5fpos_491',['nscan_field_pos',['../structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c',1,'ip_grid_mod::ip_grid']]]
+];
diff --git a/ver-4.4.0/search/variables_d.html b/ver-4.4.0/search/variables_d.html
new file mode 100644
index 00000000..f61ae751
--- /dev/null
+++ b/ver-4.4.0/search/variables_d.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_d.js b/ver-4.4.0/search/variables_d.js
new file mode 100644
index 00000000..60b6d171
--- /dev/null
+++ b/ver-4.4.0/search/variables_d.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['orient_492',['orient',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::orient()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::orient()'],['../namespaceip__polar__stereo__grid__mod.html#aa4a88f48d7b78cfdfc54754882195d18',1,'ip_polar_stereo_grid_mod::orient()']]]
+];
diff --git a/ver-4.4.0/search/variables_e.html b/ver-4.4.0/search/variables_e.html
new file mode 100644
index 00000000..7bfd3721
--- /dev/null
+++ b/ver-4.4.0/search/variables_e.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_e.js b/ver-4.4.0/search/variables_e.js
new file mode 100644
index 00000000..af2aca13
--- /dev/null
+++ b/ver-4.4.0/search/variables_e.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+  ['pi_493',['pi',['../namespaceip__constants__mod.html#a47f83a2267da693170054c958c401cd4',1,'ip_constants_mod']]],
+  ['pi2_494',['pi2',['../namespaceip__constants__mod.html#a309f7e3b1f83b6b272b12ce4fff501c5',1,'ip_constants_mod']]],
+  ['pi4_495',['pi4',['../namespaceip__constants__mod.html#a5fe7cdd86b44487666dc37f655d9ff15',1,'ip_constants_mod']]],
+  ['polar_5fstereo_5fgrid_5fid_5fgrib1_496',['polar_stereo_grid_id_grib1',['../namespaceip__grid__mod.html#afee73c2f09ea9de43c156dc594ae1df1',1,'ip_grid_mod']]],
+  ['polar_5fstereo_5fgrid_5fid_5fgrib2_497',['polar_stereo_grid_id_grib2',['../namespaceip__grid__mod.html#a5b3ad320b41791e65966e1bb498e9ae3',1,'ip_grid_mod']]]
+];
diff --git a/ver-4.4.0/search/variables_f.html b/ver-4.4.0/search/variables_f.html
new file mode 100644
index 00000000..d97920d0
--- /dev/null
+++ b/ver-4.4.0/search/variables_f.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+  if (event.data == "take_focus") {
+    var elem = searchResults.NavNext(0);
+    if (elem) elem.focus();
+  }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/search/variables_f.js b/ver-4.4.0/search/variables_f.js
new file mode 100644
index 00000000..d1a7ea34
--- /dev/null
+++ b/ver-4.4.0/search/variables_f.js
@@ -0,0 +1,16 @@
+var searchData=
+[
+  ['rerth_498',['rerth',['../namespaceip__gaussian__grid__mod.html#a8213e02ccf4325ad5db14f2e48990da2',1,'ip_gaussian_grid_mod::rerth()'],['../namespaceip__equid__cylind__grid__mod.html#ab5b84516fab9cee3316c07450f49746c',1,'ip_equid_cylind_grid_mod::rerth()'],['../namespaceip__lambert__conf__grid__mod.html#a9f0538d092cd7d2829a5b98247eb560d',1,'ip_lambert_conf_grid_mod::rerth()'],['../namespaceip__mercator__grid__mod.html#adaa27c5d41ee24185b6d020420ce9419',1,'ip_mercator_grid_mod::rerth()'],['../namespaceip__polar__stereo__grid__mod.html#a3315b2efb5cb9aebc0b2cb2773aa20b5',1,'ip_polar_stereo_grid_mod::rerth()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#aed7a425f4d300fe14ac1b48d76378edb',1,'ip_rot_equid_cylind_egrid_mod::rerth()'],['../structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8',1,'ip_grid_mod::ip_grid::rerth()'],['../namespaceip__rot__equid__cylind__grid__mod.html#ae08318392106d174ab36cf7dc05c570b',1,'ip_rot_equid_cylind_grid_mod::rerth()']]],
+  ['rerth_5fwgs84_499',['rerth_wgs84',['../namespaceip__constants__mod.html#ac6a501512f426673f064edbecd7a62fb',1,'ip_constants_mod']]],
+  ['rlat1_500',['rlat1',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlat1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlat1()'],['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlat1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7',1,'ip_mercator_grid_mod::ip_mercator_grid::rlat1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlat1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlat1()']]],
+  ['rlat2_501',['rlat2',['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid']]],
+  ['rlati_502',['rlati',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef',1,'ip_mercator_grid_mod::ip_mercator_grid']]],
+  ['rlati1_503',['rlati1',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
+  ['rlati2_504',['rlati2',['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid']]],
+  ['rlon0_505',['rlon0',['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon0()'],['../structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c',1,'ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::rlon0()'],['../namespaceip__rot__equid__cylind__grid__mod.html#a620a55069afd33b301240533915387df',1,'ip_rot_equid_cylind_grid_mod::rlon0()'],['../namespaceip__rot__equid__cylind__egrid__mod.html#a134acf8ab7f40ff49ce8e03daad900e6',1,'ip_rot_equid_cylind_egrid_mod::rlon0()']]],
+  ['rlon1_506',['rlon1',['../structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728',1,'ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlon1()'],['../structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121',1,'ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon1()'],['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon1()'],['../structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f',1,'ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlon1()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon1()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon1()']]],
+  ['rlon2_507',['rlon2',['../structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c',1,'ip_mercator_grid_mod::ip_mercator_grid::rlon2()'],['../structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44',1,'ip_gaussian_grid_mod::ip_gaussian_grid::rlon2()'],['../structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea',1,'ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon2()']]],
+  ['rot_5fequid_5fcylind_5fb_5fgrid_5fid_5fgrib1_508',['rot_equid_cylind_b_grid_id_grib1',['../namespaceip__grid__mod.html#adb7d7d18410aaae52d7eee2e97f04b14',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fe_5fgrid_5fid_5fgrib1_509',['rot_equid_cylind_e_grid_id_grib1',['../namespaceip__grid__mod.html#a4e11ce780c3d165c282684188890af1c',1,'ip_grid_mod']]],
+  ['rot_5fequid_5fcylind_5fgrid_5fid_5fgrib2_510',['rot_equid_cylind_grid_id_grib2',['../namespaceip__grid__mod.html#adc7c650c524eb6425e77b2e0eac0979a',1,'ip_grid_mod']]]
+];
diff --git a/ver-4.4.0/spectral__interp__mod_8F90.html b/ver-4.4.0/spectral__interp__mod_8F90.html
new file mode 100644
index 00000000..7e06ec57
--- /dev/null
+++ b/ver-4.4.0/spectral__interp__mod_8F90.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spectral_interp_mod.F90 File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spectral__interp__mod_8F90.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Types</a> &#124;
+<a href="#namespaces">Modules</a> &#124;
+<a href="#func-members">Functions/Subroutines</a>  </div>
+  <div class="headertitle">
+<div class="title">spectral_interp_mod.F90 File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Interpolate spectral.  
+<a href="#details">More...</a></p>
+
+<p><a href="spectral__interp__mod_8F90_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Types</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1interpolate__spectral.html">spectral_interp_mod::interpolate_spectral</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1polates4.html">spectral_interp_mod::polates4</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacespectral__interp__mod_1_1polatev4.html">spectral_interp_mod::polatev4</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Modules</h2></td></tr>
+<tr class="memitem:namespacespectral__interp__mod"><td class="memItemLeft" align="right" valign="top">module &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html">spectral_interp_mod</a></td></tr>
+<tr class="memdesc:namespacespectral__interp__mod"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate spectral. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions/Subroutines</h2></td></tr>
+<tr class="memitem:a438646d69e941def0ada00d5ca19f618"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">spectral_interp_mod::interpolate_spectral_scalar</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a438646d69e941def0ada00d5ca19f618"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate spectral scalar.  <a href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">More...</a><br /></td></tr>
+<tr class="separator:a438646d69e941def0ada00d5ca19f618"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb61ad529b7decc2a6ff58dd12fbadd0"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">spectral_interp_mod::interpolate_spectral_vector</a> (IPOPT, grid_in, grid_out, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:acb61ad529b7decc2a6ff58dd12fbadd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate spectral vector.  <a href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">More...</a><br /></td></tr>
+<tr class="separator:acb61ad529b7decc2a6ff58dd12fbadd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9fb87d87f2f9d578a5ade6b512ff366"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">spectral_interp_mod::polates4_grib1</a> (IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:ab9fb87d87f2f9d578a5ade6b512ff366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (spectral).  <a href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">More...</a><br /></td></tr>
+<tr class="separator:ab9fb87d87f2f9d578a5ade6b512ff366"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54dfd0ea8368242a1053d64770bd295a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">spectral_interp_mod::polates4_grib2</a> (IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</td></tr>
+<tr class="memdesc:a54dfd0ea8368242a1053d64770bd295a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate scalar fields (spectral).  <a href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">More...</a><br /></td></tr>
+<tr class="separator:a54dfd0ea8368242a1053d64770bd295a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4ce7638750e787dd69c7fe3ff2335cc"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">spectral_interp_mod::polatev4_grib1</a> (IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:af4ce7638750e787dd69c7fe3ff2335cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (spectral).  <a href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">More...</a><br /></td></tr>
+<tr class="separator:af4ce7638750e787dd69c7fe3ff2335cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f76e9900554d90753ca788c2ddf9ac3"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">spectral_interp_mod::polatev4_grib2</a> (IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</td></tr>
+<tr class="memdesc:a2f76e9900554d90753ca788c2ddf9ac3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate vector fields (spectral).  <a href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">More...</a><br /></td></tr>
+<tr class="separator:a2f76e9900554d90753ca788c2ddf9ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interpolate spectral. </p>
+<dl class="section author"><dt>Author</dt><dd>Mark Iredell </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>96-04-10 </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="spectral__interp__mod_8F90_source.html">spectral_interp_mod.F90</a>.</p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spectral__interp__mod_8F90.html">spectral_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/spectral__interp__mod_8F90.js b/ver-4.4.0/spectral__interp__mod_8F90.js
new file mode 100644
index 00000000..c8774d15
--- /dev/null
+++ b/ver-4.4.0/spectral__interp__mod_8F90.js
@@ -0,0 +1,12 @@
+var spectral__interp__mod_8F90 =
+[
+    [ "interpolate_spectral", "interfacespectral__interp__mod_1_1interpolate__spectral.html", "interfacespectral__interp__mod_1_1interpolate__spectral" ],
+    [ "polates4", "interfacespectral__interp__mod_1_1polates4.html", "interfacespectral__interp__mod_1_1polates4" ],
+    [ "polatev4", "interfacespectral__interp__mod_1_1polatev4.html", "interfacespectral__interp__mod_1_1polatev4" ],
+    [ "interpolate_spectral_scalar", "spectral__interp__mod_8F90.html#a438646d69e941def0ada00d5ca19f618", null ],
+    [ "interpolate_spectral_vector", "spectral__interp__mod_8F90.html#acb61ad529b7decc2a6ff58dd12fbadd0", null ],
+    [ "polates4_grib1", "spectral__interp__mod_8F90.html#ab9fb87d87f2f9d578a5ade6b512ff366", null ],
+    [ "polates4_grib2", "spectral__interp__mod_8F90.html#a54dfd0ea8368242a1053d64770bd295a", null ],
+    [ "polatev4_grib1", "spectral__interp__mod_8F90.html#af4ce7638750e787dd69c7fe3ff2335cc", null ],
+    [ "polatev4_grib2", "spectral__interp__mod_8F90.html#a2f76e9900554d90753ca788c2ddf9ac3", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/spectral__interp__mod_8F90_source.html b/ver-4.4.0/spectral__interp__mod_8F90_source.html
new file mode 100644
index 00000000..fd526e49
--- /dev/null
+++ b/ver-4.4.0/spectral__interp__mod_8F90_source.html
@@ -0,0 +1,1155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: spectral_interp_mod.F90 Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('spectral__interp__mod_8F90_source.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">spectral_interp_mod.F90</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="spectral__interp__mod_8F90.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
+<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="namespacespectral__interp__mod.html">    8</a></span>&#160;<span class="keyword">module</span> <a class="code" href="namespacespectral__interp__mod.html">spectral_interp_mod</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespacegdswzd__mod.html">gdswzd_mod</a></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__mod.html">ip_grid_mod</a></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;  <span class="keywordtype">use </span><a class="code" href="namespaceearth__radius__mod.html">earth_radius_mod</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;  <span class="keywordtype">implicit none</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;  <span class="keywordtype">private</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  <span class="keywordtype">public</span> :: <a class="code" href="interfacespectral__interp__mod_1_1interpolate__spectral.html">interpolate_spectral</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="interfacespectral__interp__mod_1_1interpolate__spectral.html">   19</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfacespectral__interp__mod_1_1interpolate__spectral.html">interpolate_spectral</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">interpolate_spectral_scalar</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">interpolate_spectral_vector</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfacespectral__interp__mod_1_1interpolate__spectral.html">interpolate_spectral</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="interfacespectral__interp__mod_1_1polates4.html">   24</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfacespectral__interp__mod_1_1polates4.html">polates4</a></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">polates4_grib1</a></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">polates4_grib2</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfacespectral__interp__mod_1_1polates4.html">polates4</a></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="interfacespectral__interp__mod_1_1polatev4.html">   29</a></span>&#160;  <span class="keyword">interface</span> <a class="code" href="interfacespectral__interp__mod_1_1polatev4.html">polatev4</a></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">polatev4_grib1</a></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;     <span class="keyword">module procedure</span> <a class="code" href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">polatev4_grib2</a></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  <span class="keyword">end interface </span><a class="code" href="interfacespectral__interp__mod_1_1polatev4.html">polatev4</a></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">contains</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a79f600a26ecf256a8a13cf4bdbaf2ab1">   60</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">interpolate_spectral_scalar</a>(IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;       MI,MO,KM,IBI,GI, &amp;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;       NO,RLAT,RLON,IBO,LO,GO,IRET)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: MI, MO</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM), KM</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: IBO(KM), IRET, NO</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordflow">select type</span>(desc_in =&gt; grid_in%descriptor)</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keywordflow">    type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;       <span class="keywordflow">select type</span>(desc_out =&gt; grid_out%descriptor)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keywordflow">       type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>)</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;          <span class="keyword">CALL </span><a class="code" href="interfacespectral__interp__mod_1_1polates4.html">polates4</a>(ipopt,desc_in%gds,desc_out%gds,mi,mo,km,ibi,gi,no,rlat,rlon,ibo,lo,go,iret)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordflow">    type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;       <span class="keywordflow">select type</span>(desc_out =&gt; grid_out%descriptor)</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keywordflow">       type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;          <span class="keyword">CALL </span><a class="code" href="interfacespectral__interp__mod_1_1polates4.html">polates4</a>(ipopt,desc_in%gdt_num,desc_in%gdt_tmpl,desc_in%gdt_len, &amp;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;               desc_out%gdt_num,desc_out%gdt_tmpl,desc_out%gdt_len, &amp;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;               mi,mo,km,ibi,gi,no,rlat,rlon,ibo,lo,go,iret)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">interpolate_spectral_scalar</a></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="interfacespectral__interp__mod_1_1interpolate__spectral.html#a9e939bbb3f7b214fee26c1e77764e487">  121</a></span>&#160;  <span class="keyword">subroutine </span><a class="code" href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">interpolate_spectral_vector</a>(IPOPT,grid_in,grid_out, &amp;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;       MI,MO,KM,IBI,UI,VI, &amp;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;       NO,RLAT,RLON,CROT,SROT,IBO,LO,UO,VO,IRET)</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">intent(in)</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM), NO</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordflow">select type</span>(desc_in =&gt; grid_in%descriptor)</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keywordflow">    type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>)</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;       <span class="keywordflow">select type</span>(desc_out =&gt; grid_out%descriptor)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keywordflow">       type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>)</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;         <span class="keyword">CALL </span><a class="code" href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">polatev4_grib1</a>(ipopt,desc_in%gds,desc_out%gds,mi,mo,km,ibi,ui,vi,&amp;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;            no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keywordflow">    type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;       <span class="keywordflow">select type</span>(desc_out =&gt; grid_out%descriptor)</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keywordflow">       type is</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>)</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;           <span class="keyword">CALL </span><a class="code" href="interfacespectral__interp__mod_1_1polatev4.html">polatev4</a>(ipopt,desc_in%gdt_num,desc_in%gdt_tmpl,desc_in%gdt_len, &amp;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            desc_out%gdt_num,desc_out%gdt_tmpl,desc_out%gdt_len, &amp;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;            mi,mo,km,ibi,ui,vi,&amp;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;            no,rlat,rlon,crot,srot,ibo,lo,uo,vo,iret)</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keywordflow">       end select</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordflow">    end select</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keyword">end subroutine </span><a class="code" href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">interpolate_spectral_vector</a></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="comment">! @author Mark Iredell @date 96-04-10</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="interfacespectral__interp__mod_1_1polates4.html#a3fdc75851f1f741e715a1c3e1e4d89c9">  254</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">polates4_grib2</a>(IPOPT,IGDTNUMI,IGDTMPLI,IGDTLENI, &amp;</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;       IGDTNUMO,IGDTMPLO,IGDTLENO, &amp;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;       MI,MO,KM,IBI,GI, &amp;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;       NO,RLAT,RLON,IBO,LO,GO,IRET)</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20)</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: MI, MO</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM), KM</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: IBO(KM), IRET, NO</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">PARAMETER</span>     :: PI=3.14159265358979</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">PARAMETER</span>     :: DPR=180./pi</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IDRTI, IDRTO, IG, JG, IM, JM</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IGO, JGO, IMO, JMO</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISCAN, JSCAN, NSCAN</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISCANO, JSCANO, NSCANO</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISKIPI, JSKIPI, ISCALE</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IMAXI, JMAXI, ISPEC</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IP, IPRIME, IPROJ, IROMB, K</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: MAXWV, N, NI, NJ, NPS</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keywordtype">    REAL</span>                            :: DE, DR, DY</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="keywordtype">    REAL</span>                            :: DLAT, DLON, DLATO, DLONO</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keywordtype">    REAL</span>                            :: GO2(MO,KM), H, HI, HJ</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="keywordtype">    REAL</span>                            :: ORIENT, SLAT, RERTH, E2</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keywordtype">    REAL</span>                            :: RLAT1, RLON1, RLAT2, RLON2, RLATI</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="keywordtype">    REAL</span>                            :: XMESH, XP, YP</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">    REAL</span>                            :: XPTS(MO), YPTS(MO)</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160; </div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160; </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumi, igdtleni, igdtmpli)</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumo, igdtleno, igdtmplo)</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160; </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    iret=0</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="keywordflow">IF</span>(igdtnumo.GE.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;       <span class="comment">!CALL GDSWZD(IGDTNUMO,IGDTMPLO,IGDTLENO, 0,MO,FILL,XPTS,YPTS,RLON,RLAT,NO)</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no)</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="comment">!  AFFIRM APPROPRIATE INPUT GRID</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="comment">!    LAT/LON OR GAUSSIAN</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <span class="comment">!    NO BITMAPS</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="comment">!    FULL ZONAL COVERAGE</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <span class="comment">!    FULL MERIDIONAL COVERAGE</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    idrti=igdtnumi</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordflow">IF</span>(idrti==40) idrti=4</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <span class="keywordflow">IF</span>(idrti==0.OR.idrti==4)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;       im=igdtmpli(8)</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;       jm=igdtmpli(9)</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;       iscale=igdtmpli(10)*igdtmpli(11)</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;       <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;       rlon1=float(igdtmpli(13))/float(iscale)</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;       rlon2=float(igdtmpli(16))/float(iscale)</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;       iscan=mod(igdtmpli(19)/128,2)</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;       jscan=mod(igdtmpli(19)/64,2)</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;       nscan=mod(igdtmpli(19)/32,2)</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;       iret=41</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;       <span class="keywordflow">IF</span>(ibi(k).NE.0) iret=41</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;       <span class="keywordflow">IF</span>(iscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;          dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;          dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;       ig=nint(360/abs(dlon))</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;       iprime=1+mod(-nint(rlon1/dlon)+ig,ig)</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;       imaxi=ig</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;       jmaxi=jm</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;       <span class="keywordflow">IF</span>(mod(ig,2).NE.0.OR.im.LT.ig) iret=41</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.idrti.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;       iscale=igdtmpli(10)*igdtmpli(11)</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;       <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;       rlat1=float(igdtmpli(12))/float(iscale)</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;       rlat2=float(igdtmpli(15))/float(iscale)</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;       dlat=(rlat2-rlat1)/(jm-1)</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;       jg=nint(180/abs(dlat))</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;       <span class="keywordflow">IF</span>(jm.EQ.jg) idrti=256</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;       <span class="keywordflow">IF</span>(jm.NE.jg.AND.jm.NE.jg+1) iret=41</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    <span class="keywordflow">ELSEIF</span>(iret.EQ.0.AND.idrti.EQ.4) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;       jg=igdtmpli(18)*2</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;       <span class="keywordflow">IF</span>(jm.NE.jg) iret=41</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;       iromb=ipopt(1)</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;       maxwv=ipopt(2)</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;       <span class="keywordflow">IF</span>(maxwv.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.4) maxwv=(jmaxi-1)</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.4) maxwv=(jmaxi-1)/2</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.0) maxwv=(jmaxi-3)/2</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.0) maxwv=(jmaxi-3)/4</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.256) maxwv=(jmaxi-1)/2</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.256) maxwv=(jmaxi-1)/4</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;       <span class="keywordflow">IF</span>((iromb.NE.0.AND.iromb.NE.1).OR.maxwv.LT.0) iret=42</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="comment">!  INTERPOLATE</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;       <span class="keywordflow">IF</span>(nscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;          iskipi=1</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;          jskipi=im</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;          iskipi=jm</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;          jskipi=1</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;       <span class="keywordflow">IF</span>(iscan.EQ.1) iskipi=-iskipi</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;       <span class="keywordflow">IF</span>(jscan.EQ.0) jskipi=-jskipi</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;       ispec=0</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;       <span class="comment">!  SPECIAL CASE OF GLOBAL CYLINDRICAL GRID</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;       <span class="keywordflow">IF</span>((igdtnumo.EQ.0.OR.igdtnumo.EQ.40).AND. &amp;</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;            mod(igdtmplo(8),2).EQ.0.AND.igdtmplo(13).EQ.0.AND.igdtmplo(19).EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;          idrto=igdtnumo</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;          <span class="keywordflow">IF</span>(idrto==40)idrto=4</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;          imo=igdtmplo(8)</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;          jmo=igdtmplo(9)</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;          iscale=igdtmplo(10)*igdtmplo(11)</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;          <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;          rlon2=float(igdtmplo(16))/float(iscale)</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;          dlono=(mod(rlon2-1+3600,360.)+1)/(imo-1)</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;          igo=nint(360/abs(dlono))</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;          <span class="keywordflow">IF</span>(imo.EQ.igo.AND.idrto.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;             rlat1=float(igdtmplo(12))/float(iscale)</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;             rlat2=float(igdtmplo(15))/float(iscale)</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;             dlat=(rlat2-rlat1)/(jmo-1)</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;             jgo=nint(180/abs(dlat))</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) idrto=256</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo.OR.jmo.EQ.jgo+1) ispec=1</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;          <span class="keywordflow">ELSEIF</span>(imo.EQ.igo.AND.idrto.EQ.4) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;             jgo=igdtmplo(18)*2</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) ispec=1</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;          <span class="keywordflow">IF</span>(ispec.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;             <span class="keyword">CALL </span>sptrun(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;                  km,iprime,iskipi,jskipi,mi,0,0,mo,0,gi,go)</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;          <span class="comment">!  SPECIAL CASE OF POLAR STEREOGRAPHIC GRID</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;       <span class="keywordflow">ELSEIF</span>(igdtnumo.EQ.20.AND. &amp;</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;            igdtmplo(8).EQ.igdtmplo(9).AND.mod(igdtmplo(8),2).EQ.1.AND. &amp;</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;            igdtmplo(15).EQ.igdtmplo(16).AND.igdtmplo(18).EQ.64) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;          nps=igdtmplo(8)</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;          rlat1=float(igdtmplo(10))*1.e-6</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;          rlon1=float(igdtmplo(11))*1.e-6</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;          orient=float(igdtmplo(14))*1.e-6</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;          xmesh=float(igdtmplo(15))*1.e-3</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;          iproj=mod(igdtmplo(17)/128,2)</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;          ip=(nps+1)/2</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;          h=(-1.)**iproj</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;          slat=float(abs(igdtmplo(13)))*1.e-6</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius</a>(igdtmplo,igdtleno,rerth,e2)</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;          de=(1.+sin(slat/dpr))*rerth</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;          dr=de*cos(rlat1/dpr)/(1+h*sin(rlat1/dpr))</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;          xp=1-h*sin((rlon1-orient)/dpr)*dr/xmesh</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;          yp=1+cos((rlon1-orient)/dpr)*dr/xmesh</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;          <span class="keywordflow">IF</span>(nint(xp).EQ.ip.AND.nint(yp).EQ.ip) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;             <span class="keywordflow">IF</span>(iproj.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;                <span class="keyword">CALL </span>sptruns(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;                     slat,xmesh,orient,gi,go,go2)</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                <span class="keyword">CALL </span>sptruns(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;                     slat,xmesh,orient,gi,go2,go)</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;             ispec=1</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;          <span class="comment">!  SPECIAL CASE OF MERCATOR GRID</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;       <span class="keywordflow">ELSEIF</span>(igdtnumo.EQ.10) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;          ni=igdtmplo(8)</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;          nj=igdtmplo(9)</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;          rlat1=float(igdtmplo(10))*1.0e-6</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;          rlon1=float(igdtmplo(11))*1.0e-6</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;          rlon2=float(igdtmplo(15))*1.0e-6</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;          rlati=float(igdtmplo(13))*1.0e-6</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;          iscano=mod(igdtmplo(16)/128,2)</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;          jscano=mod(igdtmplo(16)/64,2)</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;          nscano=mod(igdtmplo(16)/32,2)</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;          dy=float(igdtmplo(19))*1.0e-3</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;          hi=(-1.)**iscano</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;          hj=(-1.)**(1-jscano)</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius</a>(igdtmplo,igdtleno,rerth,e2)</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;          dlono=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(ni-1)</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;          dlato=hj*dy/(rerth*cos(rlati/dpr))*dpr</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;          <span class="keywordflow">IF</span>(nscano.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;             <span class="keyword">CALL </span>sptrunm(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;                  iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;                  rlat1,rlon1,dlato,dlono,gi,go)</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;             ispec=1</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;       <span class="comment">!  GENERAL SLOW CASE</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;       <span class="keywordflow">IF</span>(ispec.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;          <span class="keyword">CALL </span>sptrung(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;               iprime,iskipi,jskipi,mi,mo,0,0,0,rlat,rlon,gi,go)</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;          ibo(k)=0</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;             lo(n,k)=.true.</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;          ibo(k)=1</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;             lo(n,k)=.false.</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;             go(n,k)=0.</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">polates4_grib2</a></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160; </div>
+<div class="line"><a name="l00559"></a><span class="lineno"><a class="line" href="interfacespectral__interp__mod_1_1polates4.html#a0be1315db4dce899083176b47b6ea6a4">  559</a></span>&#160;  <span class="keyword">suBROUTINE </span><a class="code" href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">polates4_grib1</a>(IPOPT,KGDSI,KGDSO,MI,MO,KM,IBI,GI, &amp;</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;       NO,RLAT,RLON,IBO,LO,GO,IRET)</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20), KGDSI(200)</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: KGDSO(200), MI, MO</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IBI(KM), KM</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: IBO(KM), IRET</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: GI(MI,KM)</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: GO(MO,KM)</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">PARAMETER</span>     :: FILL=-9999.</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">PARAMETER</span>     :: RERTH=6.3712e6</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">PARAMETER</span>     :: PI=3.14159265358979</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">PARAMETER</span>     :: DPR=180./pi</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IDRTI, IDRTO, IG, JG, IM, JM</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IGO, JGO, IMO, JMO</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISCAN, JSCAN, NSCAN</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISCANO, JSCANO, NSCANO</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISKIPI, JSKIPI</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IMAXI, JMAXI, ISPEC</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IP, IPRIME, IPROJ, IROMB, K</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: MAXWV, N, NI, NJ, NPS, NO</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="keywordtype">    REAL</span>                            :: DE, DR, DY</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="keywordtype">    REAL</span>                            :: DLAT, DLON, DLATO, DLONO</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="keywordtype">    REAL</span>                            :: GO2(MO,KM), H, HI, HJ</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="keywordtype">    REAL</span>                            :: ORIENT</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;<span class="keywordtype">    REAL</span>                            :: RLAT1, RLON1, RLAT2, RLON2, RLATI</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="keywordtype">    REAL</span>                            :: XMESH, XP, YP</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="keywordtype">    REAL</span>                            :: XPTS(MO), YPTS(MO)</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160; </div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160; </div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdsi)</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdso)</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160; </div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    </div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;    iret=0</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    <span class="keywordflow">IF</span>(kgdso(1).GE.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no)</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    <span class="comment">!  AFFIRM APPROPRIATE INPUT GRID</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <span class="comment">!    LAT/LON OR GAUSSIAN</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;    <span class="comment">!    NO BITMAPS</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;    <span class="comment">!    FULL ZONAL COVERAGE</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;    <span class="comment">!    FULL MERIDIONAL COVERAGE</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    idrti=kgdsi(1)</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    im=kgdsi(2)</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;    jm=kgdsi(3)</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    rlon1=kgdsi(5)*1.e-3</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    rlon2=kgdsi(8)*1.e-3</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;    iscan=mod(kgdsi(11)/128,2)</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    jscan=mod(kgdsi(11)/64,2)</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;    nscan=mod(kgdsi(11)/32,2)</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;    <span class="keywordflow">IF</span>(idrti.NE.0.AND.idrti.NE.4) iret=41</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;       <span class="keywordflow">IF</span>(ibi(k).NE.0) iret=41</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;       <span class="keywordflow">IF</span>(iscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;          dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;          dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;       ig=nint(360/abs(dlon))</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;       iprime=1+mod(-nint(rlon1/dlon)+ig,ig)</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;       imaxi=ig</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;       jmaxi=jm</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;       <span class="keywordflow">IF</span>(mod(ig,2).NE.0.OR.im.LT.ig) iret=41</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.idrti.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;       rlat1=kgdsi(4)*1.e-3</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;       rlat2=kgdsi(7)*1.e-3</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;       dlat=(rlat2-rlat1)/(jm-1)</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;       jg=nint(180/abs(dlat))</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;       <span class="keywordflow">IF</span>(jm.EQ.jg) idrti=256</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;       <span class="keywordflow">IF</span>(jm.NE.jg.AND.jm.NE.jg+1) iret=41</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <span class="keywordflow">ELSEIF</span>(iret.EQ.0.AND.idrti.EQ.4) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;       jg=kgdsi(10)*2</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;       <span class="keywordflow">IF</span>(jm.NE.jg) iret=41</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;       iromb=ipopt(1)</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;       maxwv=ipopt(2)</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;       <span class="keywordflow">IF</span>(maxwv.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.4) maxwv=(jmaxi-1)</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.4) maxwv=(jmaxi-1)/2</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.0) maxwv=(jmaxi-3)/2</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.0) maxwv=(jmaxi-3)/4</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.256) maxwv=(jmaxi-1)/2</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.256) maxwv=(jmaxi-1)/4</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;       <span class="keywordflow">IF</span>((iromb.NE.0.AND.iromb.NE.1).OR.maxwv.LT.0) iret=42</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;    <span class="comment">!  INTERPOLATE</span></div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;       <span class="keywordflow">IF</span>(nscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;          iskipi=1</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;          jskipi=im</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;          iskipi=jm</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;          jskipi=1</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;       <span class="keywordflow">IF</span>(iscan.EQ.1) iskipi=-iskipi</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;       <span class="keywordflow">IF</span>(jscan.EQ.0) jskipi=-jskipi</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;       ispec=0</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;       <span class="comment">!  SPECIAL CASE OF GLOBAL CYLINDRICAL GRID</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;       <span class="keywordflow">IF</span>((kgdso(1).EQ.0.OR.kgdso(1).EQ.4).AND. &amp;</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;            mod(kgdso(2),2).EQ.0.AND.kgdso(5).EQ.0.AND.kgdso(11).EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;          idrto=kgdso(1)</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;          imo=kgdso(2)</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;          jmo=kgdso(3)</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;          rlon2=kgdso(8)*1.e-3</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;          dlono=(mod(rlon2-1+3600,360.)+1)/(imo-1)</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;          igo=nint(360/abs(dlono))</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;          <span class="keywordflow">IF</span>(imo.EQ.igo.AND.idrto.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;             rlat1=kgdso(4)*1.e-3</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;             rlat2=kgdso(7)*1.e-3</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;             dlat=(rlat2-rlat1)/(jmo-1)</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;             jgo=nint(180/abs(dlat))</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) idrto=256</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo.OR.jmo.EQ.jgo+1) ispec=1</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;          <span class="keywordflow">ELSEIF</span>(imo.EQ.igo.AND.idrto.EQ.4) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;             jgo=kgdso(10)*2</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) ispec=1</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;          <span class="keywordflow">IF</span>(ispec.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;             <span class="keyword">CALL </span>sptrun(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;                  km,iprime,iskipi,jskipi,mi,0,0,mo,0,gi,go)</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;          <span class="comment">!  SPECIAL CASE OF POLAR STEREOGRAPHIC GRID</span></div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;       <span class="keywordflow">ELSEIF</span>(kgdso(1).EQ.5.AND. &amp;</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;            kgdso(2).EQ.kgdso(3).AND.mod(kgdso(2),2).EQ.1.AND. &amp;</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;            kgdso(8).EQ.kgdso(9).AND.kgdso(11).EQ.64) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;          nps=kgdso(2)</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;          rlat1=kgdso(4)*1.e-3</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;          rlon1=kgdso(5)*1.e-3</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;          orient=kgdso(7)*1.e-3</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;          xmesh=kgdso(8)</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;          iproj=mod(kgdso(10)/128,2)</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;          ip=(nps+1)/2</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;          h=(-1.)**iproj</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;          de=(1.+sin(60./dpr))*rerth</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;          dr=de*cos(rlat1/dpr)/(1+h*sin(rlat1/dpr))</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;          xp=1-h*sin((rlon1-orient)/dpr)*dr/xmesh</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;          yp=1+cos((rlon1-orient)/dpr)*dr/xmesh</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;          <span class="keywordflow">IF</span>(nint(xp).EQ.ip.AND.nint(yp).EQ.ip) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;             <span class="keywordflow">IF</span>(iproj.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;                <span class="keyword">CALL </span>sptruns(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;                     60.,xmesh,orient,gi,go,go2)</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;                <span class="keyword">CALL </span>sptruns(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;                     60.,xmesh,orient,gi,go2,go)</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;             ispec=1</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;          <span class="comment">!  SPECIAL CASE OF MERCATOR GRID</span></div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;       <span class="keywordflow">ELSEIF</span>(kgdso(1).EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;          ni=kgdso(2)</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;          nj=kgdso(3)</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;          rlat1=kgdso(4)*1.e-3</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;          rlon1=kgdso(5)*1.e-3</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;          rlon2=kgdso(8)*1.e-3</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;          rlati=kgdso(9)*1.e-3</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;          iscano=mod(kgdso(11)/128,2)</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;          jscano=mod(kgdso(11)/64,2)</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;          nscano=mod(kgdso(11)/32,2)</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;          dy=kgdso(13)</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;          hi=(-1.)**iscano</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;          hj=(-1.)**(1-jscano)</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;          dlono=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(ni-1)</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;          dlato=hj*dy/(rerth*cos(rlati/dpr))*dpr</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;          <span class="keywordflow">IF</span>(nscano.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;             <span class="keyword">CALL </span>sptrunm(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;                  iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;                  rlat1,rlon1,dlato,dlono,gi,go)</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;             ispec=1</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;       <span class="comment">!  GENERAL SLOW CASE</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;       <span class="keywordflow">IF</span>(ispec.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;          <span class="keyword">CALL </span>sptrung(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;               iprime,iskipi,jskipi,mi,mo,0,0,0,rlat,rlon,gi,go)</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;          ibo(k)=0</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;             lo(n,k)=.true.</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;          ibo(k)=1</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;             lo(n,k)=.false.</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;             go(n,k)=0.</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">polates4_grib1</a></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160; </div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160; </div>
+<div class="line"><a name="l00887"></a><span class="lineno"><a class="line" href="interfacespectral__interp__mod_1_1polatev4.html#a9dcbaeb719e3872ad5ad461adde5c98b">  887</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">polatev4_grib2</a>(IPOPT,IGDTNUMI,IGDTMPLI,IGDTLENI, &amp;</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;       IGDTNUMO,IGDTMPLO,IGDTLENO, &amp;</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;       MI,MO,KM,IBI,UI,VI, &amp;</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;       NO,RLAT,RLON,CROT,SROT,IBO,LO,UO,VO,IRET)</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM), NO</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMI, IGDTLENI</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLI(IGDTLENI)</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IGDTNUMO, IGDTLENO</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IGDTMPLO(IGDTLENO)</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;<span class="keywordtype">    REAL</span>,                 <span class="keywordtype">PARAMETER</span> :: FILL=-9999.</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;<span class="keywordtype">    REAL</span>,                 <span class="keywordtype">PARAMETER</span> :: PI=3.14159265358979</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;<span class="keywordtype">    REAL</span>,                 <span class="keywordtype">PARAMETER</span> :: DPR=180./pi</div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IDRTO, IROMB, ISKIPI, ISPEC</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IDRTI, IMAXI, JMAXI, IM, JM</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IPRIME, IG, IMO, JMO, IGO, JGO</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISCAN, JSCAN, NSCAN</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISCANO, JSCANO, NSCANO</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISCALE, IP, IPROJ, JSKIPI, JG</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: K, MAXWV, N, NI, NJ, NPS</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;<span class="keywordtype">    REAL</span>                            :: DLAT, DLON, DLATO, DLONO, DE, DR, DY</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;<span class="keywordtype">    REAL</span>                            :: DUM, E2, H, HI, HJ</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;<span class="keywordtype">    REAL</span>                            :: ORIENT, RERTH, SLAT</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;<span class="keywordtype">    REAL</span>                            :: RLAT1, RLON1, RLAT2, RLON2, RLATI</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;<span class="keywordtype">    REAL</span>                            :: UROT, VROT, UO2(MO,KM),VO2(MO,KM)</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;<span class="keywordtype">    REAL</span>                            :: XMESH, X, XP, YP, XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160; </div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160; </div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumi, igdtleni, igdtmpli)</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(igdtnumo, igdtleno, igdtmplo)</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160; </div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160; </div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;    <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;    iret=0</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;    <span class="keywordflow">IF</span>(igdtnumo.GE.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts, &amp;</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;            rlon,rlat,no,crot,srot)</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;    <span class="comment">!  AFFIRM APPROPRIATE INPUT GRID</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;    <span class="comment">!    LAT/LON OR GAUSSIAN</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;    <span class="comment">!    NO BITMAPS</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;    <span class="comment">!    FULL ZONAL COVERAGE</span></div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;    <span class="comment">!    FULL MERIDIONAL COVERAGE</span></div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;    idrti=igdtnumi</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;    <span class="keywordflow">IF</span>(idrti==40) idrti=4</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;    <span class="keywordflow">IF</span>(idrti==0.OR.idrti==4)<span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;       im=igdtmpli(8)</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;       jm=igdtmpli(9)</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;       iscale=igdtmpli(10)*igdtmpli(11)</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;       <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;       rlon1=float(igdtmpli(13))/float(iscale)</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;       rlon2=float(igdtmpli(16))/float(iscale)</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;       iscan=mod(igdtmpli(19)/128,2)</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;       jscan=mod(igdtmpli(19)/64,2)</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;       nscan=mod(igdtmpli(19)/32,2)</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;       iret=41</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;       <span class="keywordflow">IF</span>(ibi(k).NE.0) iret=41</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;       <span class="keywordflow">IF</span>(iscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;          dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;          dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;       ig=nint(360/abs(dlon))</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;       iprime=1+mod(-nint(rlon1/dlon)+ig,ig)</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;       imaxi=ig</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;       jmaxi=jm</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;       <span class="keywordflow">IF</span>(mod(ig,2).NE.0.OR.im.LT.ig) iret=41</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.idrti.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;       iscale=igdtmpli(10)*igdtmpli(11)</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;       <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;       rlat1=float(igdtmpli(12))/float(iscale)</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;       rlat2=float(igdtmpli(15))/float(iscale)</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;       dlat=(rlat2-rlat1)/(jm-1)</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;       jg=nint(180/abs(dlat))</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;       <span class="keywordflow">IF</span>(jm.EQ.jg) idrti=256</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;       <span class="keywordflow">IF</span>(jm.NE.jg.AND.jm.NE.jg+1) iret=41</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;    <span class="keywordflow">ELSEIF</span>(iret.EQ.0.AND.idrti.EQ.4) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;       jg=igdtmpli(18)*2</div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;       <span class="keywordflow">IF</span>(jm.NE.jg) iret=41</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;       iromb=ipopt(1)</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;       maxwv=ipopt(2)</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;       <span class="keywordflow">IF</span>(maxwv.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.4) maxwv=(jmaxi-1)</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.4) maxwv=(jmaxi-1)/2</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.0) maxwv=(jmaxi-3)/2</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.0) maxwv=(jmaxi-3)/4</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.256) maxwv=(jmaxi-1)/2</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.256) maxwv=(jmaxi-1)/4</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;       <span class="keywordflow">IF</span>((iromb.NE.0.AND.iromb.NE.1).OR.maxwv.LT.0) iret=42</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;    <span class="comment">!  INTERPOLATE</span></div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;       <span class="keywordflow">IF</span>(nscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;          iskipi=1</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;          jskipi=im</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;          iskipi=jm</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;          jskipi=1</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;       <span class="keywordflow">IF</span>(iscan.EQ.1) iskipi=-iskipi</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;       <span class="keywordflow">IF</span>(jscan.EQ.0) jskipi=-jskipi</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;       ispec=0</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;       <span class="comment">!  SPECIAL CASE OF GLOBAL CYLINDRICAL GRID</span></div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;       <span class="keywordflow">IF</span>((igdtnumo.EQ.0.OR.igdtnumo.EQ.40).AND. &amp;</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;            mod(igdtmplo(8),2).EQ.0.AND.igdtmplo(13).EQ.0.AND. &amp;</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;            igdtmplo(19).EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;          idrto=igdtnumo</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;          <span class="keywordflow">IF</span>(idrto==40)idrto=4</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;          imo=igdtmplo(8)</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;          jmo=igdtmplo(9)</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;          iscale=igdtmplo(10)*igdtmplo(11)</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;          <span class="keywordflow">IF</span>(iscale==0) iscale=10**6</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;          rlon2=float(igdtmplo(16))/float(iscale)</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;          dlono=(mod(rlon2-1+3600,360.)+1)/(imo-1)</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;          igo=nint(360/abs(dlono))</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;          <span class="keywordflow">IF</span>(imo.EQ.igo.AND.idrto.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;             rlat1=float(igdtmplo(12))/float(iscale)</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;             rlat2=float(igdtmplo(15))/float(iscale)</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;             dlat=(rlat2-rlat1)/(jmo-1)</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;             jgo=nint(180/abs(dlat))</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) idrto=256</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo.OR.jmo.EQ.jgo+1) ispec=1</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;          <span class="keywordflow">ELSEIF</span>(imo.EQ.igo.AND.idrto.EQ.4) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;             jgo=igdtmplo(18)*2</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) ispec=1</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;          <span class="keywordflow">IF</span>(ispec.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;             <span class="keyword">CALL </span>sptrunv(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;                  km,iprime,iskipi,jskipi,mi,0,0,mo,0,ui,vi, &amp;</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;                  .true.,uo,vo,.false.,dum,dum,.false.,dum,dum)</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;          <span class="comment">!  SPECIAL CASE OF POLAR STEREOGRAPHIC GRID</span></div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;       <span class="keywordflow">ELSEIF</span>(igdtnumo.EQ.20.AND. &amp;</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;            igdtmplo(8).EQ.igdtmplo(9).AND.mod(igdtmplo(8),2).EQ.1.AND. &amp;</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;            igdtmplo(15).EQ.igdtmplo(16).AND.igdtmplo(18).EQ.64.AND. &amp;</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;            mod(igdtmplo(12)/8,2).EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;          nps=igdtmplo(8)</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;          rlat1=float(igdtmplo(10))*1.e-6</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;          rlon1=float(igdtmplo(11))*1.e-6</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;          orient=float(igdtmplo(14))*1.e-6</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;          xmesh=float(igdtmplo(15))*1.e-3</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;          iproj=mod(igdtmplo(17)/128,2)</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;          ip=(nps+1)/2</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;          h=(-1.)**iproj</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;          slat=float(abs(igdtmplo(13)))*1.e-6</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius</a>(igdtmplo,igdtleno,rerth,e2)</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;          de=(1.+sin(slat/dpr))*rerth</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;          dr=de*cos(rlat1/dpr)/(1+h*sin(rlat1/dpr))</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;          xp=1-h*sin((rlon1-orient)/dpr)*dr/xmesh</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;          yp=1+cos((rlon1-orient)/dpr)*dr/xmesh</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;          <span class="keywordflow">IF</span>(nint(xp).EQ.ip.AND.nint(yp).EQ.ip) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;             <span class="keywordflow">IF</span>(iproj.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;                <span class="keyword">CALL </span>sptrunsv(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;                     slat,xmesh,orient,ui,vi,.true.,uo,vo,uo2,vo2, &amp;</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;                     .false.,dum,dum,dum,dum, &amp;</div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;                     .false.,dum,dum,dum,dum)</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;                <span class="keyword">CALL </span>sptrunsv(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;                     slat,xmesh,orient,ui,vi,.true.,uo2,vo2,uo,vo, &amp;</div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;                     .false.,dum,dum,dum,dum, &amp;</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;                     .false.,dum,dum,dum,dum)</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;             ispec=1</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;          <span class="comment">!  SPECIAL CASE OF MERCATOR GRID</span></div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;       <span class="keywordflow">ELSEIF</span>(igdtnumo.EQ.10) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;          ni=igdtmplo(8)</div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;          nj=igdtmplo(9)</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;          rlat1=float(igdtmplo(10))*1.0e-6</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;          rlon1=float(igdtmplo(11))*1.0e-6</div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;          rlon2=float(igdtmplo(15))*1.0e-6</div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;          rlati=float(igdtmplo(13))*1.0e-6</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;          iscano=mod(igdtmplo(16)/128,2)</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;          jscano=mod(igdtmplo(16)/64,2)</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;          nscano=mod(igdtmplo(16)/32,2)</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;          dy=float(igdtmplo(19))*1.0e-3</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;          hi=(-1.)**iscano</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;          hj=(-1.)**(1-jscano)</div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;          <span class="keyword">CALL </span><a class="code" href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius</a>(igdtmplo,igdtleno,rerth,e2)</div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;          dlono=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(ni-1)</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;          dlato=hj*dy/(rerth*cos(rlati/dpr))*dpr</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;          <span class="keywordflow">IF</span>(nscano.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;             <span class="keyword">CALL </span>sptrunmv(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;                  iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;                  rlat1,rlon1,dlato,dlono,ui,vi, &amp;</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;                  .true.,uo,vo,.false.,dum,dum,.false.,dum,dum)</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;             ispec=1</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;       <span class="comment">!  GENERAL SLOW CASE</span></div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;       <span class="keywordflow">IF</span>(ispec.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;          <span class="keyword">CALL </span>sptrungv(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;               iprime,iskipi,jskipi,mi,mo,0,0,0,rlat,rlon, &amp;</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;               ui,vi,.true.,uo,vo,.false.,x,x,.false.,x,x)</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;          <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;             ibo(k)=0</div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;             <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;                lo(n,k)=.true.</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;                urot=crot(n)*uo(n,k)-srot(n)*vo(n,k)</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;                vrot=srot(n)*uo(n,k)+crot(n)*vo(n,k)</div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;                uo(n,k)=urot</div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;                vo(n,k)=vrot</div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;          ibo(k)=1</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;             lo(n,k)=.false.</div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;             uo(n,k)=0.</div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;             vo(n,k)=0.</div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">polatev4_grib2</a></div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; </div>
+<div class="line"><a name="l01221"></a><span class="lineno"><a class="line" href="interfacespectral__interp__mod_1_1polatev4.html#a5fa619eb983da3326380e9bafcf49ca8"> 1221</a></span>&#160;  <span class="keyword">SUBROUTINE </span><a class="code" href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">polatev4_grib1</a>(IPOPT,KGDSI,KGDSO,MI,MO,KM,IBI,UI,VI, &amp;</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;       NO,RLAT,RLON,CROT,SROT,IBO,LO,UO,VO,IRET)</div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: IPOPT(20), IBI(KM)</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN   )</span> :: KM, MI, MO</div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(  OUT)</span> :: IRET, IBO(KM)</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;    <span class="keywordtype">INTEGER</span>,          <span class="keywordtype">INTENT(IN)</span> :: KGDSI(200),KGDSO(200)</div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;    <span class="keywordtype">LOGICAL*1</span>,        <span class="keywordtype">INTENT(  OUT)</span> :: LO(MO,KM)</div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(IN   )</span> :: UI(MI,KM),VI(MI,KM)</div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: UO(MO,KM),VO(MO,KM)</div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(INOUT)</span> :: RLAT(MO),RLON(MO)</div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;<span class="keywordtype">    REAL</span>,             <span class="keywordtype">INTENT(  OUT)</span> :: CROT(MO),SROT(MO)</div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;<span class="keywordtype">    REAL</span>,                 <span class="keywordtype">PARAMETER</span> :: FILL=-9999.</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;<span class="keywordtype">    REAL</span>,                 <span class="keywordtype">PARAMETER</span> :: RERTH=6.3712e6</div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;<span class="keywordtype">    REAL</span>,                 <span class="keywordtype">PARAMETER</span> :: PI=3.14159265358979</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;<span class="keywordtype">    REAL</span>,                 <span class="keywordtype">PARAMETER</span> :: DPR=180./pi</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IDRTO, IROMB, ISKIPI, ISPEC</div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IDRTI, IMAXI, JMAXI, IM, JM</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IPRIME, IG, IMO, JMO, IGO, JGO</div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISCAN, JSCAN, NSCAN</div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: ISCANO, JSCANO, NSCANO</div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: IP, IPROJ, JSKIPI, JG</div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;    <span class="keywordtype">INTEGER</span>                         :: K, MAXWV, N, NI, NJ, NO, NPS</div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;    <span class="comment">!</span></div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;<span class="keywordtype">    REAL</span>                            :: DLAT, DLON, DLATO, DLONO, DE, DR, DY</div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;<span class="keywordtype">    REAL</span>                            :: DUM, H, HI, HJ</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;<span class="keywordtype">    REAL</span>                            :: ORIENT</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;<span class="keywordtype">    REAL</span>                            :: RLAT1, RLON1, RLAT2, RLON2, RLATI</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;<span class="keywordtype">    REAL</span>                            :: UROT, VROT, UO2(MO,KM),VO2(MO,KM)</div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;<span class="keywordtype">    REAL</span>                            :: XMESH, X, XP, YP, XPTS(MO),YPTS(MO)</div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; </div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;    <span class="keywordtype">type</span>(<a class="code" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a>) :: desc_in, desc_out</div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;    <span class="keywordtype">class</span>(<a class="code" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a>), <span class="keywordtype">allocatable</span> :: grid_in, grid_out</div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; </div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;    desc_in = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdsi)</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;    desc_out = <a class="code" href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">init_descriptor</a>(kgdso)</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; </div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_in, desc_in)</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;    <span class="keyword">call </span><a class="code" href="interfaceip__grid__factory__mod_1_1init__grid.html">init_grid</a>(grid_out, desc_out)</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;    <span class="comment">!  COMPUTE NUMBER OF OUTPUT POINTS AND THEIR LATITUDES AND LONGITUDES.</span></div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;    iret=0</div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;    <span class="keywordflow">IF</span>(kgdso(1).GE.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;       <span class="keyword">CALL </span><a class="code" href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd</a>(grid_out, 0,mo,fill,xpts,ypts,rlon,rlat,no,crot,srot)</div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;       <span class="keywordflow">IF</span>(no.EQ.0) iret=3</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;    <span class="comment">!  AFFIRM APPROPRIATE INPUT GRID</span></div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;    <span class="comment">!    LAT/LON OR GAUSSIAN</span></div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;    <span class="comment">!    NO BITMAPS</span></div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;    <span class="comment">!    FULL ZONAL COVERAGE</span></div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;    <span class="comment">!    FULL MERIDIONAL COVERAGE</span></div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;    idrti=kgdsi(1)</div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;    im=kgdsi(2)</div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;    jm=kgdsi(3)</div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;    rlon1=kgdsi(5)*1.e-3</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;    rlon2=kgdsi(8)*1.e-3</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;    iscan=mod(kgdsi(11)/128,2)</div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;    jscan=mod(kgdsi(11)/64,2)</div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;    nscan=mod(kgdsi(11)/32,2)</div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;    <span class="keywordflow">IF</span>(idrti.NE.0.AND.idrti.NE.4) iret=41</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;    <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;       <span class="keywordflow">IF</span>(ibi(k).NE.0) iret=41</div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;<span class="keywordflow">    ENDDO</span></div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;       <span class="keywordflow">IF</span>(iscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;          dlon=(mod(rlon2-rlon1-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;          dlon=-(mod(rlon1-rlon2-1+3600,360.)+1)/(im-1)</div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;       ig=nint(360/abs(dlon))</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;       iprime=1+mod(-nint(rlon1/dlon)+ig,ig)</div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;       imaxi=ig</div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;       jmaxi=jm</div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;       <span class="keywordflow">IF</span>(mod(ig,2).NE.0.OR.im.LT.ig) iret=41</div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0.AND.idrti.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;       rlat1=kgdsi(4)*1.e-3</div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;       rlat2=kgdsi(7)*1.e-3</div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;       dlat=(rlat2-rlat1)/(jm-1)</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;       jg=nint(180/abs(dlat))</div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;       <span class="keywordflow">IF</span>(jm.EQ.jg) idrti=256</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;       <span class="keywordflow">IF</span>(jm.NE.jg.AND.jm.NE.jg+1) iret=41</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;    <span class="keywordflow">ELSEIF</span>(iret.EQ.0.AND.idrti.EQ.4) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;       jg=kgdsi(10)*2</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;       <span class="keywordflow">IF</span>(jm.NE.jg) iret=41</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;    <span class="comment">!  SET PARAMETERS</span></div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;       iromb=ipopt(1)</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;       maxwv=ipopt(2)</div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;       <span class="keywordflow">IF</span>(maxwv.EQ.-1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.4) maxwv=(jmaxi-1)</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.4) maxwv=(jmaxi-1)/2</div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.0) maxwv=(jmaxi-3)/2</div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.0) maxwv=(jmaxi-3)/4</div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.0.AND.idrti.EQ.256) maxwv=(jmaxi-1)/2</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;          <span class="keywordflow">IF</span>(iromb.EQ.1.AND.idrti.EQ.256) maxwv=(jmaxi-1)/4</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;       <span class="keywordflow">IF</span>((iromb.NE.0.AND.iromb.NE.1).OR.maxwv.LT.0) iret=42</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;    <span class="comment">! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span></div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;    <span class="comment">!  INTERPOLATE</span></div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;    <span class="keywordflow">IF</span>(iret.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;       <span class="keywordflow">IF</span>(nscan.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;          iskipi=1</div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;          jskipi=im</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;       <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;          iskipi=jm</div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;          jskipi=1</div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;       <span class="keywordflow">IF</span>(iscan.EQ.1) iskipi=-iskipi</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;       <span class="keywordflow">IF</span>(jscan.EQ.0) jskipi=-jskipi</div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;       ispec=0</div>
+<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;       <span class="comment">!  SPECIAL CASE OF GLOBAL CYLINDRICAL GRID</span></div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;       <span class="keywordflow">IF</span>((kgdso(1).EQ.0.OR.kgdso(1).EQ.4).AND. &amp;</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;            mod(kgdso(2),2).EQ.0.AND.kgdso(5).EQ.0.AND. &amp;</div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;            kgdso(11).EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;          idrto=kgdso(1)</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;          imo=kgdso(2)</div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;          jmo=kgdso(3)</div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;          rlon2=kgdso(8)*1.e-3</div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;          dlono=(mod(rlon2-1+3600,360.)+1)/(imo-1)</div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;          igo=nint(360/abs(dlono))</div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;          <span class="keywordflow">IF</span>(imo.EQ.igo.AND.idrto.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;             rlat1=kgdso(4)*1.e-3</div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;             rlat2=kgdso(7)*1.e-3</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;             dlat=(rlat2-rlat1)/(jmo-1)</div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;             jgo=nint(180/abs(dlat))</div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) idrto=256</div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo.OR.jmo.EQ.jgo+1) ispec=1</div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;          <span class="keywordflow">ELSEIF</span>(imo.EQ.igo.AND.idrto.EQ.4) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;             jgo=kgdso(10)*2</div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;             <span class="keywordflow">IF</span>(jmo.EQ.jgo) ispec=1</div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;          <span class="keywordflow">IF</span>(ispec.EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;             <span class="keyword">CALL </span>sptrunv(iromb,maxwv,idrti,imaxi,jmaxi,idrto,imo,jmo, &amp;</div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;                  km,iprime,iskipi,jskipi,mi,0,0,mo,0,ui,vi, &amp;</div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;                  .true.,uo,vo,.false.,dum,dum,.false.,dum,dum)</div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;          <span class="comment">!  SPECIAL CASE OF POLAR STEREOGRAPHIC GRID</span></div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;       <span class="keywordflow">ELSEIF</span>(kgdso(1).EQ.5.AND. &amp;</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;            kgdso(2).EQ.kgdso(3).AND.mod(kgdso(2),2).EQ.1.AND. &amp;</div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;            kgdso(8).EQ.kgdso(9).AND.kgdso(11).EQ.64.AND. &amp;</div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;            mod(kgdso(6)/8,2).EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;          nps=kgdso(2)</div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;          rlat1=kgdso(4)*1.e-3</div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;          rlon1=kgdso(5)*1.e-3</div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;          orient=kgdso(7)*1.e-3</div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;          xmesh=kgdso(8)</div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;          iproj=mod(kgdso(10)/128,2)</div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;          ip=(nps+1)/2</div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;          h=(-1.)**iproj</div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;          de=(1.+sin(60./dpr))*rerth</div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;          dr=de*cos(rlat1/dpr)/(1+h*sin(rlat1/dpr))</div>
+<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;          xp=1-h*sin((rlon1-orient)/dpr)*dr/xmesh</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;          yp=1+cos((rlon1-orient)/dpr)*dr/xmesh</div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;          <span class="keywordflow">IF</span>(nint(xp).EQ.ip.AND.nint(yp).EQ.ip) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;             <span class="keywordflow">IF</span>(iproj.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;                <span class="keyword">CALL </span>sptrunsv(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;                     60.,xmesh,orient,ui,vi,.true.,uo,vo,uo2,vo2, &amp;</div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;                     .false.,dum,dum,dum,dum, &amp;</div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;                     .false.,dum,dum,dum,dum)</div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;             <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;                <span class="keyword">CALL </span>sptrunsv(iromb,maxwv,idrti,imaxi,jmaxi,km,nps, &amp;</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;                     iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;                     60.,xmesh,orient,ui,vi,.true.,uo2,vo2,uo,vo, &amp;</div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;                     .false.,dum,dum,dum,dum, &amp;</div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;                     .false.,dum,dum,dum,dum)</div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;<span class="keywordflow">             ENDIF</span></div>
+<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;             ispec=1</div>
+<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;          <span class="comment">!  SPECIAL CASE OF MERCATOR GRID</span></div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;       <span class="keywordflow">ELSEIF</span>(kgdso(1).EQ.1) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;          ni=kgdso(2)</div>
+<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;          nj=kgdso(3)</div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;          rlat1=kgdso(4)*1.e-3</div>
+<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;          rlon1=kgdso(5)*1.e-3</div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;          rlon2=kgdso(8)*1.e-3</div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;          rlati=kgdso(9)*1.e-3</div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;          iscano=mod(kgdso(11)/128,2)</div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;          jscano=mod(kgdso(11)/64,2)</div>
+<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;          nscano=mod(kgdso(11)/32,2)</div>
+<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;          dy=kgdso(13)</div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;          hi=(-1.)**iscano</div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;          hj=(-1.)**(1-jscano)</div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;          dlono=hi*(mod(hi*(rlon2-rlon1)-1+3600,360.)+1)/(ni-1)</div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;          dlato=hj*dy/(rerth*cos(rlati/dpr))*dpr</div>
+<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;          <span class="keywordflow">IF</span>(nscano.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;             <span class="keyword">CALL </span>sptrunmv(iromb,maxwv,idrti,imaxi,jmaxi,km,ni,nj, &amp;</div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;                  iprime,iskipi,jskipi,mi,mo,0,0,0, &amp;</div>
+<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;                  rlat1,rlon1,dlato,dlono,ui,vi, &amp;</div>
+<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;                  .true.,uo,vo,.false.,dum,dum,.false.,dum,dum)</div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;             ispec=1</div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;<span class="keywordflow">          ENDIF</span></div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;       <span class="comment">!  GENERAL SLOW CASE</span></div>
+<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;       <span class="keywordflow">IF</span>(ispec.EQ.0) <span class="keywordflow">THEN</span></div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;          <span class="keyword">CALL </span>sptrungv(iromb,maxwv,idrti,imaxi,jmaxi,km,no, &amp;</div>
+<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;               iprime,iskipi,jskipi,mi,mo,0,0,0,rlat,rlon, &amp;</div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;               ui,vi,.true.,uo,vo,.false.,x,x,.false.,x,x)</div>
+<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;          <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;             ibo(k)=0</div>
+<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;             <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;                lo(n,k)=.true.</div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;                urot=crot(n)*uo(n,k)-srot(n)*vo(n,k)</div>
+<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;                vrot=srot(n)*uo(n,k)+crot(n)*vo(n,k)</div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;                uo(n,k)=urot</div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;                vo(n,k)=vrot</div>
+<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;<span class="keywordflow">             ENDDO</span></div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;<span class="keywordflow">       ENDIF</span></div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;    <span class="keywordflow">ELSE</span></div>
+<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;       <span class="keywordflow">DO</span> k=1,km</div>
+<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;          ibo(k)=1</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;          <span class="keywordflow">DO</span> n=1,no</div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;             lo(n,k)=.false.</div>
+<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;             uo(n,k)=0.</div>
+<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;             vo(n,k)=0.</div>
+<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;<span class="keywordflow">          ENDDO</span></div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;<span class="keywordflow">       ENDDO</span></div>
+<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;<span class="keywordflow">    ENDIF</span></div>
+<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;  <span class="keyword">END SUBROUTINE </span><a class="code" href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">polatev4_grib1</a></div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;<span class="keyword">end module </span><a class="code" href="namespacespectral__interp__mod.html">spectral_interp_mod</a></div>
+<div class="ttc" id="ainterfacegdswzd__mod_1_1gdswzd_html"><div class="ttname"><a href="interfacegdswzd__mod_1_1gdswzd.html">gdswzd_mod::gdswzd</a></div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00037">gdswzd_mod.F90:37</a></div></div>
+<div class="ttc" id="ainterfaceip__grid__descriptor__mod_1_1init__descriptor_html"><div class="ttname"><a href="interfaceip__grid__descriptor__mod_1_1init__descriptor.html">ip_grid_descriptor_mod::init_descriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00060">ip_grid_descriptor_mod.F90:60</a></div></div>
+<div class="ttc" id="ainterfaceip__grid__factory__mod_1_1init__grid_html"><div class="ttname"><a href="interfaceip__grid__factory__mod_1_1init__grid.html">ip_grid_factory_mod::init_grid</a></div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00020">ip_grid_factory_mod.F90:20</a></div></div>
+<div class="ttc" id="ainterfacespectral__interp__mod_1_1interpolate__spectral_html"><div class="ttname"><a href="interfacespectral__interp__mod_1_1interpolate__spectral.html">spectral_interp_mod::interpolate_spectral</a></div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00019">spectral_interp_mod.F90:19</a></div></div>
+<div class="ttc" id="ainterfacespectral__interp__mod_1_1polates4_html"><div class="ttname"><a href="interfacespectral__interp__mod_1_1polates4.html">spectral_interp_mod::polates4</a></div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00024">spectral_interp_mod.F90:24</a></div></div>
+<div class="ttc" id="ainterfacespectral__interp__mod_1_1polatev4_html"><div class="ttname"><a href="interfacespectral__interp__mod_1_1polatev4.html">spectral_interp_mod::polatev4</a></div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00029">spectral_interp_mod.F90:29</a></div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html"><div class="ttname"><a href="namespaceearth__radius__mod.html">earth_radius_mod</a></div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00007">earth_radius_mod.F90:7</a></div></div>
+<div class="ttc" id="anamespaceearth__radius__mod_html_a810f60db1a1faff0d6f59937a8207a54"><div class="ttname"><a href="namespaceearth__radius__mod.html#a810f60db1a1faff0d6f59937a8207a54">earth_radius_mod::earth_radius</a></div><div class="ttdeci">subroutine, public earth_radius(IGDTMPL, IGDTLEN, RADIUS, ECCEN_SQUARED)</div><div class="ttdoc">Determine earth radius and shape.</div><div class="ttdef"><b>Definition:</b> <a href="earth__radius__mod_8F90_source.html#l00040">earth_radius_mod.F90:41</a></div></div>
+<div class="ttc" id="anamespacegdswzd__mod_html"><div class="ttname"><a href="namespacegdswzd__mod.html">gdswzd_mod</a></div><div class="ttdoc">Driver module for gdswzd routines.</div><div class="ttdef"><b>Definition:</b> <a href="gdswzd__mod_8F90_source.html#l00025">gdswzd_mod.F90:25</a></div></div>
+<div class="ttc" id="anamespaceip__grid__descriptor__mod_html"><div class="ttname"><a href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></div><div class="ttdoc">Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 grid definitions.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00015">ip_grid_descriptor_mod.F90:15</a></div></div>
+<div class="ttc" id="anamespaceip__grid__factory__mod_html"><div class="ttname"><a href="namespaceip__grid__factory__mod.html">ip_grid_factory_mod</a></div><div class="ttdoc">Routines for creating an ip_grid given a Grib descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__factory__mod_8F90_source.html#l00011">ip_grid_factory_mod.F90:11</a></div></div>
+<div class="ttc" id="anamespaceip__grid__mod_html"><div class="ttname"><a href="namespaceip__grid__mod.html">ip_grid_mod</a></div><div class="ttdoc">Abstract ip_grid type.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00010">ip_grid_mod.F90:10</a></div></div>
+<div class="ttc" id="anamespacespectral__interp__mod_html"><div class="ttname"><a href="namespacespectral__interp__mod.html">spectral_interp_mod</a></div><div class="ttdoc">Interpolate spectral.</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00008">spectral_interp_mod.F90:8</a></div></div>
+<div class="ttc" id="anamespacespectral__interp__mod_html_a2f76e9900554d90753ca788c2ddf9ac3"><div class="ttname"><a href="namespacespectral__interp__mod.html#a2f76e9900554d90753ca788c2ddf9ac3">spectral_interp_mod::polatev4_grib2</a></div><div class="ttdeci">subroutine polatev4_grib2(IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">Interpolate vector fields (spectral).</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00887">spectral_interp_mod.F90:891</a></div></div>
+<div class="ttc" id="anamespacespectral__interp__mod_html_a438646d69e941def0ada00d5ca19f618"><div class="ttname"><a href="namespacespectral__interp__mod.html#a438646d69e941def0ada00d5ca19f618">spectral_interp_mod::interpolate_spectral_scalar</a></div><div class="ttdeci">subroutine interpolate_spectral_scalar(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">Interpolate spectral scalar.</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00060">spectral_interp_mod.F90:63</a></div></div>
+<div class="ttc" id="anamespacespectral__interp__mod_html_a54dfd0ea8368242a1053d64770bd295a"><div class="ttname"><a href="namespacespectral__interp__mod.html#a54dfd0ea8368242a1053d64770bd295a">spectral_interp_mod::polates4_grib2</a></div><div class="ttdeci">subroutine polates4_grib2(IPOPT, IGDTNUMI, IGDTMPLI, IGDTLENI, IGDTNUMO, IGDTMPLO, IGDTLENO, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">Interpolate scalar fields (spectral).</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00254">spectral_interp_mod.F90:258</a></div></div>
+<div class="ttc" id="anamespacespectral__interp__mod_html_ab9fb87d87f2f9d578a5ade6b512ff366"><div class="ttname"><a href="namespacespectral__interp__mod.html#ab9fb87d87f2f9d578a5ade6b512ff366">spectral_interp_mod::polates4_grib1</a></div><div class="ttdeci">subroutine polates4_grib1(IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, GI, NO, RLAT, RLON, IBO, LO, GO, IRET)</div><div class="ttdoc">Interpolate scalar fields (spectral).</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00559">spectral_interp_mod.F90:561</a></div></div>
+<div class="ttc" id="anamespacespectral__interp__mod_html_acb61ad529b7decc2a6ff58dd12fbadd0"><div class="ttname"><a href="namespacespectral__interp__mod.html#acb61ad529b7decc2a6ff58dd12fbadd0">spectral_interp_mod::interpolate_spectral_vector</a></div><div class="ttdeci">subroutine interpolate_spectral_vector(IPOPT, grid_in, grid_out, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">Interpolate spectral vector.</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l00121">spectral_interp_mod.F90:124</a></div></div>
+<div class="ttc" id="anamespacespectral__interp__mod_html_af4ce7638750e787dd69c7fe3ff2335cc"><div class="ttname"><a href="namespacespectral__interp__mod.html#af4ce7638750e787dd69c7fe3ff2335cc">spectral_interp_mod::polatev4_grib1</a></div><div class="ttdeci">subroutine polatev4_grib1(IPOPT, KGDSI, KGDSO, MI, MO, KM, IBI, UI, VI, NO, RLAT, RLON, CROT, SROT, IBO, LO, UO, VO, IRET)</div><div class="ttdoc">Interpolate vector fields (spectral).</div><div class="ttdef"><b>Definition:</b> <a href="spectral__interp__mod_8F90_source.html#l01221">spectral_interp_mod.F90:1223</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib1__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">ip_grid_descriptor_mod::grib1_descriptor</a></div><div class="ttdoc">Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00038">ip_grid_descriptor_mod.F90:38</a></div></div>
+<div class="ttc" id="astructip__grid__descriptor__mod_1_1grib2__descriptor_html"><div class="ttname"><a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">ip_grid_descriptor_mod::grib2_descriptor</a></div><div class="ttdoc">Grib-2 descriptor containing a grib2 GDT represented by an integer array.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__descriptor__mod_8F90_source.html#l00047">ip_grid_descriptor_mod.F90:47</a></div></div>
+<div class="ttc" id="astructip__grid__mod_1_1ip__grid_html"><div class="ttname"><a href="structip__grid__mod_1_1ip__grid.html">ip_grid_mod::ip_grid</a></div><div class="ttdoc">Abstract grid that holds fields and methods common to all grids.</div><div class="ttdef"><b>Definition:</b> <a href="ip__grid__mod_8F90_source.html#l00052">ip_grid_mod.F90:52</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="spectral__interp__mod_8F90.html">spectral_interp_mod.F90</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/splitbar.png b/ver-4.4.0/splitbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e
GIT binary patch
literal 314
zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc>
z_*`QK&+BH@jW<lVxsx`Ym~nPnqw$O~`M84{XS6<Mm0<Zit<Tk``D^RashfFq{wG<#
zZG2vRxL<$IhkFMSBd@N1`uRtp)t>rYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O
zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|E<fHWtM%;-WUJ&>EGLnJsniYK!2U1
Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html b/ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html
new file mode 100644
index 00000000..0aeae68a
--- /dev/null
+++ b/ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html
@@ -0,0 +1,843 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_equid_cylind_grid_mod::ip_equid_cylind_grid Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_equid_cylind_grid_mod::ip_equid_cylind_grid Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ip_equid_cylind_grid_mod::ip_equid_cylind_grid:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.png" usemap="#ip_5Fequid_5Fcylind_5Fgrid_5Fmod::ip_5Fequid_5Fcylind_5Fgrid_map" alt=""/>
+  <map id="ip_5Fequid_5Fcylind_5Fgrid_5Fmod::ip_5Fequid_5Fcylind_5Fgrid_map" name="ip_5Fequid_5Fcylind_5Fgrid_5Fmod::ip_5Fequid_5Fcylind_5Fgrid_map">
+<area href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids." alt="ip_grid_mod::ip_grid" shape="rect" coords="0,0,282,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">field_pos</a></td></tr>
+<tr class="memdesc:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field position for a given grid point.  <a href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">More...</a><br /></td></tr>
+<tr class="separator:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1023c3efed20a990b75f937bbcac6a3"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3">gdswzd</a> =&gt; <a class="el" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727">gdswzd_equid_cylind</a></td></tr>
+<tr class="memdesc:aa1023c3efed20a990b75f937bbcac6a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727" title="Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for equidistant cylindrical g...">gdswzd_equid_cylind()</a>.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3">More...</a><br /></td></tr>
+<tr class="separator:aa1023c3efed20a990b75f937bbcac6a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memItemLeft" align="right" valign="top">generic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">init</a> =&gt; <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70">init_grib1</a>, <a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db">init_grib2</a></td></tr>
+<tr class="memdesc:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init subprogram.  <a href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">More...</a><br /></td></tr>
+<tr class="separator:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68fb7543888cc76885560709184e7d70"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70">init_grib1</a></td></tr>
+<tr class="memdesc:a68fb7543888cc76885560709184e7d70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init GRIB1.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70">More...</a><br /></td></tr>
+<tr class="separator:a68fb7543888cc76885560709184e7d70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8dd212953e754964770fa1c3d4bcd3db"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db">init_grib2</a></td></tr>
+<tr class="memdesc:a8dd212953e754964770fa1c3d4bcd3db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init GRIB2.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db">More...</a><br /></td></tr>
+<tr class="separator:a8dd212953e754964770fa1c3d4bcd3db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memItemLeft" align="right" valign="top">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">descriptor</a></td></tr>
+<tr class="memdesc:a4a2a0dab09f05931d12615b0ac74bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">More...</a><br /></td></tr>
+<tr class="separator:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6bd00527219fc596b2c2a7ba47fec719"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719">dlat</a></td></tr>
+<tr class="memdesc:a6bd00527219fc596b2c2a7ba47fec719"><td class="mdescLeft">&#160;</td><td class="mdescRight">Di — i direction increment.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719">More...</a><br /></td></tr>
+<tr class="separator:a6bd00527219fc596b2c2a7ba47fec719"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae675dc8c49e64700d941eadc31e8f4e7"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7">dlon</a></td></tr>
+<tr class="memdesc:ae675dc8c49e64700d941eadc31e8f4e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dj — j direction increment.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7">More...</a><br /></td></tr>
+<tr class="separator:ae675dc8c49e64700d941eadc31e8f4e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">eccen_squared</a></td></tr>
+<tr class="memdesc:a180a5da6c470fac34b8439d4c0a32d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity of the Earth squared (e^2).  <a href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">More...</a><br /></td></tr>
+<tr class="separator:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb1ebcfab0d637688bcac84cbc8582fc"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc">hi</a></td></tr>
+<tr class="memdesc:afb1ebcfab0d637688bcac84cbc8582fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan mode in the 'i' direction.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc">More...</a><br /></td></tr>
+<tr class="separator:afb1ebcfab0d637688bcac84cbc8582fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">im</a></td></tr>
+<tr class="memdesc:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of x points.  <a href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">More...</a><br /></td></tr>
+<tr class="separator:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae179622b9a4c764a5ca90385330941ed"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">iwrap</a></td></tr>
+<tr class="memdesc:ae179622b9a4c764a5ca90385330941ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">x wraparound increment (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">More...</a><br /></td></tr>
+<tr class="separator:ae179622b9a4c764a5ca90385330941ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a2a38288864520d8c50854d1843f87"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">jm</a></td></tr>
+<tr class="memdesc:a41a2a38288864520d8c50854d1843f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of y points.  <a href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">More...</a><br /></td></tr>
+<tr class="separator:a41a2a38288864520d8c50854d1843f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92976f110dd7e823799991137ac970a1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">jwrap1</a></td></tr>
+<tr class="memdesc:a92976f110dd7e823799991137ac970a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound lower pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">More...</a><br /></td></tr>
+<tr class="separator:a92976f110dd7e823799991137ac970a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">jwrap2</a></td></tr>
+<tr class="memdesc:ae70be8cebcd217a49be4da1cebfc19d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound upper pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">More...</a><br /></td></tr>
+<tr class="separator:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084603b1c052e76c3335fea2e887cfce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">kscan</a></td></tr>
+<tr class="memdesc:a084603b1c052e76c3335fea2e887cfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).  <a href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">More...</a><br /></td></tr>
+<tr class="separator:a084603b1c052e76c3335fea2e887cfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">nm</a></td></tr>
+<tr class="memdesc:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of points.  <a href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">More...</a><br /></td></tr>
+<tr class="separator:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">nscan</a></td></tr>
+<tr class="separator:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0640093c52461763f904cc2f12c96b6c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">nscan_field_pos</a></td></tr>
+<tr class="memdesc:a0640093c52461763f904cc2f12c96b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">nscan for field_pos routine.  <a href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">More...</a><br /></td></tr>
+<tr class="separator:a0640093c52461763f904cc2f12c96b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">rerth</a></td></tr>
+<tr class="memdesc:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">More...</a><br /></td></tr>
+<tr class="separator:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a493e017343795e89f794bae5229eb6a7"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7">rlat1</a></td></tr>
+<tr class="memdesc:a493e017343795e89f794bae5229eb6a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitude of first grid point.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7">More...</a><br /></td></tr>
+<tr class="separator:a493e017343795e89f794bae5229eb6a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acfd62fa8199f9b57b555364bca920e42"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42">rlat2</a></td></tr>
+<tr class="memdesc:acfd62fa8199f9b57b555364bca920e42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitude of last grid point.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42">More...</a><br /></td></tr>
+<tr class="separator:acfd62fa8199f9b57b555364bca920e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa927f5ecca3f2880ad88e60c8d4b8871"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871">rlon1</a></td></tr>
+<tr class="memdesc:aa927f5ecca3f2880ad88e60c8d4b8871"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of first grid point.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871">More...</a><br /></td></tr>
+<tr class="separator:aa927f5ecca3f2880ad88e60c8d4b8871"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e5b9f8ab3de743b5e392478694154ea"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea">rlon2</a></td></tr>
+<tr class="memdesc:a1e5b9f8ab3de743b5e392478694154ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of last grid point.  <a href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea">More...</a><br /></td></tr>
+<tr class="separator:a1e5b9f8ab3de743b5e392478694154ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00026">26</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac071b3d3eca9a5fa88ff5dc211d19179"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac071b3d3eca9a5fa88ff5dc211d19179">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_mod::ip_grid::field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Field position for a given grid point. </p>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00082">82</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aa1023c3efed20a990b75f937bbcac6a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa1023c3efed20a990b75f937bbcac6a3">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_equid_cylind_grid_mod::ip_equid_cylind_grid::gdswzd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>See <a class="el" href="namespaceip__equid__cylind__grid__mod.html#af20f6f308b5a33211c677b894e41b727" title="Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for equidistant cylindrical g...">gdswzd_equid_cylind()</a>. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00037">37</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f3fa40acb8c2ae4a65c00db21872d7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f3fa40acb8c2ae4a65c00db21872d7c">&#9670;&nbsp;</a></span>init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">generic ip_grid_mod::ip_grid::init</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init subprogram. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00084">84</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a68fb7543888cc76885560709184e7d70"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68fb7543888cc76885560709184e7d70">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init GRIB1. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00035">35</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a8dd212953e754964770fa1c3d4bcd3db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8dd212953e754964770fa1c3d4bcd3db">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_equid_cylind_grid_mod::ip_equid_cylind_grid::init_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init GRIB2. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00036">36</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a4a2a0dab09f05931d12615b0ac74bc51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a2a0dab09f05931d12615b0ac74bc51">&#9670;&nbsp;</a></span>descriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable ip_grid_mod::ip_grid::descriptor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Descriptor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a6bd00527219fc596b2c2a7ba47fec719"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6bd00527219fc596b2c2a7ba47fec719">&#9670;&nbsp;</a></span>dlat</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlat</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Di — i direction increment. </p>
+<p>GRIB2, Section 3, octets 64-67. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00032">32</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae675dc8c49e64700d941eadc31e8f4e7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae675dc8c49e64700d941eadc31e8f4e7">&#9670;&nbsp;</a></span>dlon</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::ip_equid_cylind_grid::dlon</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Dj — j direction increment. </p>
+<p>GRIB2, Section 3, octets 68-71. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00033">33</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a180a5da6c470fac34b8439d4c0a32d2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a180a5da6c470fac34b8439d4c0a32d2a">&#9670;&nbsp;</a></span>eccen_squared</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::eccen_squared</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity of the Earth squared (e^2). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="afb1ebcfab0d637688bcac84cbc8582fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afb1ebcfab0d637688bcac84cbc8582fc">&#9670;&nbsp;</a></span>hi</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::ip_equid_cylind_grid::hi</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Scan mode in the 'i' direction. </p>
+<p>GRIB2, Section 3, octet 72. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00027">27</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a546a9c3bb8e93ec8e8f7eaf2a14537dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a546a9c3bb8e93ec8e8f7eaf2a14537dc">&#9670;&nbsp;</a></span>im</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::im</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of x points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00055">55</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae179622b9a4c764a5ca90385330941ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae179622b9a4c764a5ca90385330941ed">&#9670;&nbsp;</a></span>iwrap</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::iwrap</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x wraparound increment (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a41a2a38288864520d8c50854d1843f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a2a38288864520d8c50854d1843f87">&#9670;&nbsp;</a></span>jm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of y points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a92976f110dd7e823799991137ac970a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92976f110dd7e823799991137ac970a1">&#9670;&nbsp;</a></span>jwrap1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound lower pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70be8cebcd217a49be4da1cebfc19d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70be8cebcd217a49be4da1cebfc19d2">&#9670;&nbsp;</a></span>jwrap2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound upper pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a084603b1c052e76c3335fea2e887cfce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a084603b1c052e76c3335fea2e887cfce">&#9670;&nbsp;</a></span>kscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::kscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2ae87fb4e6bdcb75fc6fdc80ad73ee30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">&#9670;&nbsp;</a></span>nm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Total number of points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1a15aa48354dbbd0b8debafbfc6e7b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a15aa48354dbbd0b8debafbfc6e7b18">&#9670;&nbsp;</a></span>nscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Scanning</td><td>mode.<ul>
+<li>0 if x first then y;</li>
+<li>1 if y first then x;</li>
+<li>3 if staggered diagonal like projection 203. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0640093c52461763f904cc2f12c96b6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0640093c52461763f904cc2f12c96b6c">&#9670;&nbsp;</a></span>nscan_field_pos</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan_field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>nscan for field_pos routine. </p>
+<p>Can be different than nscan due to differences in grib/grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2bb4d4ec2455c3148313bf7cc54e1cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bb4d4ec2455c3148313bf7cc54e1cc8">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a493e017343795e89f794bae5229eb6a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a493e017343795e89f794bae5229eb6a7">&#9670;&nbsp;</a></span>rlat1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlat1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitude of first grid point. </p>
+<p>GRIB2, Section 3, octets 47-50. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00028">28</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="acfd62fa8199f9b57b555364bca920e42"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acfd62fa8199f9b57b555364bca920e42">&#9670;&nbsp;</a></span>rlat2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlat2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitude of last grid point. </p>
+<p>GRIB2, Section 3, octets 56-59. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00030">30</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aa927f5ecca3f2880ad88e60c8d4b8871"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa927f5ecca3f2880ad88e60c8d4b8871">&#9670;&nbsp;</a></span>rlon1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of first grid point. </p>
+<p>GRIB2, Section 3, octets 51-54. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1e5b9f8ab3de743b5e392478694154ea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1e5b9f8ab3de743b5e392478694154ea">&#9670;&nbsp;</a></span>rlon2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_equid_cylind_grid_mod::ip_equid_cylind_grid::rlon2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of last grid point. </p>
+<p>GRIB2, Section 3, octets 60-63. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html#l00031">31</a> of file <a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__equid__cylind__grid__mod_8F90_source.html">ip_equid_cylind_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__equid__cylind__grid__mod.html">ip_equid_cylind_grid_mod</a></li><li class="navelem"><a class="el" href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html">ip_equid_cylind_grid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.js b/ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.js
new file mode 100644
index 00000000..39a1c72a
--- /dev/null
+++ b/ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.js
@@ -0,0 +1,27 @@
+var structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid =
+[
+    [ "field_pos", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179", null ],
+    [ "gdswzd", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa1023c3efed20a990b75f937bbcac6a3", null ],
+    [ "init", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c", null ],
+    [ "init_grib1", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a68fb7543888cc76885560709184e7d70", null ],
+    [ "init_grib2", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a8dd212953e754964770fa1c3d4bcd3db", null ],
+    [ "descriptor", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a4a2a0dab09f05931d12615b0ac74bc51", null ],
+    [ "dlat", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a6bd00527219fc596b2c2a7ba47fec719", null ],
+    [ "dlon", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae675dc8c49e64700d941eadc31e8f4e7", null ],
+    [ "eccen_squared", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a180a5da6c470fac34b8439d4c0a32d2a", null ],
+    [ "hi", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#afb1ebcfab0d637688bcac84cbc8582fc", null ],
+    [ "im", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc", null ],
+    [ "iwrap", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae179622b9a4c764a5ca90385330941ed", null ],
+    [ "jm", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a41a2a38288864520d8c50854d1843f87", null ],
+    [ "jwrap1", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a92976f110dd7e823799991137ac970a1", null ],
+    [ "jwrap2", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#ae70be8cebcd217a49be4da1cebfc19d2", null ],
+    [ "kscan", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a084603b1c052e76c3335fea2e887cfce", null ],
+    [ "nm", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30", null ],
+    [ "nscan", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18", null ],
+    [ "nscan_field_pos", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a0640093c52461763f904cc2f12c96b6c", null ],
+    [ "rerth", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8", null ],
+    [ "rlat1", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a493e017343795e89f794bae5229eb6a7", null ],
+    [ "rlat2", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#acfd62fa8199f9b57b555364bca920e42", null ],
+    [ "rlon1", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#aa927f5ecca3f2880ad88e60c8d4b8871", null ],
+    [ "rlon2", "structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html#a1e5b9f8ab3de743b5e392478694154ea", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.png b/ver-4.4.0/structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.png
new file mode 100644
index 0000000000000000000000000000000000000000..544294150259a63c73c46f6a26eb3d2c67b4334f
GIT binary patch
literal 804
zcmeAS@N?(olHy`uVBq!ia0y~yV3Y!~12~w0<j0#{W<W|Jz$e7@|Ns9$=8HF9OZyK^
z0J6aNz<~p-op<DcT#k|;zhDNSA`rNGD#VC^foZd+i(^Oy<J-9pCvCD4V6|2c{r#`M
z=Ax@=!J%V&6@G`xc8evdJ-)#5X?j#P@78O(+O#|!Cq*rCo1_z{>^W`4L>2EV9+RG`
zn7U4?I&<*uobWIIr%zfEU+{2^WQek-{YU+kGpls9PWLTuzWwm+?|uL8*=~CO^ZVt`
z>t>qfPnoo&*&^`l<D%*6a_REz>$7WLRl3f;axiF8i9q_fSy#X6++>-5TkThzrl(a0
z%%;chXFbck6#ltuU%1yKzDJ+6ulVeCvfZl_zT&7^3`j)9v~1G<Urc;Ds-Der)~3y3
z+umQVY|}Jp%W(&wIWzjt&Jtvu^u%Jr6cyg0c~YLgmUl{dZgS~WiG=yd(|7IGwy5k_
z#t-E`m^c`+7qK1q_*K-Lp=||Yflt~awgm4h3?&^B3_vOZC?{mfFl`0n1{dB2)hq^`
zK<0!_DKe!_-wz7*(p)$t=vn{+lLM;pHdlEhe<_w*-EXUTbiv+k@pRK~t0OmGX54V2
zESrB7qr}q-$EIyg`?Xi5DEj96-IkeQ_t$;D@45cNqBB;7=VpCB{owC+n>6Dun~q7D
zp4}525?f~QJa^Kq4c>p=U1fXkyS<ca&o*zV?DXFE3wB!GUh?+r%kbB1zn%57bKK9q
zHNJOH?Xiuid{$2VHJkQ77aC7nlwPY@wDDuP?|aX;UvE?{sXqAb!f7e#n1$2Udu|r6
zxi;OcCSB3s;L#n=?5}&DPM3}@<=C)Px<WfugFWG}X>ab;JNJvu#u_<a_x$_p`H^po
z??V_1YW8eoPCt9%u5<vygB{B@KHJF55y-p&DHJ??HJ7#oc}0GdceroEAN5jX0We83
Nc)I$ztaD0e0s#7}Z8-n{

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.html b/ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.html
new file mode 100644
index 00000000..a2e49fa1
--- /dev/null
+++ b/ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.html
@@ -0,0 +1,873 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_gaussian_grid_mod::ip_gaussian_grid Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__gaussian__grid__mod_1_1ip__gaussian__grid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_gaussian_grid_mod::ip_gaussian_grid Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ip_gaussian_grid_mod::ip_gaussian_grid:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__gaussian__grid__mod_1_1ip__gaussian__grid.png" usemap="#ip_5Fgaussian_5Fgrid_5Fmod::ip_5Fgaussian_5Fgrid_map" alt=""/>
+  <map id="ip_5Fgaussian_5Fgrid_5Fmod::ip_5Fgaussian_5Fgrid_map" name="ip_5Fgaussian_5Fgrid_5Fmod::ip_5Fgaussian_5Fgrid_map">
+<area href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids." alt="ip_grid_mod::ip_grid" shape="rect" coords="0,0,240,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">field_pos</a></td></tr>
+<tr class="memdesc:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field position for a given grid point.  <a href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">More...</a><br /></td></tr>
+<tr class="separator:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ce52d987d2bd2442053042c03f96885"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885">gdswzd</a> =&gt; <a class="el" href="namespaceip__gaussian__grid__mod.html#a6eefd9270b3f9bb2c59a77bea4ecf1b9">gdswzd_gaussian</a></td></tr>
+<tr class="memdesc:a7ce52d987d2bd2442053042c03f96885"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885">More...</a><br /></td></tr>
+<tr class="separator:a7ce52d987d2bd2442053042c03f96885"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memItemLeft" align="right" valign="top">generic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">init</a> =&gt; <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7">init_grib1</a>, <a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a">init_grib2</a></td></tr>
+<tr class="memdesc:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init subprogram.  <a href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">More...</a><br /></td></tr>
+<tr class="separator:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd3658924783d5dbbd3fe5f07d5b60a7"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7">init_grib1</a></td></tr>
+<tr class="memdesc:afd3658924783d5dbbd3fe5f07d5b60a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib1_descriptor object.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7">More...</a><br /></td></tr>
+<tr class="separator:afd3658924783d5dbbd3fe5f07d5b60a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a378b72a1b6090acb90a36385ab9eda5a"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a">init_grib2</a></td></tr>
+<tr class="memdesc:a378b72a1b6090acb90a36385ab9eda5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib2_descriptor object.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a">More...</a><br /></td></tr>
+<tr class="separator:a378b72a1b6090acb90a36385ab9eda5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memItemLeft" align="right" valign="top">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">descriptor</a></td></tr>
+<tr class="memdesc:a4a2a0dab09f05931d12615b0ac74bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">More...</a><br /></td></tr>
+<tr class="separator:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35c454d320c59a6c71c4aebb881abcb8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8">dlon</a></td></tr>
+<tr class="memdesc:a35c454d320c59a6c71c4aebb881abcb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">"i"-direction increment.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8">More...</a><br /></td></tr>
+<tr class="separator:a35c454d320c59a6c71c4aebb881abcb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">eccen_squared</a></td></tr>
+<tr class="memdesc:a180a5da6c470fac34b8439d4c0a32d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity of the Earth squared (e^2).  <a href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">More...</a><br /></td></tr>
+<tr class="separator:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae71229713fc9322e23140541993459fc"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc">hi</a></td></tr>
+<tr class="memdesc:ae71229713fc9322e23140541993459fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan mode flag in 'i' direction.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc">More...</a><br /></td></tr>
+<tr class="separator:ae71229713fc9322e23140541993459fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">im</a></td></tr>
+<tr class="memdesc:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of x points.  <a href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">More...</a><br /></td></tr>
+<tr class="separator:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae179622b9a4c764a5ca90385330941ed"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">iwrap</a></td></tr>
+<tr class="memdesc:ae179622b9a4c764a5ca90385330941ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">x wraparound increment (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">More...</a><br /></td></tr>
+<tr class="separator:ae179622b9a4c764a5ca90385330941ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a110f99e158a977a1679133235fa06c34"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34">jg</a></td></tr>
+<tr class="memdesc:a110f99e158a977a1679133235fa06c34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of parallels between the equator and pole times 2.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34">More...</a><br /></td></tr>
+<tr class="separator:a110f99e158a977a1679133235fa06c34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a549ccd3ce1f5c75d99e8e04d4d4341b4"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4">jh</a></td></tr>
+<tr class="memdesc:a549ccd3ce1f5c75d99e8e04d4d4341b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan mode flag in 'j' direction.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4">More...</a><br /></td></tr>
+<tr class="separator:a549ccd3ce1f5c75d99e8e04d4d4341b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a2a38288864520d8c50854d1843f87"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">jm</a></td></tr>
+<tr class="memdesc:a41a2a38288864520d8c50854d1843f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of y points.  <a href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">More...</a><br /></td></tr>
+<tr class="separator:a41a2a38288864520d8c50854d1843f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e199827f764b162a14515e837c28903"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903">jscan</a></td></tr>
+<tr class="memdesc:a3e199827f764b162a14515e837c28903"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scanning mode in the 'j' direction.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903">More...</a><br /></td></tr>
+<tr class="separator:a3e199827f764b162a14515e837c28903"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92976f110dd7e823799991137ac970a1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">jwrap1</a></td></tr>
+<tr class="memdesc:a92976f110dd7e823799991137ac970a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound lower pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">More...</a><br /></td></tr>
+<tr class="separator:a92976f110dd7e823799991137ac970a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">jwrap2</a></td></tr>
+<tr class="memdesc:ae70be8cebcd217a49be4da1cebfc19d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound upper pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">More...</a><br /></td></tr>
+<tr class="separator:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084603b1c052e76c3335fea2e887cfce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">kscan</a></td></tr>
+<tr class="memdesc:a084603b1c052e76c3335fea2e887cfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).  <a href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">More...</a><br /></td></tr>
+<tr class="separator:a084603b1c052e76c3335fea2e887cfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">nm</a></td></tr>
+<tr class="memdesc:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of points.  <a href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">More...</a><br /></td></tr>
+<tr class="separator:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">nscan</a></td></tr>
+<tr class="separator:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0640093c52461763f904cc2f12c96b6c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">nscan_field_pos</a></td></tr>
+<tr class="memdesc:a0640093c52461763f904cc2f12c96b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">nscan for field_pos routine.  <a href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">More...</a><br /></td></tr>
+<tr class="separator:a0640093c52461763f904cc2f12c96b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">rerth</a></td></tr>
+<tr class="memdesc:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">More...</a><br /></td></tr>
+<tr class="separator:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdf76c4b3444d0d85dbf9ee09b5f35fc"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc">rlat1</a></td></tr>
+<tr class="memdesc:acdf76c4b3444d0d85dbf9ee09b5f35fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitude of first grid point.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc">More...</a><br /></td></tr>
+<tr class="separator:acdf76c4b3444d0d85dbf9ee09b5f35fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a583517b74d3c1c1b354fefe0d6871c4d"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d">rlon1</a></td></tr>
+<tr class="memdesc:a583517b74d3c1c1b354fefe0d6871c4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of first grid point.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d">More...</a><br /></td></tr>
+<tr class="separator:a583517b74d3c1c1b354fefe0d6871c4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3794a22c4866631c6b5bc6a8871e3e44"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44">rlon2</a></td></tr>
+<tr class="memdesc:a3794a22c4866631c6b5bc6a8871e3e44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of last grid point.  <a href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44">More...</a><br /></td></tr>
+<tr class="separator:a3794a22c4866631c6b5bc6a8871e3e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00024">24</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac071b3d3eca9a5fa88ff5dc211d19179"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac071b3d3eca9a5fa88ff5dc211d19179">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_mod::ip_grid::field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Field position for a given grid point. </p>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00082">82</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a7ce52d987d2bd2442053042c03f96885"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ce52d987d2bd2442053042c03f96885">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_gaussian_grid_mod::ip_gaussian_grid::gdswzd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00040">40</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f3fa40acb8c2ae4a65c00db21872d7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f3fa40acb8c2ae4a65c00db21872d7c">&#9670;&nbsp;</a></span>init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">generic ip_grid_mod::ip_grid::init</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init subprogram. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00084">84</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="afd3658924783d5dbbd3fe5f07d5b60a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afd3658924783d5dbbd3fe5f07d5b60a7">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_gaussian_grid_mod::ip_gaussian_grid::init_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib1_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00035">35</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a378b72a1b6090acb90a36385ab9eda5a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a378b72a1b6090acb90a36385ab9eda5a">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_gaussian_grid_mod::ip_gaussian_grid::init_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib2_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00037">37</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a4a2a0dab09f05931d12615b0ac74bc51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a2a0dab09f05931d12615b0ac74bc51">&#9670;&nbsp;</a></span>descriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable ip_grid_mod::ip_grid::descriptor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Descriptor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a35c454d320c59a6c71c4aebb881abcb8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35c454d320c59a6c71c4aebb881abcb8">&#9670;&nbsp;</a></span>dlon</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_gaussian_grid_mod::ip_gaussian_grid::dlon</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>"i"-direction increment. </p>
+<p>GRIB2 Section 3, octets 64-67. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00026">26</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a180a5da6c470fac34b8439d4c0a32d2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a180a5da6c470fac34b8439d4c0a32d2a">&#9670;&nbsp;</a></span>eccen_squared</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::eccen_squared</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity of the Earth squared (e^2). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae71229713fc9322e23140541993459fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae71229713fc9322e23140541993459fc">&#9670;&nbsp;</a></span>hi</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_gaussian_grid_mod::ip_gaussian_grid::hi</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Scan mode flag in 'i' direction. </p>
+<p>When '1' points scan from W to E. When "-1" points scan from E to W. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00030">30</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a546a9c3bb8e93ec8e8f7eaf2a14537dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a546a9c3bb8e93ec8e8f7eaf2a14537dc">&#9670;&nbsp;</a></span>im</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::im</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of x points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00055">55</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae179622b9a4c764a5ca90385330941ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae179622b9a4c764a5ca90385330941ed">&#9670;&nbsp;</a></span>iwrap</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::iwrap</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x wraparound increment (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a110f99e158a977a1679133235fa06c34"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a110f99e158a977a1679133235fa06c34">&#9670;&nbsp;</a></span>jg</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_gaussian_grid_mod::ip_gaussian_grid::jg</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of parallels between the equator and pole times 2. </p>
+<p>GRIB2 Section 3, octets 68-71. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00031">31</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a549ccd3ce1f5c75d99e8e04d4d4341b4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a549ccd3ce1f5c75d99e8e04d4d4341b4">&#9670;&nbsp;</a></span>jh</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_gaussian_grid_mod::ip_gaussian_grid::jh</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Scan mode flag in 'j' direction. </p>
+<p>When '1' points scan from N to S. When "-1" points scan from S to N. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00025">25</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a41a2a38288864520d8c50854d1843f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a2a38288864520d8c50854d1843f87">&#9670;&nbsp;</a></span>jm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of y points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a3e199827f764b162a14515e837c28903"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3e199827f764b162a14515e837c28903">&#9670;&nbsp;</a></span>jscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_gaussian_grid_mod::ip_gaussian_grid::jscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Scanning mode in the 'j' direction. </p>
+<p>GRIB2 Section 3, octet 72. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00032">32</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a92976f110dd7e823799991137ac970a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92976f110dd7e823799991137ac970a1">&#9670;&nbsp;</a></span>jwrap1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound lower pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70be8cebcd217a49be4da1cebfc19d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70be8cebcd217a49be4da1cebfc19d2">&#9670;&nbsp;</a></span>jwrap2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound upper pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a084603b1c052e76c3335fea2e887cfce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a084603b1c052e76c3335fea2e887cfce">&#9670;&nbsp;</a></span>kscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::kscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2ae87fb4e6bdcb75fc6fdc80ad73ee30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">&#9670;&nbsp;</a></span>nm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Total number of points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1a15aa48354dbbd0b8debafbfc6e7b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a15aa48354dbbd0b8debafbfc6e7b18">&#9670;&nbsp;</a></span>nscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Scanning</td><td>mode.<ul>
+<li>0 if x first then y;</li>
+<li>1 if y first then x;</li>
+<li>3 if staggered diagonal like projection 203. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0640093c52461763f904cc2f12c96b6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0640093c52461763f904cc2f12c96b6c">&#9670;&nbsp;</a></span>nscan_field_pos</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan_field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>nscan for field_pos routine. </p>
+<p>Can be different than nscan due to differences in grib/grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2bb4d4ec2455c3148313bf7cc54e1cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bb4d4ec2455c3148313bf7cc54e1cc8">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="acdf76c4b3444d0d85dbf9ee09b5f35fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acdf76c4b3444d0d85dbf9ee09b5f35fc">&#9670;&nbsp;</a></span>rlat1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_gaussian_grid_mod::ip_gaussian_grid::rlat1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitude of first grid point. </p>
+<p>GRIB2 Section 3, octets 47-50. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00027">27</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a583517b74d3c1c1b354fefe0d6871c4d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a583517b74d3c1c1b354fefe0d6871c4d">&#9670;&nbsp;</a></span>rlon1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_gaussian_grid_mod::ip_gaussian_grid::rlon1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of first grid point. </p>
+<p>GRIB2 Section 3, octets 51-54. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00028">28</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a3794a22c4866631c6b5bc6a8871e3e44"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3794a22c4866631c6b5bc6a8871e3e44">&#9670;&nbsp;</a></span>rlon2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_gaussian_grid_mod::ip_gaussian_grid::rlon2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of last grid point. </p>
+<p>GRIB2 Section 3, octets 60-63. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__gaussian__grid__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__gaussian__grid__mod_8F90_source.html">ip_gaussian_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__gaussian__grid__mod.html">ip_gaussian_grid_mod</a></li><li class="navelem"><a class="el" href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html">ip_gaussian_grid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.js b/ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.js
new file mode 100644
index 00000000..ea089373
--- /dev/null
+++ b/ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.js
@@ -0,0 +1,28 @@
+var structip__gaussian__grid__mod_1_1ip__gaussian__grid =
+[
+    [ "field_pos", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179", null ],
+    [ "gdswzd", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a7ce52d987d2bd2442053042c03f96885", null ],
+    [ "init", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c", null ],
+    [ "init_grib1", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#afd3658924783d5dbbd3fe5f07d5b60a7", null ],
+    [ "init_grib2", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a378b72a1b6090acb90a36385ab9eda5a", null ],
+    [ "descriptor", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a4a2a0dab09f05931d12615b0ac74bc51", null ],
+    [ "dlon", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a35c454d320c59a6c71c4aebb881abcb8", null ],
+    [ "eccen_squared", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a180a5da6c470fac34b8439d4c0a32d2a", null ],
+    [ "hi", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae71229713fc9322e23140541993459fc", null ],
+    [ "im", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc", null ],
+    [ "iwrap", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae179622b9a4c764a5ca90385330941ed", null ],
+    [ "jg", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a110f99e158a977a1679133235fa06c34", null ],
+    [ "jh", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a549ccd3ce1f5c75d99e8e04d4d4341b4", null ],
+    [ "jm", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a41a2a38288864520d8c50854d1843f87", null ],
+    [ "jscan", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3e199827f764b162a14515e837c28903", null ],
+    [ "jwrap1", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a92976f110dd7e823799991137ac970a1", null ],
+    [ "jwrap2", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#ae70be8cebcd217a49be4da1cebfc19d2", null ],
+    [ "kscan", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a084603b1c052e76c3335fea2e887cfce", null ],
+    [ "nm", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30", null ],
+    [ "nscan", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18", null ],
+    [ "nscan_field_pos", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a0640093c52461763f904cc2f12c96b6c", null ],
+    [ "rerth", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8", null ],
+    [ "rlat1", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#acdf76c4b3444d0d85dbf9ee09b5f35fc", null ],
+    [ "rlon1", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a583517b74d3c1c1b354fefe0d6871c4d", null ],
+    [ "rlon2", "structip__gaussian__grid__mod_1_1ip__gaussian__grid.html#a3794a22c4866631c6b5bc6a8871e3e44", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.png b/ver-4.4.0/structip__gaussian__grid__mod_1_1ip__gaussian__grid.png
new file mode 100644
index 0000000000000000000000000000000000000000..8937e993e9c6d1a26d0b379607f66f02c8b38ff8
GIT binary patch
literal 684
zcmeAS@N?(olHy`uVBq!ia0vp^AAmT3gBeH)Oy}?eQW60^A+G=b{|7Q(y!l$%e`o@b
z1;z&s9ANFdBM;<qlmz(&GXNEVz|~VBMhpy0)}AhoAr*{o=RTaYT7k!nf4=eWfBiLE
zyP86@V@sa5y{XtD)nVCvAigb8qN>Sp(yxQ9swa)~bUdg1+*>eViSo1unX`3&{SKK_
za?V(}CNN@>-N)~Tl35)U*Cy|onYaA&YpeLA*WtgfKYlu?x4>1)bJg<Rf+-&IN0xsq
zGmcogJ>%M!B#_`mj`yp4G@D)ry1WkZ46+59A6laMr|wbe<}VQy-Pe{*T2hr4yHxyB
zXw_EV@Rv_^%<-D^DsvP6bk~~Lu)`sfLM{bV$ZUG~{;yBBqo>tlCoRuk^Q_%|bj?uN
zyEswHQ!7(R$MZio$km03o}12S*zg>_AjnXEh~L5gi`t*hmuD8{A6lFrf9x*jZ!O*g
zX>qm<J>1L@$66V69v@-=>R~v&!=NEGM&f{x9#4WKs<gj=6NjxM!wYt(aGL14@B1!2
z4*F#J%Z2xR&j;7UhTAu|`=@^_|Mf2Q^sH^`cK)o{-ty?}pVzs^RV%lB-CL(`nY5~;
zC4ar5aNpK9@+s39UKZXkwCmj-t+@J&*x6b4qMYpx?Y2wJshcpb-}+hVvgRG$Gx|TA
zHLVeo+do4ktj^D$!+g!d#RV5rZRJC1n+r}$X+0~jyY3f1ZJpt6%b2pei~O$?<W8Mu
zEwg4qp{-8%iLcx>%5&CVI$2oEyF01j%a5w|oEsYpd6$0J!lv{8;;!j)%X%CejNh$!
zc$p)9CI5m4ulxM3OyFXkaU2>TGtGVpIK61Ee<y0J9&{%5Brs_)c)I$ztaD0e0stx@
BJLCWW

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.html b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.html
new file mode 100644
index 00000000..481dce43
--- /dev/null
+++ b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.html
@@ -0,0 +1,249 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_descriptor_mod::grib1_descriptor Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__grid__descriptor__mod_1_1grib1__descriptor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_descriptor_mod::grib1_descriptor Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.  
+ <a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#details">More...</a></p>
+<div class="dynheader">
+Inheritance diagram for ip_grid_descriptor_mod::grib1_descriptor:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__grid__descriptor__mod_1_1grib1__descriptor.png" usemap="#ip_5Fgrid_5Fdescriptor_5Fmod::grib1_5Fdescriptor_map" alt=""/>
+  <map id="ip_5Fgrid_5Fdescriptor_5Fmod::grib1_5Fdescriptor_map" name="ip_5Fgrid_5Fdescriptor_5Fmod::grib1_5Fdescriptor_map">
+<area href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" title="Abstract descriptor object which represents a grib1 or grib2 descriptor." alt="ip_grid_descriptor_mod::ip_grid_descriptor" shape="rect" coords="0,0,254,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a9da102dac348a63ffce6556ed5da81b6"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6">is_same_grid</a></td></tr>
+<tr class="memdesc:a9da102dac348a63ffce6556ed5da81b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grid descriptors are the same.  <a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6">More...</a><br /></td></tr>
+<tr class="separator:a9da102dac348a63ffce6556ed5da81b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33b4fc04d218c73e3c4d061163dcbc95"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95">is_same_grid_grib1</a></td></tr>
+<tr class="memdesc:a33b4fc04d218c73e3c4d061163dcbc95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grid descriptors are the same.  <a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95">More...</a><br /></td></tr>
+<tr class="separator:a33b4fc04d218c73e3c4d061163dcbc95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a08920c194e39d562fbf527939f0ac6c9"><td class="memItemLeft" align="right" valign="top">integer, dimension(200)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9">gds</a></td></tr>
+<tr class="memdesc:a08920c194e39d562fbf527939f0ac6c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grib-1 grib descriptor section (GDS)  <a href="structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9">More...</a><br /></td></tr>
+<tr class="separator:a08920c194e39d562fbf527939f0ac6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d4598dc4bbf46e059f636715cc390f1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1">grid_num</a></td></tr>
+<tr class="memdesc:a6d4598dc4bbf46e059f636715cc390f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer representing the grid type (see *_GRID_ID_GRIB1/2 in <a class="el" href="namespaceip__grid__mod.html" title="Abstract ip_grid type.">ip_grid_mod</a>).  <a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1">More...</a><br /></td></tr>
+<tr class="separator:a6d4598dc4bbf46e059f636715cc390f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Descriptor representing a grib1 grib descriptor section (GDS) with an integer array. </p>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00038">38</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a9da102dac348a63ffce6556ed5da81b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9da102dac348a63ffce6556ed5da81b6">&#9670;&nbsp;</a></span>is_same_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_descriptor_mod::ip_grid_descriptor::is_same_grid</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Test whether two grid descriptors are the same. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00032">32</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a33b4fc04d218c73e3c4d061163dcbc95"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a33b4fc04d218c73e3c4d061163dcbc95">&#9670;&nbsp;</a></span>is_same_grid_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_descriptor_mod::grib1_descriptor::is_same_grid_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Test whether two grid descriptors are the same. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00042">42</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a08920c194e39d562fbf527939f0ac6c9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08920c194e39d562fbf527939f0ac6c9">&#9670;&nbsp;</a></span>gds</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, dimension(200) ip_grid_descriptor_mod::grib1_descriptor::gds</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grib-1 grib descriptor section (GDS) </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00039">39</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a6d4598dc4bbf46e059f636715cc390f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d4598dc4bbf46e059f636715cc390f1">&#9670;&nbsp;</a></span>grid_num</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_descriptor_mod::ip_grid_descriptor::grid_num</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Integer representing the grid type (see *_GRID_ID_GRIB1/2 in <a class="el" href="namespaceip__grid__mod.html" title="Abstract ip_grid type.">ip_grid_mod</a>). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></li><li class="navelem"><a class="el" href="structip__grid__descriptor__mod_1_1grib1__descriptor.html">grib1_descriptor</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.js b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.js
new file mode 100644
index 00000000..af5c5429
--- /dev/null
+++ b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.js
@@ -0,0 +1,7 @@
+var structip__grid__descriptor__mod_1_1grib1__descriptor =
+[
+    [ "is_same_grid", "structip__grid__descriptor__mod_1_1grib1__descriptor.html#a9da102dac348a63ffce6556ed5da81b6", null ],
+    [ "is_same_grid_grib1", "structip__grid__descriptor__mod_1_1grib1__descriptor.html#a33b4fc04d218c73e3c4d061163dcbc95", null ],
+    [ "gds", "structip__grid__descriptor__mod_1_1grib1__descriptor.html#a08920c194e39d562fbf527939f0ac6c9", null ],
+    [ "grid_num", "structip__grid__descriptor__mod_1_1grib1__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.png b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib1__descriptor.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ca1b0c06cf6317c529c584ff50560f2d77e02f2
GIT binary patch
literal 774
zcmeAS@N?(olHy`uVBq!ia0vp^|A07vgBeKj#aa9XQW60^A+G=b{|7Q(y!l$%e`o@b
z1;z&s9ANFdBM;<qlmz(&GXNEVz|~VBMhpy0Q$1ZALn;{G&V74nwE|Cz{I!|){;SHb
zW)*&zyRqs`|AoR-75O)lg#H=%UKSDenIt0WyidjT=mdSwz`!T!p1-*D7k{r5-+1%h
zv#DEbkA8O3YF~AK|FgjL$@8uUZoKO6buIZ{MV;OK(>wUAA4^TV|9S)4nw!%slQn$A
z_@^HX`>&_vSGO!h{Zr1rHG9lIXEzr+Tu#uKuAA}WzU$HO`uZTAS#HKT*G{Dw-(-4k
z^yAfi=ch~lJlD^E*8jBL^=Zx5*dO_;>*shKzgfO~^Ya6i)!YB*{_YK_vZ{Y6w)gF|
zwBonhroFe`U-@of()+)^;%rJpy*HhodE@qqE1#yzC2fno^ettvO0C1?mFEB0wC1n6
zKQnq#)DEK``vW(AQq`1btMTmWQjDLpC~2BK(DPyp`;Ray=p~)5w{d#iuUj7`A6Z}U
zbMa^9BS$Cj3y3<~IfU^1WC%2T!t6p&;17@HQW0^Lh7}T@7#Ag-VDI44|Nk~@PtU#Q
zu}9Kg-+#31xlQD=?|jcWWY*X1|FbymedV)gsSW2XnL@ul=QQ7JWpn@Zi$9wSdr!PC
zjbOf(b9#>9jjgd0&b|xR+cIauWR|E;Z|!ycpWOTtS(*P#{IJXg6Nyi$+*1GYo^A@x
z-4!pG5msNH1`pbuS8LeHk40<0kG?9&bp1sAzfar#x%}JCqPM#4>caQy{)MyrI=|0)
zuC4p|o4cRp-~6sEZ}(f4g|Fn_CG#rl{b!#^<?G%r|7Y}kb^VUd^=cP(e19#y>Hj6R
z4;I4JX1mmn%72=km-J2k#=IPs9}UZb!)uD4c5{3Q-(M`+Am+z1Kjx?RPliGRSg39O
eGbM<tyFTl!$%BkI)3v}v%i!ti=d#Wzp$PyopLKZv

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.html b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.html
new file mode 100644
index 00000000..3b1b94e9
--- /dev/null
+++ b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.html
@@ -0,0 +1,307 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_descriptor_mod::grib2_descriptor Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__grid__descriptor__mod_1_1grib2__descriptor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_descriptor_mod::grib2_descriptor Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Grib-2 descriptor containing a grib2 GDT represented by an integer array.  
+ <a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#details">More...</a></p>
+<div class="dynheader">
+Inheritance diagram for ip_grid_descriptor_mod::grib2_descriptor:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__grid__descriptor__mod_1_1grib2__descriptor.png" usemap="#ip_5Fgrid_5Fdescriptor_5Fmod::grib2_5Fdescriptor_map" alt=""/>
+  <map id="ip_5Fgrid_5Fdescriptor_5Fmod::grib2_5Fdescriptor_map" name="ip_5Fgrid_5Fdescriptor_5Fmod::grib2_5Fdescriptor_map">
+<area href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html" title="Abstract descriptor object which represents a grib1 or grib2 descriptor." alt="ip_grid_descriptor_mod::ip_grid_descriptor" shape="rect" coords="0,0,254,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a9da102dac348a63ffce6556ed5da81b6"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6">is_same_grid</a></td></tr>
+<tr class="memdesc:a9da102dac348a63ffce6556ed5da81b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grid descriptors are the same.  <a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6">More...</a><br /></td></tr>
+<tr class="separator:a9da102dac348a63ffce6556ed5da81b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae27b09a835144baf782e2cde0c1ea013"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013">is_same_grid_grib2</a></td></tr>
+<tr class="memdesc:ae27b09a835144baf782e2cde0c1ea013"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grid descriptors are the same.  <a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013">More...</a><br /></td></tr>
+<tr class="separator:ae27b09a835144baf782e2cde0c1ea013"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:abf8e6d212308608a039e8e97c05c4a06"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06">gdt_len</a></td></tr>
+<tr class="memdesc:abf8e6d212308608a039e8e97c05c4a06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length of the template.  <a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06">More...</a><br /></td></tr>
+<tr class="separator:abf8e6d212308608a039e8e97c05c4a06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5dd78817926e0246f93819ab7037e19"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19">gdt_num</a></td></tr>
+<tr class="memdesc:aa5dd78817926e0246f93819ab7037e19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grid number which represents grid type.  <a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19">More...</a><br /></td></tr>
+<tr class="separator:aa5dd78817926e0246f93819ab7037e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3a90e1ef19332a1d8ec1f6a3193c6ebe"><td class="memItemLeft" align="right" valign="top">integer, dimension(:), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe">gdt_tmpl</a></td></tr>
+<tr class="memdesc:a3a90e1ef19332a1d8ec1f6a3193c6ebe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grib-2 grid definition template.  <a href="structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe">More...</a><br /></td></tr>
+<tr class="separator:a3a90e1ef19332a1d8ec1f6a3193c6ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d4598dc4bbf46e059f636715cc390f1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1">grid_num</a></td></tr>
+<tr class="memdesc:a6d4598dc4bbf46e059f636715cc390f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer representing the grid type (see *_GRID_ID_GRIB1/2 in <a class="el" href="namespaceip__grid__mod.html" title="Abstract ip_grid type.">ip_grid_mod</a>).  <a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1">More...</a><br /></td></tr>
+<tr class="separator:a6d4598dc4bbf46e059f636715cc390f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Grib-2 descriptor containing a grib2 GDT represented by an integer array. </p>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00047">47</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a9da102dac348a63ffce6556ed5da81b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9da102dac348a63ffce6556ed5da81b6">&#9670;&nbsp;</a></span>is_same_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_descriptor_mod::ip_grid_descriptor::is_same_grid</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Test whether two grid descriptors are the same. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00032">32</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae27b09a835144baf782e2cde0c1ea013"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae27b09a835144baf782e2cde0c1ea013">&#9670;&nbsp;</a></span>is_same_grid_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_descriptor_mod::grib2_descriptor::is_same_grid_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Test whether two grid descriptors are the same. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="abf8e6d212308608a039e8e97c05c4a06"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf8e6d212308608a039e8e97c05c4a06">&#9670;&nbsp;</a></span>gdt_len</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_descriptor_mod::grib2_descriptor::gdt_len</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Length of the template. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00049">49</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aa5dd78817926e0246f93819ab7037e19"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa5dd78817926e0246f93819ab7037e19">&#9670;&nbsp;</a></span>gdt_num</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_descriptor_mod::grib2_descriptor::gdt_num</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grid number which represents grid type. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00048">48</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a3a90e1ef19332a1d8ec1f6a3193c6ebe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3a90e1ef19332a1d8ec1f6a3193c6ebe">&#9670;&nbsp;</a></span>gdt_tmpl</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer, dimension(:), allocatable ip_grid_descriptor_mod::grib2_descriptor::gdt_tmpl</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grib-2 grid definition template. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00050">50</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a6d4598dc4bbf46e059f636715cc390f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d4598dc4bbf46e059f636715cc390f1">&#9670;&nbsp;</a></span>grid_num</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_descriptor_mod::ip_grid_descriptor::grid_num</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Integer representing the grid type (see *_GRID_ID_GRIB1/2 in <a class="el" href="namespaceip__grid__mod.html" title="Abstract ip_grid type.">ip_grid_mod</a>). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></li><li class="navelem"><a class="el" href="structip__grid__descriptor__mod_1_1grib2__descriptor.html">grib2_descriptor</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.js b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.js
new file mode 100644
index 00000000..23620eb7
--- /dev/null
+++ b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.js
@@ -0,0 +1,9 @@
+var structip__grid__descriptor__mod_1_1grib2__descriptor =
+[
+    [ "is_same_grid", "structip__grid__descriptor__mod_1_1grib2__descriptor.html#a9da102dac348a63ffce6556ed5da81b6", null ],
+    [ "is_same_grid_grib2", "structip__grid__descriptor__mod_1_1grib2__descriptor.html#ae27b09a835144baf782e2cde0c1ea013", null ],
+    [ "gdt_len", "structip__grid__descriptor__mod_1_1grib2__descriptor.html#abf8e6d212308608a039e8e97c05c4a06", null ],
+    [ "gdt_num", "structip__grid__descriptor__mod_1_1grib2__descriptor.html#aa5dd78817926e0246f93819ab7037e19", null ],
+    [ "gdt_tmpl", "structip__grid__descriptor__mod_1_1grib2__descriptor.html#a3a90e1ef19332a1d8ec1f6a3193c6ebe", null ],
+    [ "grid_num", "structip__grid__descriptor__mod_1_1grib2__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.png b/ver-4.4.0/structip__grid__descriptor__mod_1_1grib2__descriptor.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ad07329986a9f3e135b9c2150491096b453cf42
GIT binary patch
literal 780
zcmeAS@N?(olHy`uVBq!ia0vp^|A07vgBeKj#aa9XQW60^A+G=b{|7Q(y!l$%e`o@b
z1;z&s9ANFdBM;<qlmz(&GXNEVz|~VBMhpy0vproLLn;{G&V74nwE|Cz{Pmgl{;SHb
zb`^S<`!V5d|AoR-75O)lg#H<w|12YZW|D}g^F9^VqZ9N!12>+YukuoVPtU#Qu`b*8
zp4Ha0-~GHd#4mJz?b*$7&u!K(PFiiBxk>Ky@z0-s#vRYKkl5bw<zAa^!s%`2BoCiU
z`C1^E^Y#6rM^Dtf%9PG7JAcS}cD(c)rd4dtmG_&v{>O&YeC=01x**HMd7GHo?2}?Y
zCL9d^FQ+y4)BOEgX4+5tA0P5-_4`Bh(SJXONS)hfJy)0g+|AifpT98=%6$2!dV5Ch
zcC*>p+n3hd|9Q5UU$pxD^zV;Wu8x>gTa}c*IOtS-b;r#-&!3)dp1&Ga1!w=^4Y3Q|
zZ@69MYC-CU>nkFDP7>ikc=W{l=aqci4e^f{1;jT#wU=A?_4u^?EBe>i@Az}^C*z}}
z6YL#bit-9tZ8Z%mBt9`NA}CPTmN{$Ljszxzwhy1~=N&!$qV}F^O7w5BaNFr8P5$Rx
zbEx~pF=u_<?mwI3-dDamJe8&EmA-IZT5-j`>lc5jKNg#K@Ad}PoSWAylQ(4VR+xQv
zeNINK`vSH5e=dLPG?{J3{XWM}_0+wk2PfR$zTnaOuzQ)7pK4iFUA3Pl*}Uo^&$Ax6
zT(im1XVVSpdw-oe9(L9Ffz;3Q@wcw!pSGXyUb!Ih>uJ8fvOiOAzgE0Z_wDY>9LuV6
z_jK&j?bpq*l|Em`+$cP^{=M|t-s@?_z1yd}xBhSUeD!~?Cwl+<n5I_m-=lb2KbN6@
z-i>=Nris*_h%dkS#(u*56qX;r@D8piecH{jC47IOXoHkhlXdt%|DOzn22Yq>j!xhg
h5bgd044w@?*cUmPJiV#b;sZ>&44$rjF6*2UngB<4gGK-V

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.html b/ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.html
new file mode 100644
index 00000000..a1f93c1b
--- /dev/null
+++ b/ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.html
@@ -0,0 +1,191 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_descriptor_mod::ip_grid_descriptor Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__grid__descriptor__mod_1_1ip__grid__descriptor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_descriptor_mod::ip_grid_descriptor Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Abstract descriptor object which represents a grib1 or grib2 descriptor.  
+ <a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#details">More...</a></p>
+<div class="dynheader">
+Inheritance diagram for ip_grid_descriptor_mod::ip_grid_descriptor:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__grid__descriptor__mod_1_1ip__grid__descriptor.png" usemap="#ip_5Fgrid_5Fdescriptor_5Fmod::ip_5Fgrid_5Fdescriptor_map" alt=""/>
+  <map id="ip_5Fgrid_5Fdescriptor_5Fmod::ip_5Fgrid_5Fdescriptor_map" name="ip_5Fgrid_5Fdescriptor_5Fmod::ip_5Fgrid_5Fdescriptor_map">
+<area href="structip__grid__descriptor__mod_1_1grib1__descriptor.html" title="Descriptor representing a grib1 grib descriptor section (GDS) with an integer array." alt="ip_grid_descriptor_mod::grib1_descriptor" shape="rect" coords="0,56,254,80"/>
+<area href="structip__grid__descriptor__mod_1_1grib2__descriptor.html" title="Grib-2 descriptor containing a grib2 GDT represented by an integer array." alt="ip_grid_descriptor_mod::grib2_descriptor" shape="rect" coords="264,56,518,80"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a9da102dac348a63ffce6556ed5da81b6"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6">is_same_grid</a></td></tr>
+<tr class="memdesc:a9da102dac348a63ffce6556ed5da81b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether two grid descriptors are the same.  <a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6">More...</a><br /></td></tr>
+<tr class="separator:a9da102dac348a63ffce6556ed5da81b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a6d4598dc4bbf46e059f636715cc390f1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1">grid_num</a></td></tr>
+<tr class="memdesc:a6d4598dc4bbf46e059f636715cc390f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer representing the grid type (see *_GRID_ID_GRIB1/2 in <a class="el" href="namespaceip__grid__mod.html" title="Abstract ip_grid type.">ip_grid_mod</a>).  <a href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1">More...</a><br /></td></tr>
+<tr class="separator:a6d4598dc4bbf46e059f636715cc390f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Abstract descriptor object which represents a grib1 or grib2 descriptor. </p>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00028">28</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="a9da102dac348a63ffce6556ed5da81b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9da102dac348a63ffce6556ed5da81b6">&#9670;&nbsp;</a></span>is_same_grid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_descriptor_mod::ip_grid_descriptor::is_same_grid</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Test whether two grid descriptors are the same. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00032">32</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a6d4598dc4bbf46e059f636715cc390f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d4598dc4bbf46e059f636715cc390f1">&#9670;&nbsp;</a></span>grid_num</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_descriptor_mod::ip_grid_descriptor::grid_num</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Integer representing the grid type (see *_GRID_ID_GRIB1/2 in <a class="el" href="namespaceip__grid__mod.html" title="Abstract ip_grid type.">ip_grid_mod</a>). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__descriptor__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__descriptor__mod_8F90_source.html">ip_grid_descriptor_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__descriptor__mod.html">ip_grid_descriptor_mod</a></li><li class="navelem"><a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.js b/ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.js
new file mode 100644
index 00000000..20582279
--- /dev/null
+++ b/ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.js
@@ -0,0 +1,5 @@
+var structip__grid__descriptor__mod_1_1ip__grid__descriptor =
+[
+    [ "is_same_grid", "structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a9da102dac348a63ffce6556ed5da81b6", null ],
+    [ "grid_num", "structip__grid__descriptor__mod_1_1ip__grid__descriptor.html#a6d4598dc4bbf46e059f636715cc390f1", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.png b/ver-4.4.0/structip__grid__descriptor__mod_1_1ip__grid__descriptor.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e35e4973250b4f814588271d5339107c6daee11
GIT binary patch
literal 1069
zcmeAS@N?(olHy`uVBq!ia0y~yU}6KZ12~w0WavuYKp-U%;1lBd|Nnm=^TnI5rTvE{
z09jys;J^Xa&O7ozE=Ng_UoZnu5eQs86=KA|z`V!P#WAFU@$KA;LW>o6T>BG`{r~?Y
zcWZ{jt6Pt<(u=L{SqXJKtZE2vxNXXFSRkC?k}z|_3L&;4Cy5iBzH$ZA4H!7|6Bz{J
z^wrCFGr!%G-gvA}dheG#8$=R6v<e^J`(N#^`}`+Mf?5uiRr2!On|A#0=Z`<_?>>(f
zo#X!G|4%di8Jm4`^)~D&c@>!QVfVq%r5w#{Y(FpmXuC5@-hA)%589D(7kGB~Z(nfX
zMSZB|p#@u|uc)sKHhz(pT_XH>=AWkZMpJelGzIDkHmLab>CrC9=Jj5JZ0T>=j((^v
zZ$9rW$i~Zai@m6@O5Sop_m4!LYj4D-De*+@ZY(Z0TEC&VZcWqYjz9MIyK*k8M=+bR
z=^bWxw`-Y5VnE`BFH4Ru)oWj`<tnk~@PmzU^Y&LspV!XkWBTKI*3bQTd_b20!?o9M
z^9n8`H%vPx^XEL!T8uzB#GtUJEm7hTmjly|aODOTfk>dpu492R3@pHa>sZIm`iMbc
zTMJ`DivlzlK{{F(9V$4P8$JlJF+5b|VL0S1!O#K?=YrM83T2ia=T}&_Md)esGJScI
z+Mf$vGXKM(R3HwQS=aB{EtztuS1Q=+rQON)>HH_p=&Z6~OG^t><!Na&5MVpxAi=?$
z_(87u;F&jb;|^{*f3L%I+wALSuC2cL`QnZ(*JXckRWu)b|J#5kv_DSXE|&H9^8cCZ
z_s+ZdyXxCq){-}D-+vVpG0wi5P!aJqTJC)CgVOo=p#^di|3ANNlW@*#>&^q8w)K3U
zb+9pdPo?JS86N43)w>U_{~cga*u?+!%U`}Z(nZ;IcfQ0Omb|+4yV--Tc%6(d`uFx&
zT-E!&nyJk2N1;3ym*0oP&0McGA6Y3`VqRW$)o}jGis+dKbtitCt<AHG>&AWFq@Ne;
z|324$TzdM;e%%KtJnOzJw2}7z@Ni0K0MGtp(VEZ$KY_{3PGqvh(e~u@q{1v&%Sl~7
z9==?E^R@Z&O<EvBjy_mkdn4h(+rw$1J2?Fgcei{_2B+Gm*=uhuQ@ZA0TRZ*W_Nl8M
zgof>u{wBI%zx1C?{FVRh&$HYAwfeQ}=$SV&s*Zi@vzzpYmyNMD!>@kP*}{yp*HfF*
z(&_^@Utaj}toi(q1BE<~er(v!#kcS1nKeuM4$jTDt2F=dzIMg3{4_E5_l5?>-O7my
ph<It{YMv6rrQPo6rP+E_{?UQ#5ErTB5@6nD@O1TaS?83{1OSmM=yw1B

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__grid__mod_1_1ip__grid.html b/ver-4.4.0/structip__grid__mod_1_1ip__grid.html
new file mode 100644
index 00000000..1c001197
--- /dev/null
+++ b/ver-4.4.0/structip__grid__mod_1_1ip__grid.html
@@ -0,0 +1,655 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_grid_mod::ip_grid Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__grid__mod_1_1ip__grid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_grid_mod::ip_grid Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Abstract grid that holds fields and methods common to all grids.  
+ <a href="structip__grid__mod_1_1ip__grid.html#details">More...</a></p>
+<div class="dynheader">
+Inheritance diagram for ip_grid_mod::ip_grid:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__grid__mod_1_1ip__grid.png" usemap="#ip_5Fgrid_5Fmod::ip_5Fgrid_map" alt=""/>
+  <map id="ip_5Fgrid_5Fmod::ip_5Fgrid_map" name="ip_5Fgrid_5Fmod::ip_5Fgrid_map">
+<area href="structip__equid__cylind__grid__mod_1_1ip__equid__cylind__grid.html" alt="ip_equid_cylind_grid_mod::ip_equid_cylind_grid" shape="rect" coords="350,56,690,80"/>
+<area href="structip__gaussian__grid__mod_1_1ip__gaussian__grid.html" alt="ip_gaussian_grid_mod::ip_gaussian_grid" shape="rect" coords="350,112,690,136"/>
+<area href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html" alt="ip_lambert_conf_grid_mod::ip_lambert_conf_grid" shape="rect" coords="350,168,690,192"/>
+<area href="structip__mercator__grid__mod_1_1ip__mercator__grid.html" alt="ip_mercator_grid_mod::ip_mercator_grid" shape="rect" coords="350,224,690,248"/>
+<area href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html" alt="ip_polar_stereo_grid_mod::ip_polar_stereo_grid" shape="rect" coords="350,280,690,304"/>
+<area href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html" alt="ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid" shape="rect" coords="350,336,690,360"/>
+<area href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html" alt="ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid" shape="rect" coords="350,392,690,416"/>
+<area href="structip__station__points__grid__mod_1_1ip__station__points__grid.html" alt="ip_station_points_grid_mod::ip_station_points_grid" shape="rect" coords="350,448,690,472"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">field_pos</a></td></tr>
+<tr class="memdesc:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field position for a given grid point.  <a href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">More...</a><br /></td></tr>
+<tr class="separator:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fb366fb577a90cc09f21269b90ac080"><td class="memItemLeft" align="right" valign="top">procedure(<a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html">gdswzd_interface</a>), deferred&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080">gdswzd</a></td></tr>
+<tr class="memdesc:a5fb366fb577a90cc09f21269b90ac080"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coordinate transformations for the grid.  <a href="structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080">More...</a><br /></td></tr>
+<tr class="separator:a5fb366fb577a90cc09f21269b90ac080"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memItemLeft" align="right" valign="top">generic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">init</a> =&gt; <a class="el" href="structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806">init_grib1</a>, <a class="el" href="structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9">init_grib2</a></td></tr>
+<tr class="memdesc:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init subprogram.  <a href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">More...</a><br /></td></tr>
+<tr class="separator:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a2c16279eb73a0c54ae0a1586d5b806"><td class="memItemLeft" align="right" valign="top">procedure(<a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html">init_grib1_interface</a>), deferred&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806">init_grib1</a></td></tr>
+<tr class="memdesc:a5a2c16279eb73a0c54ae0a1586d5b806"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializer for grib1 input descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806">More...</a><br /></td></tr>
+<tr class="separator:a5a2c16279eb73a0c54ae0a1586d5b806"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad13e0ad8d616e1839ced388826fefee9"><td class="memItemLeft" align="right" valign="top">procedure(<a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html">init_grib2_interface</a>), deferred&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9">init_grib2</a></td></tr>
+<tr class="memdesc:ad13e0ad8d616e1839ced388826fefee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializer for grib2 input descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9">More...</a><br /></td></tr>
+<tr class="separator:ad13e0ad8d616e1839ced388826fefee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memItemLeft" align="right" valign="top">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">descriptor</a></td></tr>
+<tr class="memdesc:a4a2a0dab09f05931d12615b0ac74bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">More...</a><br /></td></tr>
+<tr class="separator:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">eccen_squared</a></td></tr>
+<tr class="memdesc:a180a5da6c470fac34b8439d4c0a32d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity of the Earth squared (e^2).  <a href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">More...</a><br /></td></tr>
+<tr class="separator:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">im</a></td></tr>
+<tr class="memdesc:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of x points.  <a href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">More...</a><br /></td></tr>
+<tr class="separator:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae179622b9a4c764a5ca90385330941ed"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">iwrap</a></td></tr>
+<tr class="memdesc:ae179622b9a4c764a5ca90385330941ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">x wraparound increment (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">More...</a><br /></td></tr>
+<tr class="separator:ae179622b9a4c764a5ca90385330941ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a2a38288864520d8c50854d1843f87"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">jm</a></td></tr>
+<tr class="memdesc:a41a2a38288864520d8c50854d1843f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of y points.  <a href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">More...</a><br /></td></tr>
+<tr class="separator:a41a2a38288864520d8c50854d1843f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92976f110dd7e823799991137ac970a1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">jwrap1</a></td></tr>
+<tr class="memdesc:a92976f110dd7e823799991137ac970a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound lower pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">More...</a><br /></td></tr>
+<tr class="separator:a92976f110dd7e823799991137ac970a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">jwrap2</a></td></tr>
+<tr class="memdesc:ae70be8cebcd217a49be4da1cebfc19d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound upper pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">More...</a><br /></td></tr>
+<tr class="separator:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084603b1c052e76c3335fea2e887cfce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">kscan</a></td></tr>
+<tr class="memdesc:a084603b1c052e76c3335fea2e887cfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).  <a href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">More...</a><br /></td></tr>
+<tr class="separator:a084603b1c052e76c3335fea2e887cfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">nm</a></td></tr>
+<tr class="memdesc:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of points.  <a href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">More...</a><br /></td></tr>
+<tr class="separator:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">nscan</a></td></tr>
+<tr class="separator:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0640093c52461763f904cc2f12c96b6c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">nscan_field_pos</a></td></tr>
+<tr class="memdesc:a0640093c52461763f904cc2f12c96b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">nscan for field_pos routine.  <a href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">More...</a><br /></td></tr>
+<tr class="separator:a0640093c52461763f904cc2f12c96b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">rerth</a></td></tr>
+<tr class="memdesc:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">More...</a><br /></td></tr>
+<tr class="separator:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Abstract grid that holds fields and methods common to all grids. </p>
+<p><a class="el" href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids.">ip_grid</a> is meant to be subclassed when implementing a new grid.</p>
+<p>There are three methods that must be implemented:</p><ul>
+<li><a class="el" href="structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806" title="Initializer for grib1 input descriptor.">init_grib1()</a></li>
+<li><a class="el" href="structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9" title="Initializer for grib2 input descriptor.">init_grib2()</a></li>
+<li><a class="el" href="structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080" title="Coordinate transformations for the grid.">gdswzd()</a></li>
+</ul>
+<p>The init methods are responsible for setting up the grid using GRIB1/GRIB2 descriptors.</p>
+<p><a class="el" href="structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080" title="Coordinate transformations for the grid.">gdswzd()</a> performs transformations to and from Earth coordinates and grid coordinates.</p>
+<p>A good reference for all the map projection equations used by NCEPLIBS-ip can be found here: <a href="https://doi.org/10.3133/pp1395">https://doi.org/10.3133/pp1395</a>.</p>
+<dl class="section author"><dt>Author</dt><dd>Kyle Gerheiser </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>July 2021 </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00052">52</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac071b3d3eca9a5fa88ff5dc211d19179"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac071b3d3eca9a5fa88ff5dc211d19179">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_mod::ip_grid::field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Field position for a given grid point. </p>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00082">82</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a5fb366fb577a90cc09f21269b90ac080"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5fb366fb577a90cc09f21269b90ac080">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure(<a class="el" href="interfaceip__grid__mod_1_1gdswzd__interface.html">gdswzd_interface</a>), deferred ip_grid_mod::ip_grid::gdswzd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Coordinate transformations for the grid. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00079">79</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f3fa40acb8c2ae4a65c00db21872d7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f3fa40acb8c2ae4a65c00db21872d7c">&#9670;&nbsp;</a></span>init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">generic ip_grid_mod::ip_grid::init</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init subprogram. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00084">84</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a5a2c16279eb73a0c54ae0a1586d5b806"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a2c16279eb73a0c54ae0a1586d5b806">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure(<a class="el" href="interfaceip__grid__mod_1_1init__grib1__interface.html">init_grib1_interface</a>), deferred ip_grid_mod::ip_grid::init_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializer for grib1 input descriptor. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00075">75</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ad13e0ad8d616e1839ced388826fefee9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad13e0ad8d616e1839ced388826fefee9">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure(<a class="el" href="interfaceip__grid__mod_1_1init__grib2__interface.html">init_grib2_interface</a>), deferred ip_grid_mod::ip_grid::init_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializer for grib2 input descriptor. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00077">77</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a4a2a0dab09f05931d12615b0ac74bc51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a2a0dab09f05931d12615b0ac74bc51">&#9670;&nbsp;</a></span>descriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable ip_grid_mod::ip_grid::descriptor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Descriptor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a180a5da6c470fac34b8439d4c0a32d2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a180a5da6c470fac34b8439d4c0a32d2a">&#9670;&nbsp;</a></span>eccen_squared</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::eccen_squared</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity of the Earth squared (e^2). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a546a9c3bb8e93ec8e8f7eaf2a14537dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a546a9c3bb8e93ec8e8f7eaf2a14537dc">&#9670;&nbsp;</a></span>im</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::im</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of x points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00055">55</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae179622b9a4c764a5ca90385330941ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae179622b9a4c764a5ca90385330941ed">&#9670;&nbsp;</a></span>iwrap</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::iwrap</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x wraparound increment (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a41a2a38288864520d8c50854d1843f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a2a38288864520d8c50854d1843f87">&#9670;&nbsp;</a></span>jm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of y points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a92976f110dd7e823799991137ac970a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92976f110dd7e823799991137ac970a1">&#9670;&nbsp;</a></span>jwrap1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound lower pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70be8cebcd217a49be4da1cebfc19d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70be8cebcd217a49be4da1cebfc19d2">&#9670;&nbsp;</a></span>jwrap2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound upper pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a084603b1c052e76c3335fea2e887cfce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a084603b1c052e76c3335fea2e887cfce">&#9670;&nbsp;</a></span>kscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::kscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2ae87fb4e6bdcb75fc6fdc80ad73ee30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">&#9670;&nbsp;</a></span>nm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Total number of points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1a15aa48354dbbd0b8debafbfc6e7b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a15aa48354dbbd0b8debafbfc6e7b18">&#9670;&nbsp;</a></span>nscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Scanning</td><td>mode.<ul>
+<li>0 if x first then y;</li>
+<li>1 if y first then x;</li>
+<li>3 if staggered diagonal like projection 203. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0640093c52461763f904cc2f12c96b6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0640093c52461763f904cc2f12c96b6c">&#9670;&nbsp;</a></span>nscan_field_pos</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan_field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>nscan for field_pos routine. </p>
+<p>Can be different than nscan due to differences in grib/grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2bb4d4ec2455c3148313bf7cc54e1cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bb4d4ec2455c3148313bf7cc54e1cc8">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__grid__mod.html">ip_grid_mod</a></li><li class="navelem"><a class="el" href="structip__grid__mod_1_1ip__grid.html">ip_grid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__grid__mod_1_1ip__grid.js b/ver-4.4.0/structip__grid__mod_1_1ip__grid.js
new file mode 100644
index 00000000..d4a1fd30
--- /dev/null
+++ b/ver-4.4.0/structip__grid__mod_1_1ip__grid.js
@@ -0,0 +1,20 @@
+var structip__grid__mod_1_1ip__grid =
+[
+    [ "field_pos", "structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179", null ],
+    [ "gdswzd", "structip__grid__mod_1_1ip__grid.html#a5fb366fb577a90cc09f21269b90ac080", null ],
+    [ "init", "structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c", null ],
+    [ "init_grib1", "structip__grid__mod_1_1ip__grid.html#a5a2c16279eb73a0c54ae0a1586d5b806", null ],
+    [ "init_grib2", "structip__grid__mod_1_1ip__grid.html#ad13e0ad8d616e1839ced388826fefee9", null ],
+    [ "descriptor", "structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51", null ],
+    [ "eccen_squared", "structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a", null ],
+    [ "im", "structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc", null ],
+    [ "iwrap", "structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed", null ],
+    [ "jm", "structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87", null ],
+    [ "jwrap1", "structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1", null ],
+    [ "jwrap2", "structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2", null ],
+    [ "kscan", "structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce", null ],
+    [ "nm", "structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30", null ],
+    [ "nscan", "structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18", null ],
+    [ "nscan_field_pos", "structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c", null ],
+    [ "rerth", "structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__grid__mod_1_1ip__grid.png b/ver-4.4.0/structip__grid__mod_1_1ip__grid.png
new file mode 100644
index 0000000000000000000000000000000000000000..81595cd45710d1fe6f014aaff336a9cf519293d4
GIT binary patch
literal 5524
zcmd^DeN>X!x_54C#<_XYJAIpt%uIySWZGCsmcYz$&M5iSH+dB4L+d!HlqiTIoEfir
zTw`PNT2hfvW92PIDViifA*+)SqmGpkp<-g7fg+$NAaM8V<lM8m>zsSm`D4yq_p;Wz
z*zCP|_OqY;dw$PvzvWvKqUX(BHrLC`YaTx4v+Z79|04AAdgJNab3jk&d(H*mYw6aw
zoxk&VJfJyboXD%ZeH^rAo?EwWy;<Ia06*W(-JY<+3rvDP-4Aw#d3h~bf&c8&o%wH!
z^giGIGICBy*Pll#CRuXc+?dtphB6*AOt!0$4==2Y;^94;miv~$kL#1xe{(VS5nNmL
zon^|d@|hRcCdf!ncgeOdt<!`WuaH(%JTfhzb_*8Xv)fIRcM>D#F`KW5x>&M>#(Mef
zjV!CPXl>F|TvdrDNR|`r=WFOJVp=V>7n250o2TPCNiPe;x<smU*^yOK{~Evep1mfm
z)4##*Y$aEdx{RT)g^5o)`Y-ketxsC2XH!+QntI|qX-mWBGV0IsGlW<9C?D<mq^G;8
zN{%vvR67zlbNC&pn!b2jnBzulYvLb-Ydb<mgdB*g$!u)Xs%dg8f{7_uPHYL3E}Z^%
z@aO3VlZCGHn$&yWu)o5<3oWTC>I)|^`x-w>N!5Qkb$<@~E8gR@eP?A?6<7$>Bh+5p
z>j!)tp7fEtB+S*0J4=WYt4oeLT(=t>CvR_jEnpqbk8FGl9;5eMx0ZYET)*kCaO>K#
zy1H<mH+TF2ZtC}|gBSjIPX620^~-`6#(f7G$TPoU<6s;$srq7ddXjBU)u}KQ@-k8t
z3!-@@6Ea=_hZrA@r*?zwqc}*(7s9m(Rq+sU0|?W%X?}Ri=|>j|DZEN@S$5*|;76v<
zJ<o2R39e|I3~_$ykKZluBfE>`D0wY&|GxOepBElsV+OBElgqRcy(ZMt*LX!aX+jZ8
z32ZvfyxuVGDHxkDJ&GXIxplXp!A5X4k!OrLdy`mg2urXwpt8!y@sZ)Vl(7w$M)G{+
zFD8<GVj(qH&pH-TD5+>aNW}~ntdp>ANQx&DUF{_+<ykPMQiY+oO7_tW2U3JM(N$zq
z)|E6Km&-j^h2%};^Bfl{lGl}v3UNPxp?V20HWX4QPA7CeRyvu>Fs{73JLHqsYNi~c
zqy4=*Sd@MEoMaH4z<6q*C>0^&hjgG_ds?Xv%|B5kg}9@V^Yz{YeHPYgaa?@m03E5S
z4E&Q{&z<OO>k0}q_yCcz2Uw7vFj{Tn7OQzp5pI~dv#wkpA1r^7r>zAuDno<u*e4+9
z&n3nclHNHPDES)J5fH<B^tJE-*;D@K13L6yhx&2Shf|4P0IZdxeBP{rLHAE?_*W6D
z(=VqdRl9B>FU5u9Kf>D{{&$Gg0q8V<<9(D?l}3P1k}51i+M(!<jqUdQm+GO=hWGKK
zaDr=k(h<N)X@+pj+ocF8yuYuA#M3l4W10gQ)=k=+p>bvV0+Oet1;hH$;N4Oq_II7%
zfRrzRvz-TFl;iGOI$4yE*^4nV#;0x2!{kPGSNr3x!!b}OY+p7aG>tm!y^Uu^OwOR}
zC^h59U8Oj2DboHG0I88@v{GmrsIIN<^0Y}}6vSxVDaT?kn06Fis_i4n#KUBnDHr{o
zsz!MnN&1Nhc2Y;Qja+t)-nx7&D#s-zz6fV)8}ma|iXp%H_wmwmAniOSj5aA&7J;E9
zil%K*_7^{lps3se`Zt;w+r(p0SNGxRWze7xjQ)`{GIo=!h(n7s>y^jTTp&w3WI@j6
zjF#zUO(QgT0Kv@<jDspGQh;w!06A0;uT{bL28Q!4PFRXG5I~=M<xJ*-?apTS>*3E3
z;)O8V1}lV*g~1Bu-udeQoILpW#dA?zY3KLO|K~S8J|I*GgKq#25vT5+kfZP`<*9!G
zpxGU)S0Pn!!I-5uUQl6-kWPFze|#&XFdU)W9`0`ok{xrmTm(dC2#^><h>=Uvp_C?^
z!w`E|xb{hu#JKOexp|tNj~Qc3kK5Ki&!3tYd0AoYvPOgkWra)?)F}Dy3R+$cjI0PD
zsEk6{%^#3W7s0Vst}N`(&3|B@GNZVtv%aKG4cEH+xo*zx6`V^Q2s8C$cQc9jd#DFa
z2XC5ca?<{=Q^zHJbTh)!`#1}23e9n?BGk$xugq!UY*V>lnem@o-D#}M41A8_7wlnk
z>%Lnqq}P*eWR#N<8w(|i6~F;d3<K!=uj2znjnYcV9`YacB3e~Tg?scNG*}IDZnaUD
zP{WmmMu%oB4_c0p*7>s+JSkQZo8x*H<}sWhD#fmx`;LjjutgYtbfF*SH&ufqhI4_t
z{~_E{lExE#$L1mF_YYY+wdz9?#X+6{V15Oh#6A)uVSlWU?rMdjt3RJsbpaZD2aNo+
z)0r(mfG&Ptov!kW+kY?Zd_V5;uU#kqMos<)OQ>2N2n~LX#p%~;wdLem+09a9Q!M}q
zPOQMDw8E8>F!IBzK95iln6sx>si)OB85;w!fg4>ei{^zgV~n9Qw<}Ca5BdOsKs@ID
zX_gie<y>dJWSA^Jo9(ol6f8sQ$jJ_CCz(u|uw3Jyqh`nmz>K9%M>nM`x>h7k^=shX
zT8$v(t#d@pa^IiQfE3zwG;+LHKH3B`-est$prGJPJj7^gJ6gZ)>4~voi7^|VJ`@7f
z)T0o|7b_yZPo>Sj$x#$UN6K0_#`N*BCouEDi*2D&NQ8*xeh5~Lo9Q-fEW%9L?)K^O
z7=@-Qf?B?EYL=MQa<`&(9llXobXj(FmZUH${TjoIAiPw^7?2zqr>@0g!*b@~E%RO>
zOSIn!JQp%yWRakFXbW@<K>GE3pGDLwNz)+=j$NY=8og0~KemnmvG>1%%w{-s9ZC|c
z*bYd|`6WK?bSAVDGQu?S+74c)Y-<dtluf4E=ZOjN(6L9;m5GG`uERcnx}Nz;jNJ6d
z+-J2*T;>uGrjb^n?f9LS*)^JXQ$2-wo34uMLZegt1Z^EGfxs4K&98an;qaH^iYDIS
zcWF}gKs~T7iLSzwQJRM9kWX0kR(immN@B;;o%BdkPWME5>gpcm)AyU2nTKb!QeV2J
zSCQq<FIGnni7WUEL<9-1-RY+u70PB*7ue9|mCor;idfN|-l?U#D~G$ewgqzEWUyNJ
zE@2}0T*pI+jMRG$ofKzcWNvU%<ln%fPe3uH=dy{t10out+AO_M$?x%%N@p;KUQ&$|
z!9eIrL(>e?+19;8atd2-GQYv-yWZ#S>v3wEmb8gX=)0mF6hLUPvuZL%C<^=@FRUe#
z%zh!?1LsIvY;?Z@yL}AH)g$F?PY9ATo}qLmV;|mf4Zv%<glM~V92$J~v#<-C5j0pO
z2-9nt`SpsL^os~O7`J$?yXtQ+%&$EJIF_BB^abz`x3+v0(EMAV79f{i-@)sgod7c$
z*U!7Nb`pg_XnZl2ZGJ@qBw`+@wt=d2oYc;X6K`_g?}mdk>bS8B4bEqV*)(jus8g2e
z+v47Yz_?x0&b;a7fEFnWJsj37o~kd`7n7AKoe?400t+G)Hn&@zjVRTNIJNu$vD997
zT>$O}xKsJxztEjkW;U`nBiTw#GCc8##Awrz$=YL1agzkxH%tT?s=>F9L-EXIQMzH`
z*bm<jG}C;46RJTF9;V_ECtg)iox<6zHYaAg>-`Z~nFnYpL`ohlY3ZRGitKFbp~|Ov
z6`PX4BG%9iI#OaJq8Y7sFLLXyaDpqYZ=n{E5@^#C@7!!6waGNuF1s|4JWhQ$Jf9Ok
zq`Uj5l|$KGN5(oV4hlaTD7ICq5$y&%)_Q9^G{yWi!acHpwIBA54&>!xi=`^fB|bXt
zptkUGC;Mca{JuIUB~_&S7MaXC45qymAW~qNEzu9-pk#MH>;MH1>uUG5ztA~<g*E=~
z-4s-)!WgI!yF9Y8k2B6-Y|bql2qMtY4m4X0vNF^tM4-py7x-EaHyL8|E34sNKFos-
z-$+@Jdm?9OLTMi|oAeriRv$k+;gaCl&%6JuNsMgY<dOwOGTqM3>FbItAO-V;>O%we
z5#7*BX+yxqnxYLEn;C}(u2pl21*%K|B_>25yU~O4InetwT{JJ#q&udTG|2%9$;mX7
z)OjlFJzAoxaK_RkRAi?&f64d9)fhY1(8RB9se=~B?Zye}bk$qg?Nfkh%Bt0X^u&GX
zXqxkS(1_Kjh^Uh_bToJ0q7E1&lHy<N0nav%IVKI1Jc{}omTb`xX-k{4r6yN=_h4)R
zxT)s-a#P(gvwpaWUzP$fhQ1uG1OVhY>SltqS&k(~gyQf|1Od?ka-S1VBb(?0bjg++
zdT;6{P^RnK7vV`${&#4qXxk0%pW&AS!|x<qtQhdsVpeAVzk#0}sfvP9B+Hp@L&sU9
zL8&`|Y#Lr~Gq2Qq?iqY}CipkwEudm-K8r+09(e%Eym>N-809mkND6B_O)VQ;)-GUo
zDbc1&Tun_|f_H*GE0n&;nOh&9tFN)-pKc!#2tx1;@cs46G<2d;%XxI3k5*qMEbx;%
zZn!EY#&jRF#f%bl1OgjLfF=3;kV4mgU|M9`?n^G43{4+>Am3+r`N1S^Ksh_3J1sG}
z!(8qd`LGZ39WB;Y2M=7@VjCVF&IrfnXzDrRt+kWSKg|A7y;6lpB|<5uS0$ZlpCd8q
zw$W>gCEI!m`m+;MjC%!B+D<jn$>+yHt6~0nPc?$s)F)GJo{Y3ul*19t&yIEI0}~km
zn>~~6MxMZIi<2#SJ{(rp)onn}dV?48aBo!&HVV#8tw2D7mSrLkAozWd_29S#yt#=;
zbY)r!`nr3faVFYsHj)MxdXU(D_o|TucRvU+d@;dq$6L<*{Q^+Wdb|GPPp_4{;|*S+
Pdf|VU@L9ue_kQ)Cv9;_d

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html b/ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html
new file mode 100644
index 00000000..05f65d09
--- /dev/null
+++ b/ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html
@@ -0,0 +1,903 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_lambert_conf_grid_mod::ip_lambert_conf_grid Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_lambert_conf_grid_mod::ip_lambert_conf_grid Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ip_lambert_conf_grid_mod::ip_lambert_conf_grid:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.png" usemap="#ip_5Flambert_5Fconf_5Fgrid_5Fmod::ip_5Flambert_5Fconf_5Fgrid_map" alt=""/>
+  <map id="ip_5Flambert_5Fconf_5Fgrid_5Fmod::ip_5Flambert_5Fconf_5Fgrid_map" name="ip_5Flambert_5Fconf_5Fgrid_5Fmod::ip_5Flambert_5Fconf_5Fgrid_map">
+<area href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids." alt="ip_grid_mod::ip_grid" shape="rect" coords="0,0,286,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">field_pos</a></td></tr>
+<tr class="memdesc:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field position for a given grid point.  <a href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">More...</a><br /></td></tr>
+<tr class="separator:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa69861340bc268b91a1076048ed489fc"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc">gdswzd</a> =&gt; <a class="el" href="namespaceip__lambert__conf__grid__mod.html#a5ebb9e4f1bd58caa254771b305c94f71">gdswzd_lambert_conf</a></td></tr>
+<tr class="memdesc:aa69861340bc268b91a1076048ed489fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc">More...</a><br /></td></tr>
+<tr class="separator:aa69861340bc268b91a1076048ed489fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memItemLeft" align="right" valign="top">generic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">init</a> =&gt; <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370">init_grib1</a>, <a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a">init_grib2</a></td></tr>
+<tr class="memdesc:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init subprogram.  <a href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">More...</a><br /></td></tr>
+<tr class="separator:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35dd86b4a9017f5b03a0a6a01eb4d370"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370">init_grib1</a></td></tr>
+<tr class="memdesc:a35dd86b4a9017f5b03a0a6a01eb4d370"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib1_descriptor object.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370">More...</a><br /></td></tr>
+<tr class="separator:a35dd86b4a9017f5b03a0a6a01eb4d370"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64129413df8ea478ab1360fd1a274e9a"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a">init_grib2</a></td></tr>
+<tr class="memdesc:a64129413df8ea478ab1360fd1a274e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib2_descriptor object.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a">More...</a><br /></td></tr>
+<tr class="separator:a64129413df8ea478ab1360fd1a274e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memItemLeft" align="right" valign="top">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">descriptor</a></td></tr>
+<tr class="memdesc:a4a2a0dab09f05931d12615b0ac74bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">More...</a><br /></td></tr>
+<tr class="separator:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3288a7fbf2db34946116c771e5bc7dc"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc">dxs</a></td></tr>
+<tr class="memdesc:aa3288a7fbf2db34946116c771e5bc7dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">x-direction grid length adjusted for scan mode.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc">More...</a><br /></td></tr>
+<tr class="separator:aa3288a7fbf2db34946116c771e5bc7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46fa89562e4dd23c765029d2d6c087bc"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc">dys</a></td></tr>
+<tr class="memdesc:a46fa89562e4dd23c765029d2d6c087bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">y-direction grid length adjusted for scan model.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc">More...</a><br /></td></tr>
+<tr class="separator:a46fa89562e4dd23c765029d2d6c087bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">eccen_squared</a></td></tr>
+<tr class="memdesc:a180a5da6c470fac34b8439d4c0a32d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity of the Earth squared (e^2).  <a href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">More...</a><br /></td></tr>
+<tr class="separator:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a733c8a9b6ed498aeec73fa8f11283c03"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03">h</a></td></tr>
+<tr class="memdesc:a733c8a9b6ed498aeec73fa8f11283c03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hemisphere flag.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03">More...</a><br /></td></tr>
+<tr class="separator:a733c8a9b6ed498aeec73fa8f11283c03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">im</a></td></tr>
+<tr class="memdesc:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of x points.  <a href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">More...</a><br /></td></tr>
+<tr class="separator:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d90490fa5eb04604fc0e01bea2cf3cf"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf">irot</a></td></tr>
+<tr class="memdesc:a0d90490fa5eb04604fc0e01bea2cf3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector rotation flag.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf">More...</a><br /></td></tr>
+<tr class="separator:a0d90490fa5eb04604fc0e01bea2cf3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae179622b9a4c764a5ca90385330941ed"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">iwrap</a></td></tr>
+<tr class="memdesc:ae179622b9a4c764a5ca90385330941ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">x wraparound increment (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">More...</a><br /></td></tr>
+<tr class="separator:ae179622b9a4c764a5ca90385330941ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a2a38288864520d8c50854d1843f87"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">jm</a></td></tr>
+<tr class="memdesc:a41a2a38288864520d8c50854d1843f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of y points.  <a href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">More...</a><br /></td></tr>
+<tr class="separator:a41a2a38288864520d8c50854d1843f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92976f110dd7e823799991137ac970a1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">jwrap1</a></td></tr>
+<tr class="memdesc:a92976f110dd7e823799991137ac970a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound lower pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">More...</a><br /></td></tr>
+<tr class="separator:a92976f110dd7e823799991137ac970a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">jwrap2</a></td></tr>
+<tr class="memdesc:ae70be8cebcd217a49be4da1cebfc19d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound upper pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">More...</a><br /></td></tr>
+<tr class="separator:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084603b1c052e76c3335fea2e887cfce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">kscan</a></td></tr>
+<tr class="memdesc:a084603b1c052e76c3335fea2e887cfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).  <a href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">More...</a><br /></td></tr>
+<tr class="separator:a084603b1c052e76c3335fea2e887cfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">nm</a></td></tr>
+<tr class="memdesc:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of points.  <a href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">More...</a><br /></td></tr>
+<tr class="separator:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">nscan</a></td></tr>
+<tr class="separator:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0640093c52461763f904cc2f12c96b6c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">nscan_field_pos</a></td></tr>
+<tr class="memdesc:a0640093c52461763f904cc2f12c96b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">nscan for field_pos routine.  <a href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">More...</a><br /></td></tr>
+<tr class="separator:a0640093c52461763f904cc2f12c96b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0614cfdb69e59e3c3e2937f3319fe34a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a">orient</a></td></tr>
+<tr class="memdesc:a0614cfdb69e59e3c3e2937f3319fe34a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of meridian parallel to y-axis along which latitude increases at the latitude increases.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a">More...</a><br /></td></tr>
+<tr class="separator:a0614cfdb69e59e3c3e2937f3319fe34a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">rerth</a></td></tr>
+<tr class="memdesc:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">More...</a><br /></td></tr>
+<tr class="separator:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a618bb61b83c39dd344264933e51fa932"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932">rlat1</a></td></tr>
+<tr class="memdesc:a618bb61b83c39dd344264933e51fa932"><td class="mdescLeft">&#160;</td><td class="mdescRight">La1― latitude of first grid point.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932">More...</a><br /></td></tr>
+<tr class="separator:a618bb61b83c39dd344264933e51fa932"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dcfaef2adc076604ad32d1ecd1f1cb4"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4">rlati1</a></td></tr>
+<tr class="memdesc:a7dcfaef2adc076604ad32d1ecd1f1cb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">First latitude from the pole at which the secant cone cuts the sphere.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4">More...</a><br /></td></tr>
+<tr class="separator:a7dcfaef2adc076604ad32d1ecd1f1cb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8b2c54b8d00685e179fec7786422f3b"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b">rlati2</a></td></tr>
+<tr class="memdesc:ae8b2c54b8d00685e179fec7786422f3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Second latitude from the pole at which the scant cone cuts the sphere.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b">More...</a><br /></td></tr>
+<tr class="separator:ae8b2c54b8d00685e179fec7786422f3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab7e9e396d5eeb63c8079a901c2c8743f"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f">rlon1</a></td></tr>
+<tr class="memdesc:ab7e9e396d5eeb63c8079a901c2c8743f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lo1― longitude of first grid point.  <a href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f">More...</a><br /></td></tr>
+<tr class="separator:ab7e9e396d5eeb63c8079a901c2c8743f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00024">24</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac071b3d3eca9a5fa88ff5dc211d19179"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac071b3d3eca9a5fa88ff5dc211d19179">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_mod::ip_grid::field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Field position for a given grid point. </p>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00082">82</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aa69861340bc268b91a1076048ed489fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa69861340bc268b91a1076048ed489fc">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_lambert_conf_grid_mod::ip_lambert_conf_grid::gdswzd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00041">41</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f3fa40acb8c2ae4a65c00db21872d7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f3fa40acb8c2ae4a65c00db21872d7c">&#9670;&nbsp;</a></span>init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">generic ip_grid_mod::ip_grid::init</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init subprogram. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00084">84</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a35dd86b4a9017f5b03a0a6a01eb4d370"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35dd86b4a9017f5b03a0a6a01eb4d370">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib1_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00036">36</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a64129413df8ea478ab1360fd1a274e9a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64129413df8ea478ab1360fd1a274e9a">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_lambert_conf_grid_mod::ip_lambert_conf_grid::init_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib2_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00038">38</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a4a2a0dab09f05931d12615b0ac74bc51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a2a0dab09f05931d12615b0ac74bc51">&#9670;&nbsp;</a></span>descriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable ip_grid_mod::ip_grid::descriptor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Descriptor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aa3288a7fbf2db34946116c771e5bc7dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3288a7fbf2db34946116c771e5bc7dc">&#9670;&nbsp;</a></span>dxs</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dxs</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x-direction grid length adjusted for scan mode. </p>
+<p>GRIB2, Section 3, octets 56-59. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00030">30</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a46fa89562e4dd23c765029d2d6c087bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a46fa89562e4dd23c765029d2d6c087bc">&#9670;&nbsp;</a></span>dys</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::ip_lambert_conf_grid::dys</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y-direction grid length adjusted for scan model. </p>
+<p>GRIB2, Section 3, octets 60-63. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00031">31</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a180a5da6c470fac34b8439d4c0a32d2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a180a5da6c470fac34b8439d4c0a32d2a">&#9670;&nbsp;</a></span>eccen_squared</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::eccen_squared</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity of the Earth squared (e^2). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a733c8a9b6ed498aeec73fa8f11283c03"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a733c8a9b6ed498aeec73fa8f11283c03">&#9670;&nbsp;</a></span>h</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::ip_lambert_conf_grid::h</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Hemisphere flag. </p>
+<p>1-NH, minus 1-SH. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00032">32</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a546a9c3bb8e93ec8e8f7eaf2a14537dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a546a9c3bb8e93ec8e8f7eaf2a14537dc">&#9670;&nbsp;</a></span>im</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::im</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of x points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00055">55</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0d90490fa5eb04604fc0e01bea2cf3cf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0d90490fa5eb04604fc0e01bea2cf3cf">&#9670;&nbsp;</a></span>irot</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_lambert_conf_grid_mod::ip_lambert_conf_grid::irot</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>vector rotation flag. </p>
+<p>When "1", vectors are grid relative. When "0", vectors are earth relative. GRIB2, Section 3, octet 55. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00033">33</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae179622b9a4c764a5ca90385330941ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae179622b9a4c764a5ca90385330941ed">&#9670;&nbsp;</a></span>iwrap</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::iwrap</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x wraparound increment (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a41a2a38288864520d8c50854d1843f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a2a38288864520d8c50854d1843f87">&#9670;&nbsp;</a></span>jm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of y points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a92976f110dd7e823799991137ac970a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92976f110dd7e823799991137ac970a1">&#9670;&nbsp;</a></span>jwrap1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound lower pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70be8cebcd217a49be4da1cebfc19d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70be8cebcd217a49be4da1cebfc19d2">&#9670;&nbsp;</a></span>jwrap2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound upper pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a084603b1c052e76c3335fea2e887cfce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a084603b1c052e76c3335fea2e887cfce">&#9670;&nbsp;</a></span>kscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::kscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2ae87fb4e6bdcb75fc6fdc80ad73ee30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">&#9670;&nbsp;</a></span>nm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Total number of points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1a15aa48354dbbd0b8debafbfc6e7b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a15aa48354dbbd0b8debafbfc6e7b18">&#9670;&nbsp;</a></span>nscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Scanning</td><td>mode.<ul>
+<li>0 if x first then y;</li>
+<li>1 if y first then x;</li>
+<li>3 if staggered diagonal like projection 203. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0640093c52461763f904cc2f12c96b6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0640093c52461763f904cc2f12c96b6c">&#9670;&nbsp;</a></span>nscan_field_pos</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan_field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>nscan for field_pos routine. </p>
+<p>Can be different than nscan due to differences in grib/grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0614cfdb69e59e3c3e2937f3319fe34a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0614cfdb69e59e3c3e2937f3319fe34a">&#9670;&nbsp;</a></span>orient</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::ip_lambert_conf_grid::orient</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of meridian parallel to y-axis along which latitude increases at the latitude increases. </p>
+<p>GRIB2, Section 3, octets 52-55. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2bb4d4ec2455c3148313bf7cc54e1cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bb4d4ec2455c3148313bf7cc54e1cc8">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a618bb61b83c39dd344264933e51fa932"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a618bb61b83c39dd344264933e51fa932">&#9670;&nbsp;</a></span>rlat1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlat1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>La1― latitude of first grid point. </p>
+<p>GRIB2, Section 3.30, octet 39-42. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00025">25</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a7dcfaef2adc076604ad32d1ecd1f1cb4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7dcfaef2adc076604ad32d1ecd1f1cb4">&#9670;&nbsp;</a></span>rlati1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlati1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>First latitude from the pole at which the secant cone cuts the sphere. </p>
+<p>GRIB2, Section 3, octets 66-69. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00027">27</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae8b2c54b8d00685e179fec7786422f3b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae8b2c54b8d00685e179fec7786422f3b">&#9670;&nbsp;</a></span>rlati2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlati2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Second latitude from the pole at which the scant cone cuts the sphere. </p>
+<p>GRIB2, Section 3, octets 70-73. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00028">28</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ab7e9e396d5eeb63c8079a901c2c8743f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab7e9e396d5eeb63c8079a901c2c8743f">&#9670;&nbsp;</a></span>rlon1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_lambert_conf_grid_mod::ip_lambert_conf_grid::rlon1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Lo1― longitude of first grid point. </p>
+<p>GRIB2, Section 3.30, octet 43-46. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html#l00026">26</a> of file <a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__lambert__conf__grid__mod_8F90_source.html">ip_lambert_conf_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__lambert__conf__grid__mod.html">ip_lambert_conf_grid_mod</a></li><li class="navelem"><a class="el" href="structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html">ip_lambert_conf_grid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.js b/ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.js
new file mode 100644
index 00000000..68099979
--- /dev/null
+++ b/ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.js
@@ -0,0 +1,29 @@
+var structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid =
+[
+    [ "field_pos", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179", null ],
+    [ "gdswzd", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa69861340bc268b91a1076048ed489fc", null ],
+    [ "init", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c", null ],
+    [ "init_grib1", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a35dd86b4a9017f5b03a0a6a01eb4d370", null ],
+    [ "init_grib2", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a64129413df8ea478ab1360fd1a274e9a", null ],
+    [ "descriptor", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a4a2a0dab09f05931d12615b0ac74bc51", null ],
+    [ "dxs", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#aa3288a7fbf2db34946116c771e5bc7dc", null ],
+    [ "dys", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a46fa89562e4dd23c765029d2d6c087bc", null ],
+    [ "eccen_squared", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a180a5da6c470fac34b8439d4c0a32d2a", null ],
+    [ "h", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a733c8a9b6ed498aeec73fa8f11283c03", null ],
+    [ "im", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc", null ],
+    [ "irot", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0d90490fa5eb04604fc0e01bea2cf3cf", null ],
+    [ "iwrap", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae179622b9a4c764a5ca90385330941ed", null ],
+    [ "jm", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a41a2a38288864520d8c50854d1843f87", null ],
+    [ "jwrap1", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a92976f110dd7e823799991137ac970a1", null ],
+    [ "jwrap2", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae70be8cebcd217a49be4da1cebfc19d2", null ],
+    [ "kscan", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a084603b1c052e76c3335fea2e887cfce", null ],
+    [ "nm", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30", null ],
+    [ "nscan", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18", null ],
+    [ "nscan_field_pos", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0640093c52461763f904cc2f12c96b6c", null ],
+    [ "orient", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a0614cfdb69e59e3c3e2937f3319fe34a", null ],
+    [ "rerth", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8", null ],
+    [ "rlat1", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a618bb61b83c39dd344264933e51fa932", null ],
+    [ "rlati1", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#a7dcfaef2adc076604ad32d1ecd1f1cb4", null ],
+    [ "rlati2", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ae8b2c54b8d00685e179fec7786422f3b", null ],
+    [ "rlon1", "structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.html#ab7e9e396d5eeb63c8079a901c2c8743f", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.png b/ver-4.4.0/structip__lambert__conf__grid__mod_1_1ip__lambert__conf__grid.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7f309bc4104a6e901fbe30c915444dbed6cba45
GIT binary patch
literal 825
zcmeAS@N?(olHy`uVBq!ia0y~yV3Y&012~w0<PW1)K0rz$z$e7@|Ns9$=8HF9OZyK^
z0J6aNz<~p-op<DcT#k|;zhDNSA`rNGD#VC^f$4;&i(^Oy<J-A!CoNVGaOI!As`9^k
zoNtK3i=LTRErLt8+ju@%oO$lcq4=V6H=oS;%&|#D((~0uIZrNRywk^j(vps)pP$aS
z^!xupm6z^!qHNi}dR!|1V`>|`&vWIus;Zgs&(9zK{yAIruf+e1xP7x;RVq(WnR{$$
z)ivGgyxFgRMSa_?skQg)g=V03lXYw7-JO@U>)hLyRrk47J(nliP7+B1;-bShFVE52
zIPcQ$I1Nv$UhBMdt>2#Ax^u-m{HqKfP+j57d5H)AR|u=OO<Hm|W_`L=`_KD7S|Y4f
zUy8Cjd0u*1v!SXlW5N<ai2O?TN&hUaDSIj+<H_^p6q{K-w_$i-{*g6-!7YN{;mGyr
ze;HUnjFjVb496n)4{+<SD;%j}a9TrU>dE$(o|>wYgS?bI7}ypZN3kL0^5saW4C`ww
zQ_`(|GnTnzGd;aomG7gwZeDPag$Ba{<#&H$vP!@D>|bs9`TWmE@yB%R<(TK4?Z2LN
z?AESxGu2HQ=VzatfBr^j+if9LuVCBqrPp3W2J3jPeS4nsbi>k}^7qf(EW4u<@YUq!
zdheXTRfXS|UJE;Kmv(Y%XMC7U-+kWP;ydgw!(RgJe7kjCdTW`bPHXk*dFPjW3-S+r
zx%fc&tDgZ`?dRtGv*6I$ar^!Y`-<XSN2<Ku_pYq1FJ7yjW}2{DuIzYrvF)2;jq8Wa
ziWe;3yK~o6`?<ID+#9%me&hnW=XK?rys!7U9<bi;jsJbS%HHDVu`715w(oOzGUn|L
yTK$zlVu8&yW`QJI21O_}dES&DBh95I59HZwY#t^jZ+;I<=M0{%elF{r5}E+Ihj{(~

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.html b/ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.html
new file mode 100644
index 00000000..158e46d1
--- /dev/null
+++ b/ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.html
@@ -0,0 +1,845 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_mercator_grid_mod::ip_mercator_grid Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__mercator__grid__mod_1_1ip__mercator__grid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_mercator_grid_mod::ip_mercator_grid Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ip_mercator_grid_mod::ip_mercator_grid:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__mercator__grid__mod_1_1ip__mercator__grid.png" usemap="#ip_5Fmercator_5Fgrid_5Fmod::ip_5Fmercator_5Fgrid_map" alt=""/>
+  <map id="ip_5Fmercator_5Fgrid_5Fmod::ip_5Fmercator_5Fgrid_map" name="ip_5Fmercator_5Fgrid_5Fmod::ip_5Fmercator_5Fgrid_map">
+<area href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids." alt="ip_grid_mod::ip_grid" shape="rect" coords="0,0,240,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">field_pos</a></td></tr>
+<tr class="memdesc:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field position for a given grid point.  <a href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">More...</a><br /></td></tr>
+<tr class="separator:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a940420aa99e0fbe51a976f9d0c343f1a"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a">gdswzd</a> =&gt; <a class="el" href="namespaceip__mercator__grid__mod.html#acc39017fa51125972ab8e755e16d339e">gdswzd_mercator</a></td></tr>
+<tr class="memdesc:a940420aa99e0fbe51a976f9d0c343f1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a">More...</a><br /></td></tr>
+<tr class="separator:a940420aa99e0fbe51a976f9d0c343f1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memItemLeft" align="right" valign="top">generic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">init</a> =&gt; <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c">init_grib1</a>, <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0">init_grib2</a></td></tr>
+<tr class="memdesc:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init subprogram.  <a href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">More...</a><br /></td></tr>
+<tr class="separator:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ae3bbb47f4c03c36404a2b35014d65c"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c">init_grib1</a></td></tr>
+<tr class="memdesc:a3ae3bbb47f4c03c36404a2b35014d65c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib1_descriptor object.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c">More...</a><br /></td></tr>
+<tr class="separator:a3ae3bbb47f4c03c36404a2b35014d65c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a505b0114c7ff5fbb58c4e7ce5ccde3f0"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0">init_grib2</a></td></tr>
+<tr class="memdesc:a505b0114c7ff5fbb58c4e7ce5ccde3f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib2_descriptor object.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0">More...</a><br /></td></tr>
+<tr class="separator:a505b0114c7ff5fbb58c4e7ce5ccde3f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memItemLeft" align="right" valign="top">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">descriptor</a></td></tr>
+<tr class="memdesc:a4a2a0dab09f05931d12615b0ac74bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">More...</a><br /></td></tr>
+<tr class="separator:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455057778c7f2ad677956bdef2d754ee"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee">dlon</a></td></tr>
+<tr class="memdesc:a455057778c7f2ad677956bdef2d754ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitudinal direction grid length.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee">More...</a><br /></td></tr>
+<tr class="separator:a455057778c7f2ad677956bdef2d754ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39168528a2c207b2e2c5373487d705c5"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5">dphi</a></td></tr>
+<tr class="memdesc:a39168528a2c207b2e2c5373487d705c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitudinal direction grid length.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5">More...</a><br /></td></tr>
+<tr class="separator:a39168528a2c207b2e2c5373487d705c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">eccen_squared</a></td></tr>
+<tr class="memdesc:a180a5da6c470fac34b8439d4c0a32d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity of the Earth squared (e^2).  <a href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">More...</a><br /></td></tr>
+<tr class="separator:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91b223ca51a556fa11b76b0c05e0d3f2"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2">hi</a></td></tr>
+<tr class="memdesc:a91b223ca51a556fa11b76b0c05e0d3f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan mode in the 'i' direction.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2">More...</a><br /></td></tr>
+<tr class="separator:a91b223ca51a556fa11b76b0c05e0d3f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">im</a></td></tr>
+<tr class="memdesc:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of x points.  <a href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">More...</a><br /></td></tr>
+<tr class="separator:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae179622b9a4c764a5ca90385330941ed"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">iwrap</a></td></tr>
+<tr class="memdesc:ae179622b9a4c764a5ca90385330941ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">x wraparound increment (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">More...</a><br /></td></tr>
+<tr class="separator:ae179622b9a4c764a5ca90385330941ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a2a38288864520d8c50854d1843f87"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">jm</a></td></tr>
+<tr class="memdesc:a41a2a38288864520d8c50854d1843f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of y points.  <a href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">More...</a><br /></td></tr>
+<tr class="separator:a41a2a38288864520d8c50854d1843f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92976f110dd7e823799991137ac970a1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">jwrap1</a></td></tr>
+<tr class="memdesc:a92976f110dd7e823799991137ac970a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound lower pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">More...</a><br /></td></tr>
+<tr class="separator:a92976f110dd7e823799991137ac970a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">jwrap2</a></td></tr>
+<tr class="memdesc:ae70be8cebcd217a49be4da1cebfc19d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound upper pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">More...</a><br /></td></tr>
+<tr class="separator:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084603b1c052e76c3335fea2e887cfce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">kscan</a></td></tr>
+<tr class="memdesc:a084603b1c052e76c3335fea2e887cfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).  <a href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">More...</a><br /></td></tr>
+<tr class="separator:a084603b1c052e76c3335fea2e887cfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">nm</a></td></tr>
+<tr class="memdesc:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of points.  <a href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">More...</a><br /></td></tr>
+<tr class="separator:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">nscan</a></td></tr>
+<tr class="separator:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0640093c52461763f904cc2f12c96b6c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">nscan_field_pos</a></td></tr>
+<tr class="memdesc:a0640093c52461763f904cc2f12c96b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">nscan for field_pos routine.  <a href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">More...</a><br /></td></tr>
+<tr class="separator:a0640093c52461763f904cc2f12c96b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">rerth</a></td></tr>
+<tr class="memdesc:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">More...</a><br /></td></tr>
+<tr class="separator:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f98e5046c7c1eda30735e5919b79cc7"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7">rlat1</a></td></tr>
+<tr class="memdesc:a1f98e5046c7c1eda30735e5919b79cc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitude of first grid point.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7">More...</a><br /></td></tr>
+<tr class="separator:a1f98e5046c7c1eda30735e5919b79cc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3826e3e6b4f3264932c890a3c9804cef"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef">rlati</a></td></tr>
+<tr class="memdesc:a3826e3e6b4f3264932c890a3c9804cef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitude at which the Mercator projection intersects the Earth.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef">More...</a><br /></td></tr>
+<tr class="separator:a3826e3e6b4f3264932c890a3c9804cef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb673d1f9dbc7d7ee6f87513a2eed723"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723">rlon1</a></td></tr>
+<tr class="memdesc:adb673d1f9dbc7d7ee6f87513a2eed723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of first grid point.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723">More...</a><br /></td></tr>
+<tr class="separator:adb673d1f9dbc7d7ee6f87513a2eed723"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b9bfef606985f5e682f4ddb84c99d2c"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c">rlon2</a></td></tr>
+<tr class="memdesc:a0b9bfef606985f5e682f4ddb84c99d2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of last grid point.  <a href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c">More...</a><br /></td></tr>
+<tr class="separator:a0b9bfef606985f5e682f4ddb84c99d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00022">22</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac071b3d3eca9a5fa88ff5dc211d19179"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac071b3d3eca9a5fa88ff5dc211d19179">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_mod::ip_grid::field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Field position for a given grid point. </p>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00082">82</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a940420aa99e0fbe51a976f9d0c343f1a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a940420aa99e0fbe51a976f9d0c343f1a">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_mercator_grid_mod::ip_mercator_grid::gdswzd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A <a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a" title="Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.">gdswzd()</a> </dd>
+<dd>
+N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00037">37</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f3fa40acb8c2ae4a65c00db21872d7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f3fa40acb8c2ae4a65c00db21872d7c">&#9670;&nbsp;</a></span>init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">generic ip_grid_mod::ip_grid::init</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init subprogram. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00084">84</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a3ae3bbb47f4c03c36404a2b35014d65c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3ae3bbb47f4c03c36404a2b35014d65c">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_mercator_grid_mod::ip_mercator_grid::init_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib1_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00032">32</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a505b0114c7ff5fbb58c4e7ce5ccde3f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a505b0114c7ff5fbb58c4e7ce5ccde3f0">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_mercator_grid_mod::ip_mercator_grid::init_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib2_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00034">34</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a4a2a0dab09f05931d12615b0ac74bc51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a2a0dab09f05931d12615b0ac74bc51">&#9670;&nbsp;</a></span>descriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable ip_grid_mod::ip_grid::descriptor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Descriptor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a455057778c7f2ad677956bdef2d754ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a455057778c7f2ad677956bdef2d754ee">&#9670;&nbsp;</a></span>dlon</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::ip_mercator_grid::dlon</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitudinal direction grid length. </p>
+<p>Section 3, octets 65-68. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00028">28</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a39168528a2c207b2e2c5373487d705c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a39168528a2c207b2e2c5373487d705c5">&#9670;&nbsp;</a></span>dphi</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::ip_mercator_grid::dphi</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitudinal direction grid length. </p>
+<p>Section 3, octets 69-72. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a180a5da6c470fac34b8439d4c0a32d2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a180a5da6c470fac34b8439d4c0a32d2a">&#9670;&nbsp;</a></span>eccen_squared</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::eccen_squared</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity of the Earth squared (e^2). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a91b223ca51a556fa11b76b0c05e0d3f2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a91b223ca51a556fa11b76b0c05e0d3f2">&#9670;&nbsp;</a></span>hi</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::ip_mercator_grid::hi</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Scan mode in the 'i' direction. </p>
+<p>Section 3, octet 60. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00027">27</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a546a9c3bb8e93ec8e8f7eaf2a14537dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a546a9c3bb8e93ec8e8f7eaf2a14537dc">&#9670;&nbsp;</a></span>im</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::im</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of x points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00055">55</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae179622b9a4c764a5ca90385330941ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae179622b9a4c764a5ca90385330941ed">&#9670;&nbsp;</a></span>iwrap</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::iwrap</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x wraparound increment (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a41a2a38288864520d8c50854d1843f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a2a38288864520d8c50854d1843f87">&#9670;&nbsp;</a></span>jm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of y points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a92976f110dd7e823799991137ac970a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92976f110dd7e823799991137ac970a1">&#9670;&nbsp;</a></span>jwrap1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound lower pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70be8cebcd217a49be4da1cebfc19d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70be8cebcd217a49be4da1cebfc19d2">&#9670;&nbsp;</a></span>jwrap2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound upper pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a084603b1c052e76c3335fea2e887cfce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a084603b1c052e76c3335fea2e887cfce">&#9670;&nbsp;</a></span>kscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::kscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2ae87fb4e6bdcb75fc6fdc80ad73ee30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">&#9670;&nbsp;</a></span>nm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Total number of points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1a15aa48354dbbd0b8debafbfc6e7b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a15aa48354dbbd0b8debafbfc6e7b18">&#9670;&nbsp;</a></span>nscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Scanning</td><td>mode.<ul>
+<li>0 if x first then y;</li>
+<li>1 if y first then x;</li>
+<li>3 if staggered diagonal like projection 203. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0640093c52461763f904cc2f12c96b6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0640093c52461763f904cc2f12c96b6c">&#9670;&nbsp;</a></span>nscan_field_pos</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan_field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>nscan for field_pos routine. </p>
+<p>Can be different than nscan due to differences in grib/grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2bb4d4ec2455c3148313bf7cc54e1cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bb4d4ec2455c3148313bf7cc54e1cc8">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f98e5046c7c1eda30735e5919b79cc7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f98e5046c7c1eda30735e5919b79cc7">&#9670;&nbsp;</a></span>rlat1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::ip_mercator_grid::rlat1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitude of first grid point. </p>
+<p>Section 3, octets 39-42. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00023">23</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a3826e3e6b4f3264932c890a3c9804cef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3826e3e6b4f3264932c890a3c9804cef">&#9670;&nbsp;</a></span>rlati</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::ip_mercator_grid::rlati</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitude at which the Mercator projection intersects the Earth. </p>
+<p>Section 3, octets 48-51. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00026">26</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="adb673d1f9dbc7d7ee6f87513a2eed723"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb673d1f9dbc7d7ee6f87513a2eed723">&#9670;&nbsp;</a></span>rlon1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::ip_mercator_grid::rlon1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of first grid point. </p>
+<p>Section 3, octets 43-46. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00024">24</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0b9bfef606985f5e682f4ddb84c99d2c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0b9bfef606985f5e682f4ddb84c99d2c">&#9670;&nbsp;</a></span>rlon2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_mercator_grid_mod::ip_mercator_grid::rlon2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of last grid point. </p>
+<p>Section 3, octets 56-59. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__mercator__grid__mod_8F90_source.html#l00025">25</a> of file <a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__mercator__grid__mod_8F90_source.html">ip_mercator_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__mercator__grid__mod.html">ip_mercator_grid_mod</a></li><li class="navelem"><a class="el" href="structip__mercator__grid__mod_1_1ip__mercator__grid.html">ip_mercator_grid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.js b/ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.js
new file mode 100644
index 00000000..8852aa25
--- /dev/null
+++ b/ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.js
@@ -0,0 +1,27 @@
+var structip__mercator__grid__mod_1_1ip__mercator__grid =
+[
+    [ "field_pos", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179", null ],
+    [ "gdswzd", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a940420aa99e0fbe51a976f9d0c343f1a", null ],
+    [ "init", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c", null ],
+    [ "init_grib1", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3ae3bbb47f4c03c36404a2b35014d65c", null ],
+    [ "init_grib2", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a505b0114c7ff5fbb58c4e7ce5ccde3f0", null ],
+    [ "descriptor", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a4a2a0dab09f05931d12615b0ac74bc51", null ],
+    [ "dlon", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a455057778c7f2ad677956bdef2d754ee", null ],
+    [ "dphi", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a39168528a2c207b2e2c5373487d705c5", null ],
+    [ "eccen_squared", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a180a5da6c470fac34b8439d4c0a32d2a", null ],
+    [ "hi", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a91b223ca51a556fa11b76b0c05e0d3f2", null ],
+    [ "im", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc", null ],
+    [ "iwrap", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#ae179622b9a4c764a5ca90385330941ed", null ],
+    [ "jm", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a41a2a38288864520d8c50854d1843f87", null ],
+    [ "jwrap1", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a92976f110dd7e823799991137ac970a1", null ],
+    [ "jwrap2", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#ae70be8cebcd217a49be4da1cebfc19d2", null ],
+    [ "kscan", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a084603b1c052e76c3335fea2e887cfce", null ],
+    [ "nm", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30", null ],
+    [ "nscan", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18", null ],
+    [ "nscan_field_pos", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0640093c52461763f904cc2f12c96b6c", null ],
+    [ "rerth", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8", null ],
+    [ "rlat1", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a1f98e5046c7c1eda30735e5919b79cc7", null ],
+    [ "rlati", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a3826e3e6b4f3264932c890a3c9804cef", null ],
+    [ "rlon1", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#adb673d1f9dbc7d7ee6f87513a2eed723", null ],
+    [ "rlon2", "structip__mercator__grid__mod_1_1ip__mercator__grid.html#a0b9bfef606985f5e682f4ddb84c99d2c", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.png b/ver-4.4.0/structip__mercator__grid__mod_1_1ip__mercator__grid.png
new file mode 100644
index 0000000000000000000000000000000000000000..942758ef6eadebc68ec7533124a31dbd219e687f
GIT binary patch
literal 689
zcmeAS@N?(olHy`uVBq!ia0vp^AAmT3gBeH)Oy}?eQW60^A+G=b{|7Q(y!l$%e`o@b
z1;z&s9ANFdBM;<qlmz(&GXNEVz|~VBMhpy04xTQKAr*{o=f2*wT7kz+e7<q*e|NiA
zVk}$pGOpUHFS#75KXFE=%D+^JwuR~vDl6q<A|~lPJ~Sz1=KI!WmA%QF^WrwU?e|yp
zd~RcWc<P}^U!?2xZNdaZK3N@Wep&Eq?sogx6<=%q)>PdTF}^dwYtpTqZWdlo)F0if
z*de9z(ljb2Y9>f9qs=_@*_)=9ySuk7owTG3XvwS>K|d-Uimv{$_k&cfx2oscJGYjK
zpVFI~^I30h?do99AnWOS+P}Nj#9V7#sgilV_0Z!fzVjbX6>FYU;^wO5`D>1K+736L
zNqsvErmDQ%=@K#NpE%s<ffYdCC^P(P5qI$aqV}h%H0{pp4=-*{FDyTFZz*HW<3kM7
z3KJPl?=WacjgdHDq{ovWDbBW`hnqR#SSusY_sG%@IGs2as&g>>eE=0!dFa2VUOsrL
zjqCgs4_8aBlZ(>ix!{$}`;({t_stKMM)Lmp>r0Yu&NqAQ|MR%+`&}=~?}=@Uy{7Za
zg}1ff%)GWG(t6F0{_Q&19C`ER*N-18URT|I^kARVDM`J&ZKuQS9DXN!dy_IJU3ZcH
zl>lX%S~JUfKU<BONZzT&bJR6I*;pLDex+bj+kIQV<FA+3oI90m-km*rk-)y)ZJYJx
zPCBYK<NLLp|DVblNlRL%yi#T7N}YagpZWC-nrsia?EFfrd8;4pw0}}>?7&<2;Mq&9
zW`^`Tk%x1Q{{*h|zdC`NdB$;Q0L;91N3rDs|9^%vZ;hpwwLF^!OkWJ1u6{1-oD!M<
DhnzrB

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html b/ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html
new file mode 100644
index 00000000..6e234692
--- /dev/null
+++ b/ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html
@@ -0,0 +1,896 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_polar_stereo_grid_mod::ip_polar_stereo_grid Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_polar_stereo_grid_mod::ip_polar_stereo_grid Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ip_polar_stereo_grid_mod::ip_polar_stereo_grid:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.png" usemap="#ip_5Fpolar_5Fstereo_5Fgrid_5Fmod::ip_5Fpolar_5Fstereo_5Fgrid_map" alt=""/>
+  <map id="ip_5Fpolar_5Fstereo_5Fgrid_5Fmod::ip_5Fpolar_5Fstereo_5Fgrid_map" name="ip_5Fpolar_5Fstereo_5Fgrid_5Fmod::ip_5Fpolar_5Fstereo_5Fgrid_map">
+<area href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids." alt="ip_grid_mod::ip_grid" shape="rect" coords="0,0,282,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">field_pos</a></td></tr>
+<tr class="memdesc:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field position for a given grid point.  <a href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">More...</a><br /></td></tr>
+<tr class="separator:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e97b7352e67dd629f622f292cf0ca21"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21">gdswzd</a> =&gt; <a class="el" href="namespaceip__polar__stereo__grid__mod.html#ae2694d90ab514a131e083dfba3b173c5">gdswzd_polar_stereo</a></td></tr>
+<tr class="memdesc:a9e97b7352e67dd629f622f292cf0ca21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1).  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21">More...</a><br /></td></tr>
+<tr class="separator:a9e97b7352e67dd629f622f292cf0ca21"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memItemLeft" align="right" valign="top">generic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">init</a> =&gt; <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce">init_grib1</a>, <a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c">init_grib2</a></td></tr>
+<tr class="memdesc:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init subprogram.  <a href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">More...</a><br /></td></tr>
+<tr class="separator:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2a5a7c08e4578f3d0ff6b85e5a14cce"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce">init_grib1</a></td></tr>
+<tr class="memdesc:ae2a5a7c08e4578f3d0ff6b85e5a14cce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a grid given a grib1_descriptor object.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce">More...</a><br /></td></tr>
+<tr class="separator:ae2a5a7c08e4578f3d0ff6b85e5a14cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9622ce9892084b52303f27722572b87c"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c">init_grib2</a></td></tr>
+<tr class="memdesc:a9622ce9892084b52303f27722572b87c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a grid given a grib2_descriptor object.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c">More...</a><br /></td></tr>
+<tr class="separator:a9622ce9892084b52303f27722572b87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memItemLeft" align="right" valign="top">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">descriptor</a></td></tr>
+<tr class="memdesc:a4a2a0dab09f05931d12615b0ac74bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">More...</a><br /></td></tr>
+<tr class="separator:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac009bce0c0c14b3e0970da6c032a11b1"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1">dxs</a></td></tr>
+<tr class="memdesc:ac009bce0c0c14b3e0970da6c032a11b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">'x'-direction grid length, adjusted by the scanning mode.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1">More...</a><br /></td></tr>
+<tr class="separator:ac009bce0c0c14b3e0970da6c032a11b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a95e155383895ad3f56a3876877b5896b"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b">dys</a></td></tr>
+<tr class="memdesc:a95e155383895ad3f56a3876877b5896b"><td class="mdescLeft">&#160;</td><td class="mdescRight">'y'-direction grid length, adjusted by the scanning mode.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b">More...</a><br /></td></tr>
+<tr class="separator:a95e155383895ad3f56a3876877b5896b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">eccen_squared</a></td></tr>
+<tr class="memdesc:a180a5da6c470fac34b8439d4c0a32d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity of the Earth squared (e^2).  <a href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">More...</a><br /></td></tr>
+<tr class="separator:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1bac1023f8d8cd631760403b222a8c3f"><td class="memItemLeft" align="right" valign="top">logical&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f">elliptical</a></td></tr>
+<tr class="memdesc:a1bac1023f8d8cd631760403b222a8c3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">When true/false, computations are based on an elliptical/spherical earth.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f">More...</a><br /></td></tr>
+<tr class="separator:a1bac1023f8d8cd631760403b222a8c3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6df619b3050279d9d560e72a3e87168f"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f">h</a></td></tr>
+<tr class="memdesc:a6df619b3050279d9d560e72a3e87168f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hemisphere flag.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f">More...</a><br /></td></tr>
+<tr class="separator:a6df619b3050279d9d560e72a3e87168f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">im</a></td></tr>
+<tr class="memdesc:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of x points.  <a href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">More...</a><br /></td></tr>
+<tr class="separator:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13f3f267f5a26602eb93b6525f494a10"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10">irot</a></td></tr>
+<tr class="memdesc:a13f3f267f5a26602eb93b6525f494a10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation flag.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10">More...</a><br /></td></tr>
+<tr class="separator:a13f3f267f5a26602eb93b6525f494a10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae179622b9a4c764a5ca90385330941ed"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">iwrap</a></td></tr>
+<tr class="memdesc:ae179622b9a4c764a5ca90385330941ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">x wraparound increment (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">More...</a><br /></td></tr>
+<tr class="separator:ae179622b9a4c764a5ca90385330941ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a2a38288864520d8c50854d1843f87"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">jm</a></td></tr>
+<tr class="memdesc:a41a2a38288864520d8c50854d1843f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of y points.  <a href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">More...</a><br /></td></tr>
+<tr class="separator:a41a2a38288864520d8c50854d1843f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92976f110dd7e823799991137ac970a1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">jwrap1</a></td></tr>
+<tr class="memdesc:a92976f110dd7e823799991137ac970a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound lower pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">More...</a><br /></td></tr>
+<tr class="separator:a92976f110dd7e823799991137ac970a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">jwrap2</a></td></tr>
+<tr class="memdesc:ae70be8cebcd217a49be4da1cebfc19d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound upper pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">More...</a><br /></td></tr>
+<tr class="separator:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084603b1c052e76c3335fea2e887cfce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">kscan</a></td></tr>
+<tr class="memdesc:a084603b1c052e76c3335fea2e887cfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).  <a href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">More...</a><br /></td></tr>
+<tr class="separator:a084603b1c052e76c3335fea2e887cfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">nm</a></td></tr>
+<tr class="memdesc:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of points.  <a href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">More...</a><br /></td></tr>
+<tr class="separator:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">nscan</a></td></tr>
+<tr class="separator:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0640093c52461763f904cc2f12c96b6c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">nscan_field_pos</a></td></tr>
+<tr class="memdesc:a0640093c52461763f904cc2f12c96b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">nscan for field_pos routine.  <a href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">More...</a><br /></td></tr>
+<tr class="separator:a0640093c52461763f904cc2f12c96b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeaeb6d72861b9b62de5bcd435bc96ea4"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4">orient</a></td></tr>
+<tr class="memdesc:aeaeb6d72861b9b62de5bcd435bc96ea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Orientation longitude.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4">More...</a><br /></td></tr>
+<tr class="separator:aeaeb6d72861b9b62de5bcd435bc96ea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">rerth</a></td></tr>
+<tr class="memdesc:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">More...</a><br /></td></tr>
+<tr class="separator:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00565fd51d334324e9d68d1fc8c52640"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640">rlat1</a></td></tr>
+<tr class="memdesc:a00565fd51d334324e9d68d1fc8c52640"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitude of the first grid point.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640">More...</a><br /></td></tr>
+<tr class="separator:a00565fd51d334324e9d68d1fc8c52640"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61650c9ce1a2ce44243bf491e5d93728"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728">rlon1</a></td></tr>
+<tr class="memdesc:a61650c9ce1a2ce44243bf491e5d93728"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of the first grid point.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728">More...</a><br /></td></tr>
+<tr class="separator:a61650c9ce1a2ce44243bf491e5d93728"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae4f801c95b7b61e2e6b1dd824d3688b"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b">slatr</a></td></tr>
+<tr class="memdesc:aae4f801c95b7b61e2e6b1dd824d3688b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard latitude of grid in radians.  <a href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b">More...</a><br /></td></tr>
+<tr class="separator:aae4f801c95b7b61e2e6b1dd824d3688b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00023">23</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac071b3d3eca9a5fa88ff5dc211d19179"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac071b3d3eca9a5fa88ff5dc211d19179">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_mod::ip_grid::field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Field position for a given grid point. </p>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00082">82</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a9e97b7352e67dd629f622f292cf0ca21"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9e97b7352e67dd629f622f292cf0ca21">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_polar_stereo_grid_mod::ip_polar_stereo_grid::gdswzd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1). </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00041">41</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f3fa40acb8c2ae4a65c00db21872d7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f3fa40acb8c2ae4a65c00db21872d7c">&#9670;&nbsp;</a></span>init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">generic ip_grid_mod::ip_grid::init</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init subprogram. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00084">84</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae2a5a7c08e4578f3d0ff6b85e5a14cce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2a5a7c08e4578f3d0ff6b85e5a14cce">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a grid given a grib1_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00037">37</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a9622ce9892084b52303f27722572b87c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9622ce9892084b52303f27722572b87c">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a grid given a grib2_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00038">38</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a4a2a0dab09f05931d12615b0ac74bc51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a2a0dab09f05931d12615b0ac74bc51">&#9670;&nbsp;</a></span>descriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable ip_grid_mod::ip_grid::descriptor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Descriptor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ac009bce0c0c14b3e0970da6c032a11b1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac009bce0c0c14b3e0970da6c032a11b1">&#9670;&nbsp;</a></span>dxs</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dxs</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>'x'-direction grid length, adjusted by the scanning mode. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00029">29</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a95e155383895ad3f56a3876877b5896b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a95e155383895ad3f56a3876877b5896b">&#9670;&nbsp;</a></span>dys</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dys</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>'y'-direction grid length, adjusted by the scanning mode. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00030">30</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a180a5da6c470fac34b8439d4c0a32d2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a180a5da6c470fac34b8439d4c0a32d2a">&#9670;&nbsp;</a></span>eccen_squared</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::eccen_squared</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity of the Earth squared (e^2). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1bac1023f8d8cd631760403b222a8c3f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1bac1023f8d8cd631760403b222a8c3f">&#9670;&nbsp;</a></span>elliptical</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">logical ip_polar_stereo_grid_mod::ip_polar_stereo_grid::elliptical</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>When true/false, computations are based on an elliptical/spherical earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00024">24</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a6df619b3050279d9d560e72a3e87168f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6df619b3050279d9d560e72a3e87168f">&#9670;&nbsp;</a></span>h</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::h</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Hemisphere flag. </p>
+<p>0 - NH; 1 - SH. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00028">28</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a546a9c3bb8e93ec8e8f7eaf2a14537dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a546a9c3bb8e93ec8e8f7eaf2a14537dc">&#9670;&nbsp;</a></span>im</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::im</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of x points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00055">55</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a13f3f267f5a26602eb93b6525f494a10"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a13f3f267f5a26602eb93b6525f494a10">&#9670;&nbsp;</a></span>irot</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_polar_stereo_grid_mod::ip_polar_stereo_grid::irot</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Rotation flag. </p>
+<p>When '0' the u/v vector components are relative to north/east. When '1' the u/v vector components are grid relative. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00035">35</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae179622b9a4c764a5ca90385330941ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae179622b9a4c764a5ca90385330941ed">&#9670;&nbsp;</a></span>iwrap</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::iwrap</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x wraparound increment (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a41a2a38288864520d8c50854d1843f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a2a38288864520d8c50854d1843f87">&#9670;&nbsp;</a></span>jm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of y points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a92976f110dd7e823799991137ac970a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92976f110dd7e823799991137ac970a1">&#9670;&nbsp;</a></span>jwrap1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound lower pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70be8cebcd217a49be4da1cebfc19d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70be8cebcd217a49be4da1cebfc19d2">&#9670;&nbsp;</a></span>jwrap2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound upper pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a084603b1c052e76c3335fea2e887cfce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a084603b1c052e76c3335fea2e887cfce">&#9670;&nbsp;</a></span>kscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::kscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2ae87fb4e6bdcb75fc6fdc80ad73ee30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">&#9670;&nbsp;</a></span>nm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Total number of points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1a15aa48354dbbd0b8debafbfc6e7b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a15aa48354dbbd0b8debafbfc6e7b18">&#9670;&nbsp;</a></span>nscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Scanning</td><td>mode.<ul>
+<li>0 if x first then y;</li>
+<li>1 if y first then x;</li>
+<li>3 if staggered diagonal like projection 203. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0640093c52461763f904cc2f12c96b6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0640093c52461763f904cc2f12c96b6c">&#9670;&nbsp;</a></span>nscan_field_pos</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan_field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>nscan for field_pos routine. </p>
+<p>Can be different than nscan due to differences in grib/grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aeaeb6d72861b9b62de5bcd435bc96ea4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeaeb6d72861b9b62de5bcd435bc96ea4">&#9670;&nbsp;</a></span>orient</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::orient</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Orientation longitude. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00027">27</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2bb4d4ec2455c3148313bf7cc54e1cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bb4d4ec2455c3148313bf7cc54e1cc8">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a00565fd51d334324e9d68d1fc8c52640"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00565fd51d334324e9d68d1fc8c52640">&#9670;&nbsp;</a></span>rlat1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlat1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitude of the first grid point. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00025">25</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a61650c9ce1a2ce44243bf491e5d93728"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a61650c9ce1a2ce44243bf491e5d93728">&#9670;&nbsp;</a></span>rlon1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlon1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of the first grid point. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00026">26</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aae4f801c95b7b61e2e6b1dd824d3688b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aae4f801c95b7b61e2e6b1dd824d3688b">&#9670;&nbsp;</a></span>slatr</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::slatr</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Standard latitude of grid in radians. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html#l00031">31</a> of file <a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__polar__stereo__grid__mod_8F90_source.html">ip_polar_stereo_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__polar__stereo__grid__mod.html">ip_polar_stereo_grid_mod</a></li><li class="navelem"><a class="el" href="structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html">ip_polar_stereo_grid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.js b/ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.js
new file mode 100644
index 00000000..32b6b141
--- /dev/null
+++ b/ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.js
@@ -0,0 +1,29 @@
+var structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid =
+[
+    [ "field_pos", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179", null ],
+    [ "gdswzd", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9e97b7352e67dd629f622f292cf0ca21", null ],
+    [ "init", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c", null ],
+    [ "init_grib1", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae2a5a7c08e4578f3d0ff6b85e5a14cce", null ],
+    [ "init_grib2", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a9622ce9892084b52303f27722572b87c", null ],
+    [ "descriptor", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a4a2a0dab09f05931d12615b0ac74bc51", null ],
+    [ "dxs", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ac009bce0c0c14b3e0970da6c032a11b1", null ],
+    [ "dys", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a95e155383895ad3f56a3876877b5896b", null ],
+    [ "eccen_squared", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a180a5da6c470fac34b8439d4c0a32d2a", null ],
+    [ "elliptical", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1bac1023f8d8cd631760403b222a8c3f", null ],
+    [ "h", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a6df619b3050279d9d560e72a3e87168f", null ],
+    [ "im", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc", null ],
+    [ "irot", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a13f3f267f5a26602eb93b6525f494a10", null ],
+    [ "iwrap", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae179622b9a4c764a5ca90385330941ed", null ],
+    [ "jm", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a41a2a38288864520d8c50854d1843f87", null ],
+    [ "jwrap1", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a92976f110dd7e823799991137ac970a1", null ],
+    [ "jwrap2", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#ae70be8cebcd217a49be4da1cebfc19d2", null ],
+    [ "kscan", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a084603b1c052e76c3335fea2e887cfce", null ],
+    [ "nm", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30", null ],
+    [ "nscan", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18", null ],
+    [ "nscan_field_pos", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a0640093c52461763f904cc2f12c96b6c", null ],
+    [ "orient", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aeaeb6d72861b9b62de5bcd435bc96ea4", null ],
+    [ "rerth", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8", null ],
+    [ "rlat1", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a00565fd51d334324e9d68d1fc8c52640", null ],
+    [ "rlon1", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#a61650c9ce1a2ce44243bf491e5d93728", null ],
+    [ "slatr", "structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.html#aae4f801c95b7b61e2e6b1dd824d3688b", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.png b/ver-4.4.0/structip__polar__stereo__grid__mod_1_1ip__polar__stereo__grid.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5c2a91e3b1113ff41d78ddf52416d3a6d52a9e6
GIT binary patch
literal 819
zcmeAS@N?(olHy`uVBq!ia0y~yV3Y!~12~w0<j0#{W<W|Jz$e7@|Ns9$=8HF9OZyK^
z0J6aNz<~p-op<DcT#k|;zhDNSA`rNGD#VC^f$5N^i(^Oy<J-BnCoQ%TU<qE@@$<jG
z-H)b;3*Iow>+RlX>ZmteY^~Z|?Y%+SYZqRNdLE#v=@I0A#bc6cmdZ&X(@80vQl6V+
zmMrtQWIgX-fAX>y|NT`x;|mh6uL)81-2c&hrDT?_R_@WmXWxGN_Wti5i{8cWAHVOP
zzkFS`*^)_1=2`@t{ju|H^T(GJ*0ry_&x^cmTj!(dX<e9d{mj1Qse(1K-7mI<OxhwG
zsO&jy#YC0UFSC8O&)O4i?7Dp^NOygE)us0V`ucDAuF9+q_PpdLv*eiB&+GCVlC?ae
zPF~DvGu!d^r)VON*Cq8Zkad=8v#)7PP&wYWQYBOM_{xb(_Rj*E>W$<b$tzc)vR7=q
zCdp9GXV1Wx;CF?=qOR@{+W`SnhQ5P7cNla!r5em#cp6l*7<2-e6FQ|Byst1sEMhw#
zWXdpY1>*)6UNWVgo(~H4(p)$t=ve>*lY>8sp?j|UNqP}nvHDJ^@xDdVMYnCs{<bFJ
zYIgQyx$ubFriV)>=j_>?`=S3~|LSwk-k$thC@sDIcFy*R{Wj-|r$05UHg*->yJmym
z*@y>I{#ce)U!C@oYs<!$z3*PjzxR#2ZSsBnTXk&%+36zJ%Fn);yRYe4;{B>z)^73N
zIqy%;_6G`zw&n&Jn><?6wETnnip=-V%&nZy8n)&JTvmHoH-FjP-DlEQTCUiTe@)7`
zmN9M5PyM@V)!twAxp<oE_AcjA*KOK2b_i~{-E)^C?)0L-%kKlu7P=;G=9<3S`hZ`}
z+>f&kP0M=M9r}GS)0duP2D{5?(LM3ApM5!W?(M8nR%V@@%Ql?1XF6by8p=FbUYe>?
ef=>1PXJ~zC!}u_0W-Ks;GkCiCxvX<aXaWEWy?ERJ

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html b/ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html
new file mode 100644
index 00000000..4c3e0a7b
--- /dev/null
+++ b/ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html
@@ -0,0 +1,895 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.png" usemap="#ip_5Frot_5Fequid_5Fcylind_5Fegrid_5Fmod::ip_5Frot_5Fequid_5Fcylind_5Fegrid_map" alt=""/>
+  <map id="ip_5Frot_5Fequid_5Fcylind_5Fegrid_5Fmod::ip_5Frot_5Fequid_5Fcylind_5Fegrid_map" name="ip_5Frot_5Fequid_5Fcylind_5Fegrid_5Fmod::ip_5Frot_5Fequid_5Fcylind_5Fegrid_map">
+<area href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids." alt="ip_grid_mod::ip_grid" shape="rect" coords="0,0,340,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">field_pos</a></td></tr>
+<tr class="memdesc:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field position for a given grid point.  <a href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">More...</a><br /></td></tr>
+<tr class="separator:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62c8147f8845d75e8f52c7524a74c780"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780">gdswzd</a> =&gt; <a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a9ad11a599fc0bdc4a9ece86a3b1cc399">gdswzd_rot_equid_cylind_egrid</a></td></tr>
+<tr class="memdesc:a62c8147f8845d75e8f52c7524a74c780"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1).  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780">More...</a><br /></td></tr>
+<tr class="separator:a62c8147f8845d75e8f52c7524a74c780"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memItemLeft" align="right" valign="top">generic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">init</a> =&gt; <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a">init_grib1</a>, <a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4">init_grib2</a></td></tr>
+<tr class="memdesc:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init subprogram.  <a href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">More...</a><br /></td></tr>
+<tr class="separator:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9a85830bfd06183a8df73726f62217a"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a">init_grib1</a></td></tr>
+<tr class="memdesc:ab9a85830bfd06183a8df73726f62217a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a rotated equidistant cylindrical grid given a grib1_descriptor object.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a">More...</a><br /></td></tr>
+<tr class="separator:ab9a85830bfd06183a8df73726f62217a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adda32463a76ad97ac35b01f1ac693fa4"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4">init_grib2</a></td></tr>
+<tr class="memdesc:adda32463a76ad97ac35b01f1ac693fa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a rotated equidistant cylindrical grid given a grib2_descriptor object.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4">More...</a><br /></td></tr>
+<tr class="separator:adda32463a76ad97ac35b01f1ac693fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a7a1b97e05b77bb7563165bf3f3e97dda"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda">clat0</a></td></tr>
+<tr class="memdesc:a7a1b97e05b77bb7563165bf3f3e97dda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cosine of the latitude of the southern pole of projection.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda">More...</a><br /></td></tr>
+<tr class="separator:a7a1b97e05b77bb7563165bf3f3e97dda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memItemLeft" align="right" valign="top">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">descriptor</a></td></tr>
+<tr class="memdesc:a4a2a0dab09f05931d12615b0ac74bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">More...</a><br /></td></tr>
+<tr class="separator:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00d41c3d43370d3f02bb92d59f66866c"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c">dlats</a></td></tr>
+<tr class="memdesc:a00d41c3d43370d3f02bb92d59f66866c"><td class="mdescLeft">&#160;</td><td class="mdescRight">'J'-direction grid increment.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c">More...</a><br /></td></tr>
+<tr class="separator:a00d41c3d43370d3f02bb92d59f66866c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23a172ccd2e026746925e2029c0a9206"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206">dlons</a></td></tr>
+<tr class="memdesc:a23a172ccd2e026746925e2029c0a9206"><td class="mdescLeft">&#160;</td><td class="mdescRight">'I'-direction grid increment.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206">More...</a><br /></td></tr>
+<tr class="separator:a23a172ccd2e026746925e2029c0a9206"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">eccen_squared</a></td></tr>
+<tr class="memdesc:a180a5da6c470fac34b8439d4c0a32d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity of the Earth squared (e^2).  <a href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">More...</a><br /></td></tr>
+<tr class="separator:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a970c2655cb03ad0927e03c1d550e3fe5"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5">hi</a></td></tr>
+<tr class="memdesc:a970c2655cb03ad0927e03c1d550e3fe5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scan mode in the 'i' direction.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5">More...</a><br /></td></tr>
+<tr class="separator:a970c2655cb03ad0927e03c1d550e3fe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">im</a></td></tr>
+<tr class="memdesc:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of x points.  <a href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">More...</a><br /></td></tr>
+<tr class="separator:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a558e99f37191cb2ea7398ac2a05ef29e"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e">irot</a></td></tr>
+<tr class="memdesc:a558e99f37191cb2ea7398ac2a05ef29e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation flag.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e">More...</a><br /></td></tr>
+<tr class="separator:a558e99f37191cb2ea7398ac2a05ef29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae179622b9a4c764a5ca90385330941ed"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">iwrap</a></td></tr>
+<tr class="memdesc:ae179622b9a4c764a5ca90385330941ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">x wraparound increment (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">More...</a><br /></td></tr>
+<tr class="separator:ae179622b9a4c764a5ca90385330941ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a2a38288864520d8c50854d1843f87"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">jm</a></td></tr>
+<tr class="memdesc:a41a2a38288864520d8c50854d1843f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of y points.  <a href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">More...</a><br /></td></tr>
+<tr class="separator:a41a2a38288864520d8c50854d1843f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92976f110dd7e823799991137ac970a1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">jwrap1</a></td></tr>
+<tr class="memdesc:a92976f110dd7e823799991137ac970a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound lower pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">More...</a><br /></td></tr>
+<tr class="separator:a92976f110dd7e823799991137ac970a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">jwrap2</a></td></tr>
+<tr class="memdesc:ae70be8cebcd217a49be4da1cebfc19d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound upper pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">More...</a><br /></td></tr>
+<tr class="separator:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084603b1c052e76c3335fea2e887cfce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">kscan</a></td></tr>
+<tr class="memdesc:a084603b1c052e76c3335fea2e887cfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).  <a href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">More...</a><br /></td></tr>
+<tr class="separator:a084603b1c052e76c3335fea2e887cfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">nm</a></td></tr>
+<tr class="memdesc:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of points.  <a href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">More...</a><br /></td></tr>
+<tr class="separator:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">nscan</a></td></tr>
+<tr class="separator:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0640093c52461763f904cc2f12c96b6c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">nscan_field_pos</a></td></tr>
+<tr class="memdesc:a0640093c52461763f904cc2f12c96b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">nscan for field_pos routine.  <a href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">More...</a><br /></td></tr>
+<tr class="separator:a0640093c52461763f904cc2f12c96b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">rerth</a></td></tr>
+<tr class="memdesc:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">More...</a><br /></td></tr>
+<tr class="separator:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a884837892bf520ea7950f95d8c562a08"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08">rlat1</a></td></tr>
+<tr class="memdesc:a884837892bf520ea7950f95d8c562a08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitude of first grid point.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08">More...</a><br /></td></tr>
+<tr class="separator:a884837892bf520ea7950f95d8c562a08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65579b8557bffeedb99f384048dea14e"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e">rlon0</a></td></tr>
+<tr class="memdesc:a65579b8557bffeedb99f384048dea14e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of southern pole of projection.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e">More...</a><br /></td></tr>
+<tr class="separator:a65579b8557bffeedb99f384048dea14e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3684458139a165cd719b054637a7d121"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121">rlon1</a></td></tr>
+<tr class="memdesc:a3684458139a165cd719b054637a7d121"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of first grid point.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121">More...</a><br /></td></tr>
+<tr class="separator:a3684458139a165cd719b054637a7d121"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca4b0ae69f756ef4854369bf88423d66"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66">slat0</a></td></tr>
+<tr class="memdesc:aca4b0ae69f756ef4854369bf88423d66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sine of the latitude of the southern pole of projection.  <a href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66">More...</a><br /></td></tr>
+<tr class="separator:aca4b0ae69f756ef4854369bf88423d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00037">37</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac071b3d3eca9a5fa88ff5dc211d19179"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac071b3d3eca9a5fa88ff5dc211d19179">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_mod::ip_grid::field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Field position for a given grid point. </p>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00082">82</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a62c8147f8845d75e8f52c7524a74c780"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62c8147f8845d75e8f52c7524a74c780">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::gdswzd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1). </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00059">59</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f3fa40acb8c2ae4a65c00db21872d7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f3fa40acb8c2ae4a65c00db21872d7c">&#9670;&nbsp;</a></span>init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">generic ip_grid_mod::ip_grid::init</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init subprogram. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00084">84</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ab9a85830bfd06183a8df73726f62217a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab9a85830bfd06183a8df73726f62217a">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a rotated equidistant cylindrical grid given a grib1_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="adda32463a76ad97ac35b01f1ac693fa4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adda32463a76ad97ac35b01f1ac693fa4">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a rotated equidistant cylindrical grid given a grib2_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a7a1b97e05b77bb7563165bf3f3e97dda"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7a1b97e05b77bb7563165bf3f3e97dda">&#9670;&nbsp;</a></span>clat0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::clat0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Cosine of the latitude of the southern pole of projection. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00041">41</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a4a2a0dab09f05931d12615b0ac74bc51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a2a0dab09f05931d12615b0ac74bc51">&#9670;&nbsp;</a></span>descriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable ip_grid_mod::ip_grid::descriptor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Descriptor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a00d41c3d43370d3f02bb92d59f66866c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00d41c3d43370d3f02bb92d59f66866c">&#9670;&nbsp;</a></span>dlats</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlats</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>'J'-direction grid increment. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00043">43</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a23a172ccd2e026746925e2029c0a9206"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a23a172ccd2e026746925e2029c0a9206">&#9670;&nbsp;</a></span>dlons</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlons</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>'I'-direction grid increment. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00044">44</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a180a5da6c470fac34b8439d4c0a32d2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a180a5da6c470fac34b8439d4c0a32d2a">&#9670;&nbsp;</a></span>eccen_squared</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::eccen_squared</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity of the Earth squared (e^2). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a970c2655cb03ad0927e03c1d550e3fe5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a970c2655cb03ad0927e03c1d550e3fe5">&#9670;&nbsp;</a></span>hi</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::hi</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Scan mode in the 'i' direction. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00045">45</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a546a9c3bb8e93ec8e8f7eaf2a14537dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a546a9c3bb8e93ec8e8f7eaf2a14537dc">&#9670;&nbsp;</a></span>im</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::im</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of x points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00055">55</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a558e99f37191cb2ea7398ac2a05ef29e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a558e99f37191cb2ea7398ac2a05ef29e">&#9670;&nbsp;</a></span>irot</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::irot</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Rotation flag. </p>
+<p>When '0' the u/v vector components are relative to north/east. When '1' the u/v vector components are grid relative. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00049">49</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae179622b9a4c764a5ca90385330941ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae179622b9a4c764a5ca90385330941ed">&#9670;&nbsp;</a></span>iwrap</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::iwrap</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x wraparound increment (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a41a2a38288864520d8c50854d1843f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a2a38288864520d8c50854d1843f87">&#9670;&nbsp;</a></span>jm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of y points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a92976f110dd7e823799991137ac970a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92976f110dd7e823799991137ac970a1">&#9670;&nbsp;</a></span>jwrap1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound lower pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70be8cebcd217a49be4da1cebfc19d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70be8cebcd217a49be4da1cebfc19d2">&#9670;&nbsp;</a></span>jwrap2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound upper pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a084603b1c052e76c3335fea2e887cfce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a084603b1c052e76c3335fea2e887cfce">&#9670;&nbsp;</a></span>kscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::kscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2ae87fb4e6bdcb75fc6fdc80ad73ee30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">&#9670;&nbsp;</a></span>nm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Total number of points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1a15aa48354dbbd0b8debafbfc6e7b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a15aa48354dbbd0b8debafbfc6e7b18">&#9670;&nbsp;</a></span>nscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Scanning</td><td>mode.<ul>
+<li>0 if x first then y;</li>
+<li>1 if y first then x;</li>
+<li>3 if staggered diagonal like projection 203. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0640093c52461763f904cc2f12c96b6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0640093c52461763f904cc2f12c96b6c">&#9670;&nbsp;</a></span>nscan_field_pos</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan_field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>nscan for field_pos routine. </p>
+<p>Can be different than nscan due to differences in grib/grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2bb4d4ec2455c3148313bf7cc54e1cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bb4d4ec2455c3148313bf7cc54e1cc8">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a884837892bf520ea7950f95d8c562a08"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a884837892bf520ea7950f95d8c562a08">&#9670;&nbsp;</a></span>rlat1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlat1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitude of first grid point. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00040">40</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a65579b8557bffeedb99f384048dea14e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a65579b8557bffeedb99f384048dea14e">&#9670;&nbsp;</a></span>rlon0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of southern pole of projection. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00038">38</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a3684458139a165cd719b054637a7d121"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3684458139a165cd719b054637a7d121">&#9670;&nbsp;</a></span>rlon1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of first grid point. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00039">39</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aca4b0ae69f756ef4854369bf88423d66"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aca4b0ae69f756ef4854369bf88423d66">&#9670;&nbsp;</a></span>slat0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html#a50497d277c347a2991b0e34e85f1787e">kd</a>) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::slat0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sine of the latitude of the southern pole of projection. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html#l00042">42</a> of file <a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__rot__equid__cylind__egrid__mod_8F90_source.html">ip_rot_equid_cylind_egrid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__rot__equid__cylind__egrid__mod.html">ip_rot_equid_cylind_egrid_mod</a></li><li class="navelem"><a class="el" href="structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html">ip_rot_equid_cylind_egrid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.js b/ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.js
new file mode 100644
index 00000000..fa593342
--- /dev/null
+++ b/ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.js
@@ -0,0 +1,29 @@
+var structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid =
+[
+    [ "field_pos", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ac071b3d3eca9a5fa88ff5dc211d19179", null ],
+    [ "gdswzd", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a62c8147f8845d75e8f52c7524a74c780", null ],
+    [ "init", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a1f3fa40acb8c2ae4a65c00db21872d7c", null ],
+    [ "init_grib1", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ab9a85830bfd06183a8df73726f62217a", null ],
+    [ "init_grib2", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#adda32463a76ad97ac35b01f1ac693fa4", null ],
+    [ "clat0", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a7a1b97e05b77bb7563165bf3f3e97dda", null ],
+    [ "descriptor", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a4a2a0dab09f05931d12615b0ac74bc51", null ],
+    [ "dlats", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a00d41c3d43370d3f02bb92d59f66866c", null ],
+    [ "dlons", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a23a172ccd2e026746925e2029c0a9206", null ],
+    [ "eccen_squared", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a180a5da6c470fac34b8439d4c0a32d2a", null ],
+    [ "hi", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a970c2655cb03ad0927e03c1d550e3fe5", null ],
+    [ "im", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc", null ],
+    [ "irot", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a558e99f37191cb2ea7398ac2a05ef29e", null ],
+    [ "iwrap", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ae179622b9a4c764a5ca90385330941ed", null ],
+    [ "jm", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a41a2a38288864520d8c50854d1843f87", null ],
+    [ "jwrap1", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a92976f110dd7e823799991137ac970a1", null ],
+    [ "jwrap2", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#ae70be8cebcd217a49be4da1cebfc19d2", null ],
+    [ "kscan", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a084603b1c052e76c3335fea2e887cfce", null ],
+    [ "nm", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30", null ],
+    [ "nscan", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a1a15aa48354dbbd0b8debafbfc6e7b18", null ],
+    [ "nscan_field_pos", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a0640093c52461763f904cc2f12c96b6c", null ],
+    [ "rerth", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8", null ],
+    [ "rlat1", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a884837892bf520ea7950f95d8c562a08", null ],
+    [ "rlon0", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a65579b8557bffeedb99f384048dea14e", null ],
+    [ "rlon1", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#a3684458139a165cd719b054637a7d121", null ],
+    [ "slat0", "structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.html#aca4b0ae69f756ef4854369bf88423d66", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.png b/ver-4.4.0/structip__rot__equid__cylind__egrid__mod_1_1ip__rot__equid__cylind__egrid.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a47e89af38706d2c8ea370a3259e6dac691515a
GIT binary patch
literal 863
zcmeAS@N?(olHy`uVBq!ia0y~yU<?7W12~w0WZ|k>RUjo1;1lBd|Nnm=^TnI5rTvE{
z09jys;J^Xa&O7ozE=Ng_UoZnu5eQs86=KA|!1T`3#WAFU@$KB#lQwG!xQfqSwdcQb
z{jm%deV&;&7oW47Tcj#@Ygw$)AJyk`n&%XMbDXxsVNy&>h^LWokm^YvkEtrgilLLv
z#3-72UJ?vWH%@!`w^GZqsQCKKTbiMh_C5NqSi0l%l8}3^3qIM@*7fgSKi{&dM}GG5
z`B}^ACU{Lc_dsjq<`tU~^XB@Cd*^TT&KJEk6C}E6<}RbaO)qQYXWu&?<atRFX5pE=
z*REt;wVAf-OWib(y0qQ@UH1Oo-#cx0ePPM+NlT1(IK6tO{qt?K`LanW?9;tum)-lk
zdH<)gb0=L{q&!t+?n&FUtbQBMTZd<OO_GUG37zzBH_T|bUwDFw&sm<ZOqXV;Z((;}
zc%Zz5siM;6kXFOg30x0S3#7sr=d^?{ST7Vg;N!t+ARNSa2FNv56s0EjjQpfoL0*nt
znm-j7Ss3)3v>Ikk;7U+i!Zd?(B}3Z1pxJr1AMHP3u;qHJt#fH_#r0Lc)3UDT<V|50
zIey;#P4#ZQ)w|}bJpBLDsg2sUvyZLc`Sol4kGfbZ+lwD-M7NZPpZw1B{8;%pqi3PV
z%zhjT4G(&)X+J+~?a>LTm6xy1Ua)Jo;E!GN@6Pym>{SWpw8wR!*NwO8t(VJ4f0Fel
z^uo89@+@M#?uN%D-$i~s9yEXczfWd@s}C66&iAt2{_6diE9Jk%pT2e7qIUfKxhuk}
z^VY6>E1ntkLaO_mV`cBvmkQ4;4%@EId-v~j-;VwL)2vV2`)09pMfieecDsawW8!%C
z-dm6#@^w{BL!8wi`x8GNKDfW{L(i)1LB~^fRQ+IId%NZJg2S)E8ds-&EO2Sy{l4ng
z_4KUzeR7oy)ps_$%3907!BFRh8ZT!QOqWh+ni90>BY*i!k6_U^a)*Gqfx*+&&t;uc
GLK6U5pN{ze

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html b/ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html
new file mode 100644
index 00000000..357ba0ef
--- /dev/null
+++ b/ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html
@@ -0,0 +1,866 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.png" usemap="#ip_5Frot_5Fequid_5Fcylind_5Fgrid_5Fmod::ip_5Frot_5Fequid_5Fcylind_5Fgrid_map" alt=""/>
+  <map id="ip_5Frot_5Fequid_5Fcylind_5Fgrid_5Fmod::ip_5Frot_5Fequid_5Fcylind_5Fgrid_map" name="ip_5Frot_5Fequid_5Fcylind_5Fgrid_5Fmod::ip_5Frot_5Fequid_5Fcylind_5Fgrid_map">
+<area href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids." alt="ip_grid_mod::ip_grid" shape="rect" coords="0,0,326,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">field_pos</a></td></tr>
+<tr class="memdesc:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field position for a given grid point.  <a href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">More...</a><br /></td></tr>
+<tr class="separator:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f14a253b51bcb0633cd00d32d5130a4"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4">gdswzd</a> =&gt; <a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#a55c153201e15205d3f75e4ffb717cc0b">gdswzd_rot_equid_cylind</a></td></tr>
+<tr class="memdesc:a0f14a253b51bcb0633cd00d32d5130a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4">More...</a><br /></td></tr>
+<tr class="separator:a0f14a253b51bcb0633cd00d32d5130a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memItemLeft" align="right" valign="top">generic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">init</a> =&gt; <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca">init_grib1</a>, <a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634">init_grib2</a></td></tr>
+<tr class="memdesc:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init subprogram.  <a href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">More...</a><br /></td></tr>
+<tr class="separator:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9942c787bda2e118f1355476670edfca"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca">init_grib1</a></td></tr>
+<tr class="memdesc:a9942c787bda2e118f1355476670edfca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Rotated equidistant cylindrical grid given a grib1_descriptor object.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca">More...</a><br /></td></tr>
+<tr class="separator:a9942c787bda2e118f1355476670edfca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30ae580d169972e8d68c3d97ab3b2634"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634">init_grib2</a></td></tr>
+<tr class="memdesc:a30ae580d169972e8d68c3d97ab3b2634"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a Rotated equidistant cylindrical given a grib2_descriptor object.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634">More...</a><br /></td></tr>
+<tr class="separator:a30ae580d169972e8d68c3d97ab3b2634"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a49835868e8c8b96e243a5992daee6ea5"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5">clat0</a></td></tr>
+<tr class="memdesc:a49835868e8c8b96e243a5992daee6ea5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cosine of the latitude of the southern pole of projection.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5">More...</a><br /></td></tr>
+<tr class="separator:a49835868e8c8b96e243a5992daee6ea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memItemLeft" align="right" valign="top">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">descriptor</a></td></tr>
+<tr class="memdesc:a4a2a0dab09f05931d12615b0ac74bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">More...</a><br /></td></tr>
+<tr class="separator:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:affd9cfc7a0e1d8e74735eac35b2e03c6"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6">dlats</a></td></tr>
+<tr class="memdesc:affd9cfc7a0e1d8e74735eac35b2e03c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">'J'-direction grid increment.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6">More...</a><br /></td></tr>
+<tr class="separator:affd9cfc7a0e1d8e74735eac35b2e03c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76222910f6c9fa0c5374bed672904c85"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85">dlons</a></td></tr>
+<tr class="memdesc:a76222910f6c9fa0c5374bed672904c85"><td class="mdescLeft">&#160;</td><td class="mdescRight">'I'-direction grid increment.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85">More...</a><br /></td></tr>
+<tr class="separator:a76222910f6c9fa0c5374bed672904c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">eccen_squared</a></td></tr>
+<tr class="memdesc:a180a5da6c470fac34b8439d4c0a32d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity of the Earth squared (e^2).  <a href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">More...</a><br /></td></tr>
+<tr class="separator:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">im</a></td></tr>
+<tr class="memdesc:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of x points.  <a href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">More...</a><br /></td></tr>
+<tr class="separator:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4c44c4cf8d1376b24861534edbf514f"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f">irot</a></td></tr>
+<tr class="memdesc:ae4c44c4cf8d1376b24861534edbf514f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation flag.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f">More...</a><br /></td></tr>
+<tr class="separator:ae4c44c4cf8d1376b24861534edbf514f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae179622b9a4c764a5ca90385330941ed"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">iwrap</a></td></tr>
+<tr class="memdesc:ae179622b9a4c764a5ca90385330941ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">x wraparound increment (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">More...</a><br /></td></tr>
+<tr class="separator:ae179622b9a4c764a5ca90385330941ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a2a38288864520d8c50854d1843f87"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">jm</a></td></tr>
+<tr class="memdesc:a41a2a38288864520d8c50854d1843f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of y points.  <a href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">More...</a><br /></td></tr>
+<tr class="separator:a41a2a38288864520d8c50854d1843f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92976f110dd7e823799991137ac970a1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">jwrap1</a></td></tr>
+<tr class="memdesc:a92976f110dd7e823799991137ac970a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound lower pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">More...</a><br /></td></tr>
+<tr class="separator:a92976f110dd7e823799991137ac970a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">jwrap2</a></td></tr>
+<tr class="memdesc:ae70be8cebcd217a49be4da1cebfc19d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound upper pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">More...</a><br /></td></tr>
+<tr class="separator:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084603b1c052e76c3335fea2e887cfce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">kscan</a></td></tr>
+<tr class="memdesc:a084603b1c052e76c3335fea2e887cfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).  <a href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">More...</a><br /></td></tr>
+<tr class="separator:a084603b1c052e76c3335fea2e887cfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">nm</a></td></tr>
+<tr class="memdesc:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of points.  <a href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">More...</a><br /></td></tr>
+<tr class="separator:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">nscan</a></td></tr>
+<tr class="separator:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0640093c52461763f904cc2f12c96b6c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">nscan_field_pos</a></td></tr>
+<tr class="memdesc:a0640093c52461763f904cc2f12c96b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">nscan for field_pos routine.  <a href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">More...</a><br /></td></tr>
+<tr class="separator:a0640093c52461763f904cc2f12c96b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">rerth</a></td></tr>
+<tr class="memdesc:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">More...</a><br /></td></tr>
+<tr class="separator:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b111301b2fc41270869ee182512f13c"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c">rlon0</a></td></tr>
+<tr class="memdesc:a7b111301b2fc41270869ee182512f13c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of southern pole of projection.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c">More...</a><br /></td></tr>
+<tr class="separator:a7b111301b2fc41270869ee182512f13c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a246ec0afc422f6cfcc3758ff62c6017f"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f">sbd</a></td></tr>
+<tr class="memdesc:a246ec0afc422f6cfcc3758ff62c6017f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latitude of the southern boundary of the grid before rotation.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f">More...</a><br /></td></tr>
+<tr class="separator:a246ec0afc422f6cfcc3758ff62c6017f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a02c6fc1ad38174e15679e69b5cbfdc"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc">slat0</a></td></tr>
+<tr class="memdesc:a8a02c6fc1ad38174e15679e69b5cbfdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sine of the latitude of the southern pole of projection.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc">More...</a><br /></td></tr>
+<tr class="separator:a8a02c6fc1ad38174e15679e69b5cbfdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33ae1763c4f1267091bee36a9c92e46a"><td class="memItemLeft" align="right" valign="top">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a">wbd</a></td></tr>
+<tr class="memdesc:a33ae1763c4f1267091bee36a9c92e46a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Longitude of the western boundary of the grid before rotation.  <a href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a">More...</a><br /></td></tr>
+<tr class="separator:a33ae1763c4f1267091bee36a9c92e46a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00032">32</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac071b3d3eca9a5fa88ff5dc211d19179"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac071b3d3eca9a5fa88ff5dc211d19179">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_mod::ip_grid::field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Field position for a given grid point. </p>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00082">82</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0f14a253b51bcb0633cd00d32d5130a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0f14a253b51bcb0633cd00d32d5130a4">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::gdswzd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f3fa40acb8c2ae4a65c00db21872d7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f3fa40acb8c2ae4a65c00db21872d7c">&#9670;&nbsp;</a></span>init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">generic ip_grid_mod::ip_grid::init</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init subprogram. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00084">84</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a9942c787bda2e118f1355476670edfca"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9942c787bda2e118f1355476670edfca">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a Rotated equidistant cylindrical grid given a grib1_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00047">47</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a30ae580d169972e8d68c3d97ab3b2634"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30ae580d169972e8d68c3d97ab3b2634">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::init_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a Rotated equidistant cylindrical given a grib2_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00050">50</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a49835868e8c8b96e243a5992daee6ea5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49835868e8c8b96e243a5992daee6ea5">&#9670;&nbsp;</a></span>clat0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::clat0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Cosine of the latitude of the southern pole of projection. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00033">33</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a4a2a0dab09f05931d12615b0ac74bc51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a2a0dab09f05931d12615b0ac74bc51">&#9670;&nbsp;</a></span>descriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable ip_grid_mod::ip_grid::descriptor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Descriptor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="affd9cfc7a0e1d8e74735eac35b2e03c6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#affd9cfc7a0e1d8e74735eac35b2e03c6">&#9670;&nbsp;</a></span>dlats</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlats</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>'J'-direction grid increment. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00034">34</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a76222910f6c9fa0c5374bed672904c85"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a76222910f6c9fa0c5374bed672904c85">&#9670;&nbsp;</a></span>dlons</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::dlons</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>'I'-direction grid increment. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00035">35</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a180a5da6c470fac34b8439d4c0a32d2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a180a5da6c470fac34b8439d4c0a32d2a">&#9670;&nbsp;</a></span>eccen_squared</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::eccen_squared</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity of the Earth squared (e^2). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a546a9c3bb8e93ec8e8f7eaf2a14537dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a546a9c3bb8e93ec8e8f7eaf2a14537dc">&#9670;&nbsp;</a></span>im</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::im</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of x points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00055">55</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae4c44c4cf8d1376b24861534edbf514f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae4c44c4cf8d1376b24861534edbf514f">&#9670;&nbsp;</a></span>irot</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::irot</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Rotation flag. </p>
+<p>When '0' the u/v vector components are relative to north/east. When '1' the u/v vector components are grid relative. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00043">43</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae179622b9a4c764a5ca90385330941ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae179622b9a4c764a5ca90385330941ed">&#9670;&nbsp;</a></span>iwrap</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::iwrap</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x wraparound increment (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a41a2a38288864520d8c50854d1843f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a2a38288864520d8c50854d1843f87">&#9670;&nbsp;</a></span>jm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of y points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a92976f110dd7e823799991137ac970a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92976f110dd7e823799991137ac970a1">&#9670;&nbsp;</a></span>jwrap1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound lower pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70be8cebcd217a49be4da1cebfc19d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70be8cebcd217a49be4da1cebfc19d2">&#9670;&nbsp;</a></span>jwrap2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound upper pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a084603b1c052e76c3335fea2e887cfce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a084603b1c052e76c3335fea2e887cfce">&#9670;&nbsp;</a></span>kscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::kscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2ae87fb4e6bdcb75fc6fdc80ad73ee30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">&#9670;&nbsp;</a></span>nm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Total number of points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1a15aa48354dbbd0b8debafbfc6e7b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a15aa48354dbbd0b8debafbfc6e7b18">&#9670;&nbsp;</a></span>nscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Scanning</td><td>mode.<ul>
+<li>0 if x first then y;</li>
+<li>1 if y first then x;</li>
+<li>3 if staggered diagonal like projection 203. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0640093c52461763f904cc2f12c96b6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0640093c52461763f904cc2f12c96b6c">&#9670;&nbsp;</a></span>nscan_field_pos</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan_field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>nscan for field_pos routine. </p>
+<p>Can be different than nscan due to differences in grib/grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2bb4d4ec2455c3148313bf7cc54e1cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bb4d4ec2455c3148313bf7cc54e1cc8">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a7b111301b2fc41270869ee182512f13c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b111301b2fc41270869ee182512f13c">&#9670;&nbsp;</a></span>rlon0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::rlon0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of southern pole of projection. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00036">36</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a246ec0afc422f6cfcc3758ff62c6017f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a246ec0afc422f6cfcc3758ff62c6017f">&#9670;&nbsp;</a></span>sbd</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::sbd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Latitude of the southern boundary of the grid before rotation. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00039">39</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a8a02c6fc1ad38174e15679e69b5cbfdc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8a02c6fc1ad38174e15679e69b5cbfdc">&#9670;&nbsp;</a></span>slat0</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::slat0</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sine of the latitude of the southern pole of projection. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00037">37</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a33ae1763c4f1267091bee36a9c92e46a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a33ae1763c4f1267091bee36a9c92e46a">&#9670;&nbsp;</a></span>wbd</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real(<a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html#af5dea0592cccce2de1c5c6a92d42cfd6">kd</a>) ip_rot_equid_cylind_grid_mod::ip_rot_equid_cylind_grid::wbd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Longitude of the western boundary of the grid before rotation. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html#l00038">38</a> of file <a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__rot__equid__cylind__grid__mod_8F90_source.html">ip_rot_equid_cylind_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__rot__equid__cylind__grid__mod.html">ip_rot_equid_cylind_grid_mod</a></li><li class="navelem"><a class="el" href="structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html">ip_rot_equid_cylind_grid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.js b/ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.js
new file mode 100644
index 00000000..696035bb
--- /dev/null
+++ b/ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.js
@@ -0,0 +1,28 @@
+var structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid =
+[
+    [ "field_pos", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179", null ],
+    [ "gdswzd", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0f14a253b51bcb0633cd00d32d5130a4", null ],
+    [ "init", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c", null ],
+    [ "init_grib1", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a9942c787bda2e118f1355476670edfca", null ],
+    [ "init_grib2", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a30ae580d169972e8d68c3d97ab3b2634", null ],
+    [ "clat0", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a49835868e8c8b96e243a5992daee6ea5", null ],
+    [ "descriptor", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a4a2a0dab09f05931d12615b0ac74bc51", null ],
+    [ "dlats", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#affd9cfc7a0e1d8e74735eac35b2e03c6", null ],
+    [ "dlons", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a76222910f6c9fa0c5374bed672904c85", null ],
+    [ "eccen_squared", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a180a5da6c470fac34b8439d4c0a32d2a", null ],
+    [ "im", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc", null ],
+    [ "irot", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae4c44c4cf8d1376b24861534edbf514f", null ],
+    [ "iwrap", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae179622b9a4c764a5ca90385330941ed", null ],
+    [ "jm", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a41a2a38288864520d8c50854d1843f87", null ],
+    [ "jwrap1", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a92976f110dd7e823799991137ac970a1", null ],
+    [ "jwrap2", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#ae70be8cebcd217a49be4da1cebfc19d2", null ],
+    [ "kscan", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a084603b1c052e76c3335fea2e887cfce", null ],
+    [ "nm", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30", null ],
+    [ "nscan", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18", null ],
+    [ "nscan_field_pos", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a0640093c52461763f904cc2f12c96b6c", null ],
+    [ "rerth", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8", null ],
+    [ "rlon0", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a7b111301b2fc41270869ee182512f13c", null ],
+    [ "sbd", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a246ec0afc422f6cfcc3758ff62c6017f", null ],
+    [ "slat0", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a8a02c6fc1ad38174e15679e69b5cbfdc", null ],
+    [ "wbd", "structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.html#a33ae1763c4f1267091bee36a9c92e46a", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.png b/ver-4.4.0/structip__rot__equid__cylind__grid__mod_1_1ip__rot__equid__cylind__grid.png
new file mode 100644
index 0000000000000000000000000000000000000000..9dd76b75540a54a94526e536dc8a65713a93c35b
GIT binary patch
literal 854
zcmeAS@N?(olHy`uVBq!ia0y~yU~~hr12~w0WY9;Q4?s#Hz$e7@|Ns9$=8HF9OZyK^
z0J6aNz<~p-op<DcT#k|;zhDNSA`rNGD#VC^f$6EIi(^Oy<J-9xC#_ZxV4dw8`tSeb
z^@dW87gc8-`I<L(imbBnp&LRKs?X>6p0jjU@SZer$@h(Jo?OYjlSGb5scQC^dIil0
zHdXVymCPmgOy^=n_@pm}dgjvBre2r)|Ah7)E>>Oo>1A8@@27vOZS4Juzs;~W^Ix82
zw(r7JmD;J7P0wYWYTH@5FJ_NTsNO}bt(&zye`!5Gf9&e!={Zg3lZ9*7f&{K<cqXn1
zoOCEAC3j8O{@PyeFI(5Cyj&fVx_sV>@>k0b7cJN8dj}Gkvufi{_v+t?_BW=gwEmFo
zJ^W=?{VnYqGE<f)TkV>(B>2bEn>QAFPl~G9pzX<3xXsP;S98Q-l~!aAompTA_A5KX
z4l8p8W`ToJjEnB%ed7=~0%Y)ry%khwGi9n_@Mhsi?qx_^BdE}0%G9#at-;_Lhrlr@
z#zPUx4iedvNPf1@@X=JA9ONbF!NB&Q7S)DlD?eU%w(*sGmBg*r0oEIr_o-HGEc%_6
ze7(nZ1-C}u4yFd?bNbuo^d5fyX`11bcfOCW-}&{!w#GhhZrr_!y<Sm=T%W%_qM2<q
z{owH*uMJOI7SAox?)_RbPk;5bq&1t?y?o~zB%7ydH*bNYjQrAf>IaKrR@|vFyH<Kt
z*`#d^Tbycc{CmGgSu=LMxErk>_U^RQ`}zNNnMtN++pN4(p7wb2-}YTmlKTy$&ue_o
z$hG-5-RJeSgGrl%!?QQu<bHP#=v4mlSE<6;`L$2QF5LL_Om9{A_RU{Sn~v6Ao$>nY
z7p|x4Ua`Gcs=RmkadG$B-^bQZ+kMqy-Kne9_cHI6?eM#$o9!2)o4?zcF=vOz&iMJg
zw(s{li#v2{PmTWjm67MbYSf?yM&!~dK3<xvKiJ>Cb`4KGA@CTO2^c(G{an^LB{Ts5
Dzt4p5

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.html b/ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.html
new file mode 100644
index 00000000..7f44d5ae
--- /dev/null
+++ b/ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.html
@@ -0,0 +1,633 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>NCEPLIBS-ip: ip_station_points_grid_mod::ip_station_points_grid Type Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">NCEPLIBS-ip
+   &#160;<span id="projectnumber">4.4.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structip__station__points__grid__mod_1_1ip__station__points__grid.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">ip_station_points_grid_mod::ip_station_points_grid Type Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ip_station_points_grid_mod::ip_station_points_grid:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="structip__station__points__grid__mod_1_1ip__station__points__grid.png" usemap="#ip_5Fstation_5Fpoints_5Fgrid_5Fmod::ip_5Fstation_5Fpoints_5Fgrid_map" alt=""/>
+  <map id="ip_5Fstation_5Fpoints_5Fgrid_5Fmod::ip_5Fstation_5Fpoints_5Fgrid_map" name="ip_5Fstation_5Fpoints_5Fgrid_5Fmod::ip_5Fstation_5Fpoints_5Fgrid_map">
+<area href="structip__grid__mod_1_1ip__grid.html" title="Abstract grid that holds fields and methods common to all grids." alt="ip_grid_mod::ip_grid" shape="rect" coords="0,0,292,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">field_pos</a></td></tr>
+<tr class="memdesc:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field position for a given grid point.  <a href="structip__grid__mod_1_1ip__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179">More...</a><br /></td></tr>
+<tr class="separator:ac071b3d3eca9a5fa88ff5dc211d19179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9fff8b24553d11177b8c1ee38bfbd91f"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f">gdswzd</a> =&gt; <a class="el" href="namespaceip__station__points__grid__mod.html#a8da297b45242279a497dbd7062a33197">gdswzd_station_points</a></td></tr>
+<tr class="memdesc:a9fff8b24553d11177b8c1ee38bfbd91f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for IP Station Point grids.  <a href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f">More...</a><br /></td></tr>
+<tr class="separator:a9fff8b24553d11177b8c1ee38bfbd91f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memItemLeft" align="right" valign="top">generic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">init</a> =&gt; <a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32">init_grib1</a>, <a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e">init_grib2</a></td></tr>
+<tr class="memdesc:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Init subprogram.  <a href="structip__grid__mod_1_1ip__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c">More...</a><br /></td></tr>
+<tr class="separator:a1f3fa40acb8c2ae4a65c00db21872d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5ec2cbc9bf0dadf20a226e0afeb3d32"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32">init_grib1</a></td></tr>
+<tr class="memdesc:aa5ec2cbc9bf0dadf20a226e0afeb3d32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib1_descriptor object.  <a href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32">More...</a><br /></td></tr>
+<tr class="separator:aa5ec2cbc9bf0dadf20a226e0afeb3d32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69fac68e7a40d5c3106a47bf1851891e"><td class="memItemLeft" align="right" valign="top">procedure&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e">init_grib2</a></td></tr>
+<tr class="memdesc:a69fac68e7a40d5c3106a47bf1851891e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a gaussian grid given a grib2_descriptor object.  <a href="structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e">More...</a><br /></td></tr>
+<tr class="separator:a69fac68e7a40d5c3106a47bf1851891e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memItemLeft" align="right" valign="top">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">descriptor</a></td></tr>
+<tr class="memdesc:a4a2a0dab09f05931d12615b0ac74bc51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor.  <a href="structip__grid__mod_1_1ip__grid.html#a4a2a0dab09f05931d12615b0ac74bc51">More...</a><br /></td></tr>
+<tr class="separator:a4a2a0dab09f05931d12615b0ac74bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">eccen_squared</a></td></tr>
+<tr class="memdesc:a180a5da6c470fac34b8439d4c0a32d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Eccentricity of the Earth squared (e^2).  <a href="structip__grid__mod_1_1ip__grid.html#a180a5da6c470fac34b8439d4c0a32d2a">More...</a><br /></td></tr>
+<tr class="separator:a180a5da6c470fac34b8439d4c0a32d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">im</a></td></tr>
+<tr class="memdesc:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of x points.  <a href="structip__grid__mod_1_1ip__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc">More...</a><br /></td></tr>
+<tr class="separator:a546a9c3bb8e93ec8e8f7eaf2a14537dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae179622b9a4c764a5ca90385330941ed"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">iwrap</a></td></tr>
+<tr class="memdesc:ae179622b9a4c764a5ca90385330941ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">x wraparound increment (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae179622b9a4c764a5ca90385330941ed">More...</a><br /></td></tr>
+<tr class="separator:ae179622b9a4c764a5ca90385330941ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a2a38288864520d8c50854d1843f87"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">jm</a></td></tr>
+<tr class="memdesc:a41a2a38288864520d8c50854d1843f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of y points.  <a href="structip__grid__mod_1_1ip__grid.html#a41a2a38288864520d8c50854d1843f87">More...</a><br /></td></tr>
+<tr class="separator:a41a2a38288864520d8c50854d1843f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92976f110dd7e823799991137ac970a1"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">jwrap1</a></td></tr>
+<tr class="memdesc:a92976f110dd7e823799991137ac970a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound lower pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#a92976f110dd7e823799991137ac970a1">More...</a><br /></td></tr>
+<tr class="separator:a92976f110dd7e823799991137ac970a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">jwrap2</a></td></tr>
+<tr class="memdesc:ae70be8cebcd217a49be4da1cebfc19d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">y wraparound upper pivot point (0 if no wraparound).  <a href="structip__grid__mod_1_1ip__grid.html#ae70be8cebcd217a49be4da1cebfc19d2">More...</a><br /></td></tr>
+<tr class="separator:ae70be8cebcd217a49be4da1cebfc19d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084603b1c052e76c3335fea2e887cfce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">kscan</a></td></tr>
+<tr class="memdesc:a084603b1c052e76c3335fea2e887cfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).  <a href="structip__grid__mod_1_1ip__grid.html#a084603b1c052e76c3335fea2e887cfce">More...</a><br /></td></tr>
+<tr class="separator:a084603b1c052e76c3335fea2e887cfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">nm</a></td></tr>
+<tr class="memdesc:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of points.  <a href="structip__grid__mod_1_1ip__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">More...</a><br /></td></tr>
+<tr class="separator:a2ae87fb4e6bdcb75fc6fdc80ad73ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18">nscan</a></td></tr>
+<tr class="separator:a1a15aa48354dbbd0b8debafbfc6e7b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0640093c52461763f904cc2f12c96b6c"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">nscan_field_pos</a></td></tr>
+<tr class="memdesc:a0640093c52461763f904cc2f12c96b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">nscan for field_pos routine.  <a href="structip__grid__mod_1_1ip__grid.html#a0640093c52461763f904cc2f12c96b6c">More...</a><br /></td></tr>
+<tr class="separator:a0640093c52461763f904cc2f12c96b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memItemLeft" align="right" valign="top">real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">rerth</a></td></tr>
+<tr class="memdesc:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Radius of the Earth.  <a href="structip__grid__mod_1_1ip__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8">More...</a><br /></td></tr>
+<tr class="separator:a2bb4d4ec2455c3148313bf7cc54e1cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="ip__station__points__grid__mod_8F90_source.html#l00018">18</a> of file <a class="el" href="ip__station__points__grid__mod_8F90_source.html">ip_station_points_grid_mod.F90</a>.</p>
+</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
+<a id="ac071b3d3eca9a5fa88ff5dc211d19179"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac071b3d3eca9a5fa88ff5dc211d19179">&#9670;&nbsp;</a></span>field_pos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_grid_mod::ip_grid::field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Field position for a given grid point. </p>
+<dl class="section return"><dt>Returns</dt><dd>Integer position in grib field to locate grid point. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00082">82</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a9fff8b24553d11177b8c1ee38bfbd91f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9fff8b24553d11177b8c1ee38bfbd91f">&#9670;&nbsp;</a></span>gdswzd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_station_points_grid_mod::ip_station_points_grid::gdswzd</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for IP Station Point grids. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__station__points__grid__mod_8F90_source.html#l00026">26</a> of file <a class="el" href="ip__station__points__grid__mod_8F90_source.html">ip_station_points_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1f3fa40acb8c2ae4a65c00db21872d7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f3fa40acb8c2ae4a65c00db21872d7c">&#9670;&nbsp;</a></span>init()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">generic ip_grid_mod::ip_grid::init</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Init subprogram. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00084">84</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="aa5ec2cbc9bf0dadf20a226e0afeb3d32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa5ec2cbc9bf0dadf20a226e0afeb3d32">&#9670;&nbsp;</a></span>init_grib1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_station_points_grid_mod::ip_station_points_grid::init_grib1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib1_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__station__points__grid__mod_8F90_source.html#l00021">21</a> of file <a class="el" href="ip__station__points__grid__mod_8F90_source.html">ip_station_points_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a69fac68e7a40d5c3106a47bf1851891e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a69fac68e7a40d5c3106a47bf1851891e">&#9670;&nbsp;</a></span>init_grib2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">procedure ip_station_points_grid_mod::ip_station_points_grid::init_grib2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Initializes a gaussian grid given a grib2_descriptor object. </p>
+<dl class="section return"><dt>Returns</dt><dd>N/A </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__station__points__grid__mod_8F90_source.html#l00023">23</a> of file <a class="el" href="ip__station__points__grid__mod_8F90_source.html">ip_station_points_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a4a2a0dab09f05931d12615b0ac74bc51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a2a0dab09f05931d12615b0ac74bc51">&#9670;&nbsp;</a></span>descriptor</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">class(<a class="el" href="structip__grid__descriptor__mod_1_1ip__grid__descriptor.html">ip_grid_descriptor</a>), allocatable ip_grid_mod::ip_grid::descriptor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Descriptor. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00053">53</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a180a5da6c470fac34b8439d4c0a32d2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a180a5da6c470fac34b8439d4c0a32d2a">&#9670;&nbsp;</a></span>eccen_squared</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::eccen_squared</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Eccentricity of the Earth squared (e^2). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00072">72</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a546a9c3bb8e93ec8e8f7eaf2a14537dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a546a9c3bb8e93ec8e8f7eaf2a14537dc">&#9670;&nbsp;</a></span>im</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::im</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of x points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00055">55</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae179622b9a4c764a5ca90385330941ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae179622b9a4c764a5ca90385330941ed">&#9670;&nbsp;</a></span>iwrap</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::iwrap</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>x wraparound increment (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00068">68</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a41a2a38288864520d8c50854d1843f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a2a38288864520d8c50854d1843f87">&#9670;&nbsp;</a></span>jm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Number of y points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00056">56</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a92976f110dd7e823799991137ac970a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a92976f110dd7e823799991137ac970a1">&#9670;&nbsp;</a></span>jwrap1</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap1</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound lower pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00069">69</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="ae70be8cebcd217a49be4da1cebfc19d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae70be8cebcd217a49be4da1cebfc19d2">&#9670;&nbsp;</a></span>jwrap2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::jwrap2</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>y wraparound upper pivot point (0 if no wraparound). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00070">70</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a084603b1c052e76c3335fea2e887cfce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a084603b1c052e76c3335fea2e887cfce">&#9670;&nbsp;</a></span>kscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::kscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00064">64</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2ae87fb4e6bdcb75fc6fdc80ad73ee30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ae87fb4e6bdcb75fc6fdc80ad73ee30">&#9670;&nbsp;</a></span>nm</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nm</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Total number of points. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00057">57</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a1a15aa48354dbbd0b8debafbfc6e7b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a15aa48354dbbd0b8debafbfc6e7b18">&#9670;&nbsp;</a></span>nscan</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Scanning</td><td>mode.<ul>
+<li>0 if x first then y;</li>
+<li>1 if y first then x;</li>
+<li>3 if staggered diagonal like projection 203. </li>
+</ul>
+</td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00063">63</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a0640093c52461763f904cc2f12c96b6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0640093c52461763f904cc2f12c96b6c">&#9670;&nbsp;</a></span>nscan_field_pos</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer ip_grid_mod::ip_grid::nscan_field_pos</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>nscan for field_pos routine. </p>
+<p>Can be different than nscan due to differences in grib/grib2. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00066">66</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<a id="a2bb4d4ec2455c3148313bf7cc54e1cc8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bb4d4ec2455c3148313bf7cc54e1cc8">&#9670;&nbsp;</a></span>rerth</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">real ip_grid_mod::ip_grid::rerth</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Radius of the Earth. </p>
+
+<p class="definition">Definition at line <a class="el" href="ip__grid__mod_8F90_source.html#l00071">71</a> of file <a class="el" href="ip__grid__mod_8F90_source.html">ip_grid_mod.F90</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this type was generated from the following file:<ul>
+<li><a class="el" href="ip__station__points__grid__mod_8F90_source.html">ip_station_points_grid_mod.F90</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="namespaceip__station__points__grid__mod.html">ip_station_points_grid_mod</a></li><li class="navelem"><a class="el" href="structip__station__points__grid__mod_1_1ip__station__points__grid.html">ip_station_points_grid</a></li>
+    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.js b/ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.js
new file mode 100644
index 00000000..f8d6a0a4
--- /dev/null
+++ b/ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.js
@@ -0,0 +1,20 @@
+var structip__station__points__grid__mod_1_1ip__station__points__grid =
+[
+    [ "field_pos", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#ac071b3d3eca9a5fa88ff5dc211d19179", null ],
+    [ "gdswzd", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a9fff8b24553d11177b8c1ee38bfbd91f", null ],
+    [ "init", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a1f3fa40acb8c2ae4a65c00db21872d7c", null ],
+    [ "init_grib1", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#aa5ec2cbc9bf0dadf20a226e0afeb3d32", null ],
+    [ "init_grib2", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a69fac68e7a40d5c3106a47bf1851891e", null ],
+    [ "descriptor", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a4a2a0dab09f05931d12615b0ac74bc51", null ],
+    [ "eccen_squared", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a180a5da6c470fac34b8439d4c0a32d2a", null ],
+    [ "im", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a546a9c3bb8e93ec8e8f7eaf2a14537dc", null ],
+    [ "iwrap", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#ae179622b9a4c764a5ca90385330941ed", null ],
+    [ "jm", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a41a2a38288864520d8c50854d1843f87", null ],
+    [ "jwrap1", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a92976f110dd7e823799991137ac970a1", null ],
+    [ "jwrap2", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#ae70be8cebcd217a49be4da1cebfc19d2", null ],
+    [ "kscan", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a084603b1c052e76c3335fea2e887cfce", null ],
+    [ "nm", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a2ae87fb4e6bdcb75fc6fdc80ad73ee30", null ],
+    [ "nscan", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a1a15aa48354dbbd0b8debafbfc6e7b18", null ],
+    [ "nscan_field_pos", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a0640093c52461763f904cc2f12c96b6c", null ],
+    [ "rerth", "structip__station__points__grid__mod_1_1ip__station__points__grid.html#a2bb4d4ec2455c3148313bf7cc54e1cc8", null ]
+];
\ No newline at end of file
diff --git a/ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.png b/ver-4.4.0/structip__station__points__grid__mod_1_1ip__station__points__grid.png
new file mode 100644
index 0000000000000000000000000000000000000000..2419f86307327b8139cef09c3368c688cece859f
GIT binary patch
literal 825
zcmeAS@N?(olHy`uVBq!ia0y~yU{nFJ12~w0Wc%YEdx4ZhfKQ0)|NsAi%olIImi8Z-
z0AzvjfddCvJMYK?xf~@ye!&btMIdnXREQA+1Jeml7srqa#<z1{Pui>?z&hJG^xpr8
z_LD0Z^?TBK-(4%;_C|uGePKCM{YlI8$;IbxPf$JSaY<~NiYFs7zCUG(N@n-I&6a7e
z{#I&u{+hB|J9D{;XV;I}lXk6{95l1~dWG5i`RjlGHtVVDt+#!bAF3+Lq3W6bDcAGx
zq0{V#FE6xQTP0%pHO#rZZPF6spH-@7!@@SbkXi5geq+F-5;d4z-`{v%UAI{`^Odcb
z*Q9e#mR(-E-0rTM^V64MF}s~TFU_n8zVyof!Q-WKB)lf|6?86HXELw;we|4}nx494
zEt8hy7v!qGov7%U4VM3q>N)Al_l+u^TpN(^3zesHHlMV7?#oao$<M&Np;wi0OQlT?
z=Ymck<E6|^AqQ@6CXS6t4GchPg9>%2hIkFlrBi&oG;^Jq3>cy#gd7@F8CjrI&m^-L
z-~QeCziYzQGpxBZuT1X2y*G=zZix#gw92l3Ggmg@r0dP8Q?JzO$Jdwzef{{R)-=tz
z{n~}=_Al<QcK(+CedDTBzN;Vjg1_FI9jm%>)y?w7^;<HoIEyn2PYD;?G=HB&#1f0H
zDDL9;vQkxD?j5hzE}O+W_xbJ<j2@=l3b%vr%)YyAN!;t*e)fLJVLz68?lRfkwj|B*
zy<c+b9nDGW&b+&9yOM8z*s-<owOegXo~>57J3Y2wSMT!!8&><JyVM$-J>Q=hyZZU@
zh&S4&*ZFUMv`cq)<Sd5cmY*J}PG-3L_4Au)ljcb${@>4%VaU_VHvO?!^7nJ){$=JN
xm(D$9)Y)OUJHq5ZeIFt`fWhLR4h^nP{MO&>j1S8m=>ev522WQ%mvv4FO#mtjVx0g0

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/sync_off.png b/ver-4.4.0/sync_off.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc
GIT binary patch
literal 853
zcmV-b1FHOqP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0009VNkl<ZcmeI*
zOK4PA7{KxW<S|JmGnqI|rb(KahDirA+8B+gVk8A)%pe9yF;+3L5iKZG7xuBS&@L(k
z33MTXOIxMHjirbWgs8M;qhM?(_-v^nS(KzU#%Ih_`hB-^XYSm&39)2*I6vmhow@fr
z=iKj{vvuv-e;!~uA+biR6pf-n<cdGVuox5<#BBg4c>oT|#XixUYy%lpuf3i8{fX!o
zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh
zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V
zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py;
zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK
zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh
zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO<q-Bsh$IuZaopT|9E
z-75alp&U9s%(|8uI^NA(#AD;nc=%{ivdZX(QFJ7~-yf%_Adjk`W@NhjJTyZ8*;|!n
z9=K#TJuZz+={YZ#>8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK&
z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sT<tBHx6XfOFDx2(ijpMiR>xLGlJY5nc&Re
zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y
zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb
zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E
f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j*

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/sync_on.png b/ver-4.4.0/sync_on.png
new file mode 100644
index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76
GIT binary patch
literal 845
zcmV-T1G4;yP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0009NNkl<ZcmeI*
zUr1D09KiAKIOC-Ar)j4&EoU~y1|7@QCTmeCsMH~fFw#|0OWK8m>Y;xxyHF2B5Wzm|
zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I<ojWskx{8*sm){4kXJ+p2oO6HY
zoL5W7@h*VL_(ZL!7GaSmtl}SWU-XD;q7T4~4ZuW>_))aP?*T)ow&n59{}X4$3Goat
zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F<o_Z}1zllSWC8!Z+rkFN>={P0Y^?$4t
z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K
zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ
z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT
zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m
zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M
z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu
zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU#
z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+
z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a
z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$M<u9&-IHqnYs=DL+lbi3lG2ysF!p!_2H=p
zj-g89hmThki^;JHknVE4V`@zS$(ZbTd?1=dsrXLRiJbUBq7weAmVjEk@rP>j4Uq05
X8=0q~qBNan00000NkvXXu0mjfptF>5

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/tab_a.png b/ver-4.4.0/tab_a.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247
GIT binary patch
literal 142
zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD#
z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD
r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/tab_b.png b/ver-4.4.0/tab_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18
GIT binary patch
literal 169
zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr
z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn<f<Rf3mJ=+uzfrOMlc%s`x4TZtnrR|B~W{
zyZP0m7vvtXV80W5^J2vvp97)4WrPK1-P<H^B$Ll|TGvzm;+92|BpdT89$b1Qf7x5g
UZ&RH}7SL`6Pgg&ebxsLQ0A}n&iU0rr

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/tab_h.png b/ver-4.4.0/tab_h.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd5cb705488e60fcf30f56fcc951dee74f3b095b
GIT binary patch
literal 177
zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QWc&qjv*C{Z}0jF9dr<AdpNI7
zaOs_6=O($9b?lc?Qk=SJVv5%FA{O^TY1^*qJ@<p}E}!uH_1eoPJ&tpVl={bg{Skd2
zp1FO|;|R90%G3WYZM5AU=A4%H?3qaQhHt%H9G|xYJ)ff*|MmI*zD3`*Z|LP?7d&26
cn!ZiLK0QM$CeyB_80ZEDPgg&ebxsLQ0C?O;!~g&Q

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/tab_s.png b/ver-4.4.0/tab_s.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab478c95b67371d700a20869f7de1ddd73522d50
GIT binary patch
literal 184
zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QuUrLjv*C{Z|^p8HaRdjTwH7)
zC?wLlL}}I{)n%R&r+1}IGmDnq;&J#%V6)9VsYhS`O^BVBQlxOUep0c$RENLq#g8A$
z)z7%K_bI&n@J+X_=x}fJoEKed-$<>=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan
kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^

literal 0
HcmV?d00001

diff --git a/ver-4.4.0/tabs.css b/ver-4.4.0/tabs.css
new file mode 100644
index 00000000..85a0cd5b
--- /dev/null
+++ b/ver-4.4.0/tabs.css
@@ -0,0 +1 @@
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file